3b
3b
`shader-vao` example exits with `No display callback registered for window 1` error freeglut requires setting a callback with `glutDisplayFunc` before running main loop, so figure out if that should be...
on all platforms: error checking problem in #10 on windows: extension function pointers are context specific, so technically it should be storing a table of function pointers per context. In...
error checking code closes over a flag used to track when it is in a begin/end pair, but it should be storing the flag per context...
opticl and some other libs load images as 2/3d arrays (h,w,channels), so allow passing those directly to cl-opengl as texture data.
opengl treats first image data as starting with bottom row, but most image formats/libs start with top row. Flipping shouldn't add much cost since it is doing a copy to...
need to either switch `ptrdiff-t` back to (incorrect) unsigned type, or add `uintptr` or similar and use that. Possible other option is to use `:pointer` as base type, but that...
- [ ] translate official GL docs into some easier format (or figure out docbook), updating types with lisp types from `%GL:` bindings if possible - [ ] add versions...
OSX requires GL/GLUT stuff to be done from initial thread. CCL uses first thread internally by default, so need to rearrange threads there. SBCL should work if cl-opengl is loaded...
Freeglut: ``` C glutInitContextVersion(3,2); glutInitContextProfile(GLUT_CORE_PROFILE); ``` OSX 10.9?: ``` C glutInitDisplayMode(... | GLUT_3_2_CORE_PROFILE); ``` Not sure if there is any easy way to hide the differences.
for example running `(cl-glut-examples:misc-opengl-array)` prints a bunch of warnings like ``` STYLE-WARNING: bare references to struct types are deprecated. Please use (:POINTER (:STRUCT CL-GLUT-EXAMPLES::POSITION-COLOR)) or (:STRUCT CL-GLUT-EXAMPLES::POSITION-COLOR) instead. ```