Module mallumo_gls::raw
[−]
[src]
Raw module wraps C OpenGL functions for convenience, it does following things:
- OpenGL enums, which are integers, are wrapped in Rusts enums
avoiding
GL_INVALID_ENUM
errors - Hides C pointers and returns only safe Rust types as results. For example
get_program_log
returns String,create_buffer
does not take anything and returns newtypeBufferId
Not all of OpenGL functions are wrapped, only those that were picked as suitable for modern programming. More specifically they are limited to OpenGL 4.5 Core version + few extensions beyond 4.5. Futhermore they are also limited by techniques which should be preferred nowadays for performance reasons:
- only Direct State Access functions
- no Vertex Array Object, you should use Full Vertex Pulling instead (see OpenGL Insights)
- only bindless textures
Collection of functions was inspired by this list
Structs
Enums
BindBufferTarget | |
BlendingEquation |
Equation that the GPU will use for blending. |
BufferBaseTarget | |
BufferData | |
BufferMap | |
BufferMutability | |
ClearBuffers | |
DepthMask | |
DepthTest | |
DrawMode | |
EnableOption | |
Face | |
FaceOrientation | |
FramebufferAttachment | |
FramebufferCompleteness | |
FramebufferDrawBuffer | |
FramebufferParameter | |
FramebufferTarget | |
GetParameterName | |
ImageAccess | |
ImageInternalFormat | |
LinearBlendingFactor |
Indicates which value to multiply each component with. |
LogicOperation |
Bitwise operation between incoming pixel S and framebuffer pixel D |
PipelineShaderStage | |
ShaderParameter | |
ShaderProgramParameter | |
ShaderType | |
StencilTest | |
SyncFlushCommands | |
SyncStatus | |
TextureBufferInternalFormat | |
TextureDataType | |
TextureFormat | |
TextureInternalFormat | |
TextureMipmapFilter | |
TextureParameterOption | |
TextureSeamless | |
TextureTarget | |
TextureTexelFilter | |
TextureWrapMode |