An enum of the possible frame buffer attachment points.
An enum of the blending functions.
An enum of the renderer capabilities.
Represents an OpenGL context. Creating context must be done before any other OpenGL object.
Represents a resource that can be created and destroyed.
Represents an attribute data type.
Represents the different drawing modes for the vertex array
An enum for the texture filtering modes.
An enum of texture component formats.
Represents an OpenGL frame buffer. A frame buffer can be bound before rendering to redirect the output to textures instead of the screen. This is meant for advanced rendering techniques such as shadow mapping and screen space ambient occlusion (SSAO).
An exception throw when a GL exception occurs.
An enum of the existing OpenGL versions. Use this class to generate rendering objects compatible with the version.
An enum of sized texture component formats.
Represents the different polygon modes for the vertex array
Represents an OpenGL program. A program holds the necessary shaders for the rendering pipeline. When using GL20, it is strongly recommended to set the attribute layout in the {@link org.spout.renderer.api.gl.Shader}s with {@link org.spout.renderer.api.gl.Shader#setAttributeLayout(String, int)}}, which must be done before attaching it. The layout allows for association between the attribute index in the vertex data and the name in the shaders. For GL30, it is recommended to do so in the shaders instead, using the "layout" keyword. Failing to do so might result in partial, wrong or missing rendering, and affects models using multiple attributes. The texture layout should also be setup using {@link Shader#setTextureLayout(int, String)} in the same way.
Represents an OpenGL render buffer. A render buffer can be used as a faster alternative to a texture in a frame buffer when its rendering output doesn't need to be read. The storage format, width and height dimensions need to be set with {@link #setStorage(org.spout.renderer.api.gl.Texture.InternalFormat, int, int)}, before the render buffer can be used.
Represents an OpenGL shader. The shader source and type must be set with {@link #setSource(ShaderSource)}.
Represents the source of a shader. This class can be used to load a source from an input stream, and provides pre-compilation functionality such as parsing shader type, attribute layout and texture layout tokens. These tokens can be used to declare various parameters directly in the shader code instead of in the software code, which simplifies loading.
Represents a shader type.
Represents a texture for OpenGL. Image data and various parameters can be set after creation. Image data should be set last.
The uploading mode. When uploading attribute data to OpenGL, integer data can be either converted to float or not (the later is only possible with version 3.0+). When converting to float, the data can be normalized or not. By default, {@link UploadMode#TO_FLOAT} is used as it provides the best compatibility.
Represent an OpenGL vertex array. The vertex data must be set with {@link #setData(org.spout.renderer.api.data.VertexData)} before it can be created.
Represents a vertex attribute. It has a name, a data type, a size (the number of components) and data.
Represents a vertex data. A vertex is a collection of attributes, most often attached to a point in space. This class is a data structure which groups together collections of primitives to represent a list of vertices.
An enum for the texture wrapping modes.
Throws an exception if OpenGL reports an error.
Represents an object that has an OpenGL version associated to it.