Re: DerelictGL3 and glBegin() access violation.

2018-02-28 Thread Kayomn via Digitalmars-d-learn

On Wednesday, 28 February 2018 at 16:58:38 UTC, Mike Parker wrote:

On Wednesday, 28 February 2018 at 16:47:49 UTC, Kayomn wrote:




Yeah, I knew they were deprecated, just weren't aware Derelict 
doesn't load them. Thanks though, I'd been up and down the 
Derelict docs page and I didn't see anything about this.


Yeah, I decided against documenting the older version as I 
don't encourage people to use it. I understand some people will 
have to, which is why I'll still add bugfixes if necessary, but 
as soon as is reasonable I'm going to kill it.


I was originally was only using them to make sure I could render 
something. When they weren't working however I was wondering if I 
mis-configured something.


Re: DerelictGL3 and glBegin() access violation.

2018-02-28 Thread Mike Parker via Digitalmars-d-learn

On Wednesday, 28 February 2018 at 16:47:49 UTC, Kayomn wrote:




Yeah, I knew they were deprecated, just weren't aware Derelict 
doesn't load them. Thanks though, I'd been up and down the 
Derelict docs page and I didn't see anything about this.


Yeah, I decided against documenting the older version as I don't 
encourage people to use it. I understand some people will have 
to, which is why I'll still add bugfixes if necessary, but as 
soon as is reasonable I'm going to kill it.


Re: DerelictGL3 and glBegin() access violation.

2018-02-28 Thread Kayomn via Digitalmars-d-learn

On Wednesday, 28 February 2018 at 14:02:48 UTC, Mike Parker wrote:

On Wednesday, 28 February 2018 at 12:02:27 UTC, Kayomn wrote:



import derelict.opengl3.gl3;


Whoa. Just noticed this. That's an older version of DerelictGL3 
you're using there. You should really be using the latest 
version of both DerelictGL3 and DerelictGLFW3. The -alpha 
versions are what I recommend. They're perfectly fine, despite 
the -alpha in the version tag.


But if you want to continue with the old 1.x version of 
DerelictGL3, then you can get access to the deprecated stuff by 
replacing the `gl3` import with `gl` can using `DerelictGL` in 
place of `DerelictGL3`:



import derelict.opengl3.gl;

...

DerelictGL.load();
DerelictGL.reload();


Note that this also loads all of the same stuff as DerelictGL3, 
so you don't need to make use of that anywhere.


Yeah, I knew they were deprecated, just weren't aware Derelict 
doesn't load them. Thanks though, I'd been up and down the 
Derelict docs page and I didn't see anything about this.


Re: DerelictGL3 and glBegin() access violation.

2018-02-28 Thread Mike Parker via Digitalmars-d-learn

On Wednesday, 28 February 2018 at 12:02:27 UTC, Kayomn wrote:



import derelict.opengl3.gl3;


Whoa. Just noticed this. That's an older version of DerelictGL3 
you're using there. You should really be using the latest version 
of both DerelictGL3 and DerelictGLFW3. The -alpha versions are 
what I recommend. They're perfectly fine, despite the -alpha in 
the version tag.


But if you want to continue with the old 1.x version of 
DerelictGL3, then you can get access to the deprecated stuff by 
replacing the `gl3` import with `gl` can using `DerelictGL` in 
place of `DerelictGL3`:



import derelict.opengl3.gl;

...

DerelictGL.load();
DerelictGL.reload();


Note that this also loads all of the same stuff as DerelictGL3, 
so you don't need to make use of that anywhere.





Re: DerelictGL3 and glBegin() access violation.

2018-02-28 Thread Mike Parker via Digitalmars-d-learn

On Wednesday, 28 February 2018 at 12:02:27 UTC, Kayomn wrote:

Is this a DerelictGL3 bug? Am I missing something else that I 
should be initializing? Other things like glClear() seem to be 
working fine.


No, not a bug. glBegin is one of the deprecated OpenGL functions. 
DerelictGL3 these days doesn't attempt to load any of the 
deprecated stuff unless you explicitly tell it to. To do so, you 
need to override the default behavior at compile time. Please see 
the DerelictGL3 documentation for the details:


http://derelictorg.github.io/packages/gl3/


Re: DerelictGL3 and glBegin() access violation.

2018-02-28 Thread Kayomn via Digitalmars-d-learn

On Wednesday, 28 February 2018 at 12:36:37 UTC, bauss wrote:

On Wednesday, 28 February 2018 at 12:02:27 UTC, Kayomn wrote:

[...]


Most likely a library issue. Are you sure that you link to the 
libraries correctly etc.?


I'm using DUB for package management and linking and any library 
loading I'm using I'm remembering to load. This bug seems to be 
happening on both Windows and Linux with the same configuration 
and there's no other topics on it from Google searches that 
appear to be having the same issue.


Re: DerelictGL3 and glBegin() access violation.

2018-02-28 Thread bauss via Digitalmars-d-learn

On Wednesday, 28 February 2018 at 12:02:27 UTC, Kayomn wrote:
Maybe I'm missing something, but whenever I attempt to call 
glBegin() with anything my program immediately encounters an 
access violation.


I've got a very simple setup, with this being my main:

import base.application;

import derelict.opengl3.gl3;
import derelict.glfw3.glfw3;

int main(string[] args) {
DerelictGL3.load();

version (Windows) {
DerelictGLFW3.load(".\\dll\\glfw3.dll");
} else {
DerelictGLFW3.load();
}
return Application(args).run();
}

And I'm remembering to reload after creating the GL context in 
the window class:


public this(int width,int height,string title) {
if (glfwInit()) {
// Hint configuration.
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
glfwWindowHint(GLFW_RESIZABLE,false);
glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);

this.nextTick = Time.getTicks();
this.handle = glfwCreateWindow(
this.width = width,
this.height = height,
toStringz(this.title = title),
null,
null
);

if (this.handle is null) {
// Failure.
			Debug.log("GLFW Error: Failed to create window handle 
instance.");

glfwTerminate();
} else {
import derelict.opengl3.gl3 : DerelictGL3;

// Set positon.
glfwSetWindowPos(this.handle,100,100);
glfwMakeContextCurrent(this.handle);
DerelictGL3.reload();
}
} else {
Debug.log("GLFW Error: Failed to intialize.");
}
}

Is this a DerelictGL3 bug? Am I missing something else that I 
should be initializing? Other things like glClear() seem to be 
working fine.


Most likely a library issue. Are you sure that you link to the 
libraries correctly etc.?


DerelictGL3 and glBegin() access violation.

2018-02-28 Thread Kayomn via Digitalmars-d-learn
Maybe I'm missing something, but whenever I attempt to call 
glBegin() with anything my program immediately encounters an 
access violation.


I've got a very simple setup, with this being my main:

import base.application;

import derelict.opengl3.gl3;
import derelict.glfw3.glfw3;

int main(string[] args) {
DerelictGL3.load();

version (Windows) {
DerelictGLFW3.load(".\\dll\\glfw3.dll");
} else {
DerelictGLFW3.load();
}
return Application(args).run();
}

And I'm remembering to reload after creating the GL context in 
the window class:


public this(int width,int height,string title) {
if (glfwInit()) {
// Hint configuration.
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
glfwWindowHint(GLFW_RESIZABLE,false);
glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);

this.nextTick = Time.getTicks();
this.handle = glfwCreateWindow(
this.width = width,
this.height = height,
toStringz(this.title = title),
null,
null
);

if (this.handle is null) {
// Failure.
			Debug.log("GLFW Error: Failed to create window handle 
instance.");

glfwTerminate();
} else {
import derelict.opengl3.gl3 : DerelictGL3;

// Set positon.
glfwSetWindowPos(this.handle,100,100);
glfwMakeContextCurrent(this.handle);
DerelictGL3.reload();
}
} else {
Debug.log("GLFW Error: Failed to intialize.");
}
}

Is this a DerelictGL3 bug? Am I missing something else that I 
should be initializing? Other things like glClear() seem to be 
working fine.