OpenGL 3.3 core rendering on top of SDL2. Builds on sdl2.obl for the window and context; this bundle is the GL side. Compile with -lib sdl2. Layers, thinnest first: GLWindow (window and context), GL (state), Shader, Mesh, Texture2D, Light, RenderTarget, Material, Frustum, ShadowMap, PointShadow, Overlay, Transform, and Box/Scene. All public, so nothing is capped. Targets the 3.3 core profile, forward-compatible: the highest common denominator across the desktop platforms Objeck ships, since macOS caps at 4.1 core. GLES-only hardware is out of scope by construction. See docs/opengl.md for setup, a minimal program, why the calls are coarse-grained, and how to add one.
Freeable
Something holding a GL object that has to be released. Exists so GLWindow->Own can hold a mixed list. Every class here already declared `method : public : Free()` with exactly this shape, so implementing it costs them nothing -- but note Objeck requires the access to match the interface exactly, and does not accept an INHERITED method as satisfying one.
Operations
Free # virtual
Release whatever GL objects this holds. Must be idempotent -- everything in this bundle nulls its handle, so a second call does nothing.
method : public : virtual : Free() ~ Nil