Darius, I read you message and checked the git repository. I didn't find the answers to a few questions I had by browsing you source, so I'll ask them here. Also, I have some comments.
First questions: Do you support requesting context types, such as OpenGL ES 2.0 versus OpenGL 3.1? Do you support callback stubs for querying extension strings and loading extension functions? Do you provide a curated list of available OpenGL functions and related constants and types? Repeat question above, but for all GL extensions and extension constant and types? Do you support enumerating available exclusive resolution modes and switching between modes after a context has been created? Do you provide a platform independent high resolution timer? Comments: I noticed you are using the Classes unit inside GLPT. Would it be possible to remove this reference? In some situations users might not want to use that unit (which also causes SysUtils to be used) because they desire to implement their own exception base types or other RTL functions or types. You really shouldn't be using Classes for a base library like you're implementing. I noticed you are using the existing Free Pascal GL unit. If you are planning to support OpenGL context types, it might be better to separate OpenGL functions into different curated units. Units that expose only the functionality, plus extensions, of a specific context type. This way users cannot accidentally use functions unsupported by the context they requested. Example: unit GL30; // defines all the functions and types required by OpenGL 3.0 unit GLES20; // defines all the functions and types required by OpenGL ES 2.0, excludes many normal GL functions unit GLES30; // defines all the functions and types required by OpenGL ES 3.0, excludes many normal GL functions Then users can define a macros {$define GL=GLES20} and can switch APIs for either testing or development purposes. The separated units with different functions and types can then easily reveal differences between APIs and also possibly the subtle differences between how they work.
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal