-
Notifications
You must be signed in to change notification settings - Fork 38
Interface update #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
While waiting for the documented changes, I observed the following:
All of these remarks are with respect to how things were when the opengl module was part of the Nimrod compiler and not on its own. I might be offbase here though as you have clearly spent more time on this than me 😉. Nevertheless I solved some of these things crudely in my fork to the point where what I wanted to do initially now works. Some of these solutions can be generalized - if they are the right ones 😁. |
|
I think the reason why I omitted the pointer aliases was because it seems pretty certain that the convention is going away soon. I might put them back in though and maybe deprecate them at a later time. The OpenGL spec does contain array length data in most cases, so I'll add type-safe overloads eventually, but what you need to do now if you have a seq or an array is pass the address of the first element (stuff[0].addr), or some other element if necessary. It seems like a good idea to keep the various subsystems in separate modules, though I'm not sure if they contain all the necessary symbols. Also, I don't think they need access to any opengl symbols, so I think those imports can be omitted. |
|
Thanks for the Thanks for clarifying this. |
|
yeah, of course. lots of types being re-used.. |
All of the OpenGL interface should now be present (symbols for 1 or 2 minor versions were missing before).
Automatic error checking has been added, and is enabled by default. This seems like a reasonable change, but it's possible to omit any additional code by defining NoGlAutoErrorCheck. enableGlAutoErrorCheck(bool) can be used to control this at run time, provided that NoGlAutoErrorCheck hasn't been defined.
I'll be documenting these changes soon.