These are the basic objects used by VVGL for GL rendering.
More...
|
class | VVGL::GLBuffer |
| Representation of a GL resource of some sort- most commonly an OpenGL texture, but can also be other kinds of buffers (render buffers, VBOs, EBOs, FBO, etc). More...
|
|
class | VVGL::GLBufferPool |
| Buffer pools create and manage GL resources which, on deletion, are either destroyed or returned to the pool for re-use. More...
|
|
class | VVGL::GLContext |
| GLContext is an attempt to make a platform/SDK-agnostic representation of an OpenGL context. More...
|
|
class | VVGL::GLCPUToTexCopier |
| Uploads CPU-based GLBuffers (Type_CPU) to textures. More...
|
|
class | VVGL::GLScene |
| Manages drawing in a GLContext, provides a simple interface for orthographic rendering, render-to-texture operations, and loading vert/geo/frag shaders. More...
|
|
class | VVGL::GLTexToCPUCopier |
| Downloads texture-based GLBuffers (Type_Tex) to CPU memory. More...
|
|
class | VVGL::GLTexToTexCopier |
| Copies the contents of one texture-type GLBuffer to another texture-type GLBuffer, capable of basic resizing. More...
|
|
struct | VVGL::GLColor |
| This struct describes an RGBA color. More...
|
|
|
enum | VVGL::GLVersion |
| This enum is used to describe the GL environment of a GL context, which is determined at runtime.
|
|
These are the basic objects used by VVGL for GL rendering.
- VVGL::GLContext is a simple cross-platform wrapper for a GL context. Includes support for shared contexts, which allows GL resources (like buffers, textures, models, etc) to be shared between different OpenGL contexts.
- VVGL::GLScene provides a simplified interface for performing drawing commands. Makes it particularly easy to render-to-texture and set up orthogonal drawing. Every GLScene must be backed by a GLContextRef- each scene can own its own context, or multiple scenes can use the same context.
- VVGL::GLBuffer is a wrapper for an OpenGL buffer of some sort. Most of the GLBuffers you'll encounter will be wrappers for GL textures that contain an image of some sort- but a GLBuffer can also be an FBO/VBO/EBO/etc. When the GLBuffer is released, its underlying GL resources is either deleted or pooled- which is why most of the time you'll probably just work with GLBufferRef and the GL resources will delete themselves.
- VVGL::GLBufferPool creates GLBuffers- it also pools many types of GLBuffers, which offers substantial performance improvements over creating/deleting textures repeatedly. You'll probably create a single global buffer pool when setting up your app's GL environment, but there's no hard limit on the number of pools you can create (different pools for different GL environments in the same app, for example).
- VVGL::GLTexToTexCopier copies the contents of one GLBuffer into another GLBuffer.