Cogs.Core
|
Public Member Functions | |
void | initialize (BuffersGLES30 *buffers, TexturesGLES30 *textures, EffectsGLES30 *effects, RenderTargetsGLES30 *renderTargets, CapabilitiesGLES30 *caps, GLSyncObjects *sync) |
InputAssemblerStateCommon * | getIAState () override |
EffectHandle | getCurrentEffect () override |
IEffects * | getEffects () override |
void | setDefaults () |
void | clearCachedState () final |
Prepare context for external manipulation of graphics device. | |
void | signal (FenceHandle fenceHandle) override |
Insert a fence in the command stream that will signal when all commands before the fence are completed. | |
void | beginRenderPass (const RenderPassInfo &info) override |
Begin a render pass. | |
void | endRenderPass () override |
End a render pass. | |
void | setRenderTarget (const RenderTargetHandle handle, const DepthStencilHandle depthStencilHandle) override |
Sets the current render target and an associated depth stencil target. | |
void | setViewport (const float x, const float y, const float width, const float height) override |
Sets the current viewport to the given location and dimensions. | |
void | setScissor (const int x, const int y, const int width, const int height) override |
Sets the current scissor rectangle. | |
void | clearRenderTarget (const float *color) override |
Clear the currently set render target to the given value (4 component floating point RGBA). | |
void | clearRenderTarget (const float **colors, const int count) override |
Clear the currently set render target, setting the individual render target views to the given values (4 component floating point RGBA). | |
void | clearDepth (const float depth=1.0f) override |
Clear the currently set depth/stencil target to the given depth. | |
void | setDepthStencilState (const DepthStencilStateHandle handle) override |
Set the current depth stencil state. | |
void | setBlendState (const BlendStateHandle handle, const float *constant) override |
Set the current blend state. | |
void | setRasterizerState (const RasterizerStateHandle handle) override |
Set the current rasterizer state. | |
void | setEffect (EffectHandle handle) override |
Set the current effect. | |
EffectHandle | getEffect () |
void | setMatrixVariable (const StringView &name, const float *value) override |
Sets the matrix variable with the given name in the current effect to value. | |
void | setScalarVariable (const StringView &name, const float value) override |
Sets the scalar floating point variable with the given name to the given value. | |
void | setScalarVariable (const StringView &name, int value) override |
Sets the scalar integer variable with the given name to the given value. | |
void | setVector2Variable (const StringView &name, const float *value) override |
Sets the vector variable with the given name to the given two-component value. | |
void | setVector3Variable (const StringView &name, const float *value) override |
Sets the vector variable with the given name to the given three-component value. | |
void | setVector4Variable (const StringView &name, const float *value) override |
Sets the vector variable with the given name to the given four-component value. | |
void | setMatrixVariable (const EffectVariableHandle variableHandle, const float *value) override |
Sets the given matrix variable to value. | |
void | setMatrixVariable (const EffectVariableHandle variableHandle, const float *value, size_t count) override |
Sets the given matrix variable to value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, const float value) override |
Sets the given scalar floating point variable to the given value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, const float *value, size_t count) override |
Sets the given scalar integer point variable to the given value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, int value) override |
Sets the given scalar integer point variable to the given value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, const int *value, size_t count) override |
Sets the given scalar integer point variable to the given value. | |
void | setVector2Variable (const EffectVariableHandle variableHandle, const float *value, size_t count) override |
Sets the given vector variable to the given two-component value. | |
void | setVector3Variable (const EffectVariableHandle variableHandle, const float *value, size_t count) override |
Sets the given vector variable to the given three-component value. | |
void | setVector4Variable (const EffectVariableHandle variableHandle, const float *value, size_t count) override |
Sets the given vector variable to the given four-component value. | |
void | setVector4Variable (const EffectVariableHandle variableHandle, const int *value, size_t count) override |
Sets the given vector variable to the given four-component value. | |
void | setVariable (const EffectVariableHandle index, const uint8_t *data, size_t size) override |
Sets the variable with the given name and size. | |
void | setTexture (const TextureBindingHandle textureBindingHandle, TextureViewHandle textureViewHandle) final |
void | setTexture (const TextureBindingHandle textureBindingHandle, const TextureHandle textureHandle) final |
Sets the texture given to the binding given by textureBindingHandle. | |
void | setSamplerState (const SamplerStateBindingHandle samplerStateBindingHandle, const SamplerStateHandle samplerStateHandle) override |
Sets the sampler state binding given to the given sampler state. | |
void | setConstantBuffer (const ConstantBufferBindingHandle bufferBindingHandle, const BufferHandle bufferHandle, const uint32_t offset, const uint32_t size) override |
Sets a constant buffer to the given constant buffer binding. | |
void | setInputLayout (const InputLayoutHandle inputLayoutHandle) override |
Sets the current input layout. | |
void | setVertexBuffers (const VertexBufferHandle *vertexBufferHandles, const size_t count, const uint32_t *strides, const uint32_t *offsets) override |
Sets the current vertex buffers. | |
void | setVertexBuffers (const VertexBufferHandle *vertexBufferHandles, const size_t numVertexBuffers) override |
Overload provided to support transitioning. | |
void | setIndexBuffer (IndexBufferHandle indexBufferHandle, uint32_t stride, uint32_t offset) override |
Sets the current index buffer. | |
void | setVertexArrayObject (VertexArrayObjectHandle vertexArrayObject) override |
void | draw (PrimitiveType::EPrimitiveType primitiveType, const size_t startVertex, const size_t numVertexes) override |
Draws non-indexed, non-instanced primitives. | |
void | drawIndexed (PrimitiveType::EPrimitiveType primitiveType, const size_t startIndex, const size_t numIndexes, const size_t startVertex=0) override |
Draws indexed, non-instanced primitives. | |
void | drawInstanced (PrimitiveType::EPrimitiveType primitiveType, const size_t startVertex, const size_t numVertexes, const size_t startInstance, const size_t numInstances) override |
Draws non-indexed, instanced primitives. | |
void | drawInstancedIndexed (PrimitiveType::EPrimitiveType primitiveType, const size_t startInstance, const size_t numInstances, const size_t startIndex, const size_t numIndexes) override |
Draws indexed, instanced primitives. | |
void | dispatchCompute (const unsigned int, const unsigned int, const unsigned int) |
Dispatch computing work on the graphics device using the desired thread group count. | |
void | resolveResource (TextureHandle source, TextureHandle destination) override |
Resolves the given source resource target into the given destination texture. | |
void | readDepthBuffer (BufferHandle bufferHandle, int x, int y, int width, int height, Framebuffer::EFrameBuffer framebuffer) override |
Reads data from the current depth target into the given bufferHandle. | |
void | readColorBuffer (BufferHandle bufferHandle, int x, int y, int width, int height, Framebuffer::EFrameBuffer framebuffer) override |
Reads data from the current render target into the given bufferHandle. | |
void * | map (BufferHandle bufferHandle, MapMode::EMapMode mapMode, uint32_t *stride=nullptr) override |
Maps the given buffer so it can be accessed. | |
void * | map (TextureHandle, MapMode::EMapMode, uint32_t *, uint32_t *) override |
Create host mapping of a staging texture. | |
void | unmap (BufferHandle bufferHandle) override |
Unmaps the given buffer, applying any synchronization necessary to reflect changes in the mapped memory. | |
void | unmap (TextureHandle) override |
Release a host mapping of a staging texture. | |
void | updateBuffer (BufferHandle bufferHandle, const void *data, size_t size) override |
Replace contents of buffer with new data. | |
void | updateSubTexture (TextureHandle textureHandle, const size_t level, const void *data) override |
Update the data of a level in the given texture. | |
void | updateSubBuffer (BufferHandle bufferHandle, const size_t offset, const size_t size, const void *data) override |
Update a region of data in a buffer. | |
void | copyTexture (TextureHandle dstHandle, unsigned dstSub, unsigned dstX, unsigned dstY, unsigned dstZ, TextureHandle sourceHandle, unsigned srcSub) override |
void | clearResource (BufferHandle, uint32_t *) override |
void | clearResource (BufferHandle, float *) override |
void | setBuffer (const BufferBindingHandle bufferBindingHandle, BufferHandle bufferHandle) override |
Sets a buffer to bind to the given binding. | |
void | setBufferCounter (BufferHandle bufferHandle, uint32_t value) override |
Set the associated counter of a buffer. | |
void | setBufferCounter (BufferHandle bufferHandle, BufferHandle sourceBufferHandle) override |
Set the associated counter of a buffer. | |
void | getBufferCounter (BufferHandle bufferHandle, BufferHandle destinationBufferHandle) override |
Get the associated counter of a buffer. | |
uint32_t | getBufferCounter (BufferHandle bufferHandle) override |
Get the associated counter of a buffer. | |
void | copyResource (BufferHandle destinationHandle, BufferHandle sourceHandle) override |
void | copyResource (TextureHandle destinationHandle, TextureHandle sourceHandle) override |
void | reset () override |
Resets all state changes made to the GPU since the last call to beginFrame. | |
![]() | |
virtual InputAssemblerStateCommon * | getIAState ()=0 |
virtual EffectHandle | getCurrentEffect ()=0 |
virtual IEffects * | getEffects ()=0 |
const Cogs::FrameStatistics & | getLastFrameStatistics () override |
const Cogs::UploadStatistics & | getLastUploadStatistics () override |
void | frameStatisticsConfigure (bool enable) override |
void | setMatrixVariable (const StringView &name, const float *value) override |
Sets the matrix variable with the given name in the current effect to value. | |
void | setScalarVariable (const StringView &name, const float value) override |
Sets the scalar floating point variable with the given name to the given value. | |
void | setScalarVariable (const StringView &name, int value) override |
Sets the scalar integer variable with the given name to the given value. | |
void | setVector2Variable (const StringView &name, const float *value) override |
Sets the vector variable with the given name to the given two-component value. | |
void | setVector3Variable (const StringView &name, const float *value) override |
Sets the vector variable with the given name to the given three-component value. | |
void | setVector4Variable (const StringView &name, const float *value) override |
Sets the vector variable with the given name to the given four-component value. | |
void | setVariable (const StringView &name, const uint8_t *data, size_t size) |
void | setVariable (const EffectVariableHandle index, const uint8_t *data, size_t size) override |
Sets the variable with the given name and size. | |
void | setMatrixVariable (const EffectVariableHandle variableHandle, const float *value) override |
Sets the given matrix variable to value. | |
void | setMatrixVariable (const EffectVariableHandle variableHandle, const float *value, size_t count) override |
Sets the given matrix variable to value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, const float value) override |
Sets the given scalar floating point variable to the given value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, const float *value, size_t count) override |
Sets the given scalar integer point variable to the given value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, int value) override |
Sets the given scalar integer point variable to the given value. | |
void | setScalarVariable (const EffectVariableHandle variableHandle, const int *value, size_t count) override |
Sets the given scalar integer point variable to the given value. | |
void | setVector2Variable (const EffectVariableHandle variableHandle, const float *value, size_t count=1) override |
Sets the given vector variable to the given two-component value. | |
void | setVector3Variable (const EffectVariableHandle variableHandle, const float *value, size_t count=1) override |
Sets the given vector variable to the given three-component value. | |
void | setVector4Variable (const EffectVariableHandle variableHandle, const float *value, size_t count=1) override |
Sets the given vector variable to the given four-component value. | |
void | setVector4Variable (const EffectVariableHandle variableHandle, const int *value, size_t count=1) override |
Sets the given vector variable to the given four-component value. | |
void | setConstantBuffer (const StringView &name, const BufferHandle bufferHandle, const uint32_t offset, const uint32_t size) final |
Sets a constant buffer to be bound to the given name and slot. | |
void | setBuffer (const StringView &name, BufferHandle bufferHandle) final |
Sets the given buffer to the buffer binding slot with the given name. | |
void | setTexture (const StringView &name, unsigned int unit, TextureHandle textureHandle) final |
Sets the texture slot given by unit with the given name to contain the given texture. | |
void | setTexture (const StringView &name, TextureViewHandle textureViewHandle) final |
void | setSamplerState (const StringView &name, unsigned int unit, SamplerStateHandle handle) final |
Sets the sampler slot given by unit with the given name to contain the given sampler state. | |
void | setVertexArrayObject (VertexArrayObjectHandle vertexArrayObject) override |
virtual void | signal (FenceHandle) override |
Insert a fence in the command stream that will signal when all commands before the fence are completed. | |
void | updateBuffer (BufferHandle bufferHandle, const void *data, size_t size) override |
Replace contents of buffer with new data. | |
void | frameStatisticsBeginFrame () |
virtual void | setConstantBuffer (const StringView &name, const BufferHandle bufferHandle, const uint32_t offset=0, const uint32_t size=~0u)=0 |
Sets a constant buffer to be bound to the given name and slot. | |
virtual void | setConstantBuffer (const ConstantBufferBindingHandle bufferBindingHandle, const BufferHandle bufferHandle, const uint32_t offset=0, const uint32_t size=~0u)=0 |
Sets a constant buffer to the given constant buffer binding. | |
virtual void | setBuffer (const StringView &name, BufferHandle bufferHandle)=0 |
Sets the given buffer to the buffer binding slot with the given name. | |
virtual void | setBuffer (const BufferBindingHandle bufferBindingHandle, BufferHandle bufferHandle)=0 |
Sets a buffer to bind to the given binding. | |
virtual void | setTexture (const StringView &name, unsigned int unit, TextureHandle textureHandle)=0 |
Sets the texture slot given by unit with the given name to contain the given texture. | |
virtual void | setTexture (const TextureBindingHandle textureBindingHandle, const TextureHandle textureHandle)=0 |
Sets the texture given to the binding given by textureBindingHandle. | |
virtual void | setTexture (const StringView &name, TextureViewHandle textureViewHandle)=0 |
virtual void | setTexture (const TextureBindingHandle textureBindingHandle, TextureViewHandle textureViewHandle)=0 |
virtual void | setSamplerState (const StringView &name, unsigned int unit, SamplerStateHandle samplerStateHandle)=0 |
Sets the sampler slot given by unit with the given name to contain the given sampler state. | |
virtual void | setSamplerState (const SamplerStateBindingHandle samplerStateBindingHandle, const SamplerStateHandle samplerStateHandle)=0 |
Sets the sampler state binding given to the given sampler state. | |
![]() | |
virtual const Cogs::FrameStatistics & | getLastFrameStatistics ()=0 |
virtual const Cogs::UploadStatistics & | getLastUploadStatistics ()=0 |
virtual void | frameStatisticsConfigure (bool enable)=0 |
virtual void | clearCachedState () |
Prepare context for external manipulation of graphics device. | |
virtual void | pushCommandGroupAnnotation (const StringView &name) |
Begin to tag a sequence of commands as a group in graphics debugger. | |
virtual void | popCommandGroupAnnotation () |
End to tag a sequence of commands as a group in graphics debugger. | |
virtual void | setAnnotationMarker (const StringView &name) |
Add a tag in the sequence of commands in graphics debugger. | |
virtual void | beginRenderPass (const RenderPassInfo &info)=0 |
Begin a render pass. | |
virtual void | endRenderPass ()=0 |
End a render pass. | |
virtual void | setRenderTarget (const RenderTargetHandle handle, const DepthStencilHandle depthStencilHandle)=0 |
Sets the current render target and an associated depth stencil target. | |
virtual void | setViewport (const float x, const float y, const float width, const float height)=0 |
Sets the current viewport to the given location and dimensions. | |
virtual void | setScissor (const int x, const int y, const int width, const int height)=0 |
Sets the current scissor rectangle. | |
virtual void | clearRenderTarget (const float *value)=0 |
Clear the currently set render target to the given value (4 component floating point RGBA). | |
virtual void | clearRenderTarget (const float **values, const int numvalues)=0 |
Clear the currently set render target, setting the individual render target views to the given values (4 component floating point RGBA). | |
virtual void | clearDepth (const float depth=1.0f)=0 |
Clear the currently set depth/stencil target to the given depth. | |
virtual void | setDepthStencilState (const DepthStencilStateHandle handle)=0 |
Set the current depth stencil state. | |
virtual void | setBlendState (const BlendStateHandle handle, const float *constant=nullptr)=0 |
Set the current blend state. | |
virtual void | setRasterizerState (const RasterizerStateHandle handle)=0 |
Set the current rasterizer state. | |
virtual void | setEffect (EffectHandle handle)=0 |
Set the current effect. | |
virtual void | setMatrixVariable (const StringView &name, const float *value)=0 |
Sets the matrix variable with the given name in the current effect to value. | |
virtual void | setScalarVariable (const StringView &name, const float value)=0 |
Sets the scalar floating point variable with the given name to the given value. | |
virtual void | setScalarVariable (const StringView &name, int value)=0 |
Sets the scalar integer variable with the given name to the given value. | |
virtual void | setVector2Variable (const StringView &name, const float *value)=0 |
Sets the vector variable with the given name to the given two-component value. | |
virtual void | setVector3Variable (const StringView &name, const float *value)=0 |
Sets the vector variable with the given name to the given three-component value. | |
virtual void | setVector4Variable (const StringView &name, const float *value)=0 |
Sets the vector variable with the given name to the given four-component value. | |
virtual void | setVariable (const EffectVariableHandle index, const uint8_t *data, size_t size)=0 |
Sets the variable with the given name and size. | |
virtual void | setMatrixVariable (const EffectVariableHandle variableHandle, const float *value)=0 |
Sets the given matrix variable to value. | |
virtual void | setMatrixVariable (const EffectVariableHandle variableHandle, const float *value, size_t count)=0 |
Sets the given matrix variable to value. | |
virtual void | setScalarVariable (const EffectVariableHandle variableHandle, const float value)=0 |
Sets the given scalar floating point variable to the given value. | |
virtual void | setScalarVariable (const EffectVariableHandle variableHandle, const float *value, size_t count)=0 |
Sets the given scalar integer point variable to the given value. | |
virtual void | setScalarVariable (const EffectVariableHandle variableHandle, int value)=0 |
Sets the given scalar integer point variable to the given value. | |
virtual void | setScalarVariable (const EffectVariableHandle variableHandle, const int *value, size_t count)=0 |
Sets the given scalar integer point variable to the given value. | |
virtual void | setVector2Variable (const EffectVariableHandle variableHandle, const float *value, size_t count=1)=0 |
Sets the given vector variable to the given two-component value. | |
virtual void | setVector3Variable (const EffectVariableHandle variableHandle, const float *value, size_t count=1)=0 |
Sets the given vector variable to the given three-component value. | |
virtual void | setVector4Variable (const EffectVariableHandle variableHandle, const float *value, size_t count=1)=0 |
Sets the given vector variable to the given four-component value. | |
virtual void | setVector4Variable (const EffectVariableHandle variableHandle, const int *value, size_t count=1)=0 |
Sets the given vector variable to the given four-component value. | |
virtual void | setTexture (const StringView &name, unsigned int unit, TextureHandle textureHandle)=0 |
Sets the texture slot given by unit with the given name to contain the given texture. | |
virtual void | setTexture (const TextureBindingHandle textureBindingHandle, const TextureHandle textureHandle)=0 |
Sets the texture given to the binding given by textureBindingHandle. | |
virtual void | setTexture (const StringView &name, TextureViewHandle textureViewHandle)=0 |
virtual void | setTexture (const TextureBindingHandle textureBindingHandle, TextureViewHandle textureViewHandle)=0 |
virtual void | setSamplerState (const StringView &name, unsigned int unit, SamplerStateHandle samplerStateHandle)=0 |
Sets the sampler slot given by unit with the given name to contain the given sampler state. | |
virtual void | setSamplerState (const SamplerStateBindingHandle samplerStateBindingHandle, const SamplerStateHandle samplerStateHandle)=0 |
Sets the sampler state binding given to the given sampler state. | |
virtual void | setInputLayout (const InputLayoutHandle inputLayoutHandle)=0 |
Sets the current input layout. | |
virtual void | setVertexBuffers (const VertexBufferHandle *vertexBufferHandles, const size_t count, const uint32_t *strides, const uint32_t *offsets)=0 |
Sets the current vertex buffers. | |
virtual void | setVertexBuffers (const VertexBufferHandle *vertexBufferHandles, const size_t count)=0 |
Overload provided to support transitioning. | |
virtual void | setIndexBuffer (IndexBufferHandle bufferHandle, uint32_t stride=4, uint32_t offset=0)=0 |
Sets the current index buffer. | |
virtual void | setVertexArrayObject (VertexArrayObjectHandle vertexArrayObject)=0 |
Sets vertexBuffers and index buffers using a prevalidated vertex array object. | |
virtual void | setConstantBuffer (const StringView &name, const BufferHandle bufferHandle, const uint32_t offset=0, const uint32_t size=~0u)=0 |
Sets a constant buffer to be bound to the given name and slot. | |
virtual void | setConstantBuffer (const ConstantBufferBindingHandle bufferBindingHandle, const BufferHandle bufferHandle, const uint32_t offset=0, const uint32_t size=~0u)=0 |
Sets a constant buffer to the given constant buffer binding. | |
virtual void | setBuffer (const StringView &name, BufferHandle bufferHandle)=0 |
Sets the given buffer to the buffer binding slot with the given name. | |
virtual void | setBuffer (const BufferBindingHandle bufferBindingHandle, BufferHandle bufferHandle)=0 |
Sets a buffer to bind to the given binding. | |
virtual void | setBufferCounter (BufferHandle bufferHandle, uint32_t value)=0 |
Set the associated counter of a buffer. | |
virtual void | setBufferCounter (BufferHandle bufferHandle, BufferHandle sourceBufferHandle)=0 |
Set the associated counter of a buffer. | |
virtual void | getBufferCounter (BufferHandle bufferHandle, BufferHandle destinationBufferHandle)=0 |
Get the associated counter of a buffer. | |
virtual uint32_t | getBufferCounter (BufferHandle bufferHandle)=0 |
Get the associated counter of a buffer. | |
virtual void | draw (PrimitiveType::EPrimitiveType primitiveType, const size_t startVertex, const size_t numVertexes)=0 |
Draws non-indexed, non-instanced primitives. | |
virtual void | drawIndexed (PrimitiveType::EPrimitiveType primitiveType, const size_t startIndex, const size_t numIndexes, const size_t startVertex=0)=0 |
Draws indexed, non-instanced primitives. | |
virtual void | drawInstanced (PrimitiveType::EPrimitiveType primitiveType, const size_t startVertex, const size_t numVertexes, const size_t startInstance, const size_t numInstances)=0 |
Draws non-indexed, instanced primitives. | |
virtual void | drawInstancedIndexed (PrimitiveType::EPrimitiveType primitiveType, const size_t startInstance, const size_t numInstances, const size_t startIndex, const size_t numIndexes)=0 |
Draws indexed, instanced primitives. | |
virtual void | dispatchCompute (const unsigned int threadGroupsX, const unsigned int threadGroupsY, const unsigned int threadGroupsZ)=0 |
Dispatch computing work on the graphics device using the desired thread group count. | |
virtual void | resolveResource (TextureHandle source, TextureHandle destination)=0 |
Resolves the given source resource target into the given destination texture. | |
virtual void | readDepthBuffer (BufferHandle bufferHandle, int x, int y, int width, int height, Framebuffer::EFrameBuffer framebuffer)=0 |
Reads data from the current depth target into the given bufferHandle. | |
virtual void | readColorBuffer (BufferHandle bufferHandle, int x, int y, int width, int height, Framebuffer::EFrameBuffer framebuffer)=0 |
Reads data from the current render target into the given bufferHandle. | |
virtual void * | map (BufferHandle bufferHandle, MapMode::EMapMode mapMode, uint32_t *stride=nullptr)=0 |
Maps the given buffer so it can be accessed. | |
virtual void | unmap (BufferHandle bufferHandle)=0 |
Unmaps the given buffer, applying any synchronization necessary to reflect changes in the mapped memory. | |
virtual void | updateBuffer (BufferHandle bufferHandle, const void *data, size_t size)=0 |
Replace contents of buffer with new data. | |
virtual void * | map (TextureHandle textureHandle, MapMode::EMapMode accessMode, uint32_t *rowPitch, uint32_t *depthPitch)=0 |
Create host mapping of a staging texture. | |
virtual void | unmap (TextureHandle textureHandle)=0 |
Release a host mapping of a staging texture. | |
virtual void | signal (FenceHandle fenceHandle)=0 |
Insert a fence in the command stream that will signal when all commands before the fence are completed. | |
virtual void | updateSubTexture (TextureHandle textureHandle, const size_t level, const void *data)=0 |
Update the data of a level in the given texture. | |
virtual void | updateSubBuffer (BufferHandle bufferHandle, const size_t offset, const size_t size, const void *data)=0 |
Update a region of data in a buffer. | |
virtual void | copyResource (BufferHandle destinationHandle, BufferHandle sourceHandle)=0 |
virtual void | copyResource (TextureHandle destinationHandle, TextureHandle sourceHandle)=0 |
virtual void | copyTexture (TextureHandle dstHandle, unsigned dstSub, unsigned dstX, unsigned dstY, unsigned dstZ, TextureHandle sourceHandle, unsigned srcSub)=0 |
virtual void | clearResource (BufferHandle destinationHandle, uint32_t *Values)=0 |
virtual void | clearResource (BufferHandle destinationHandle, float *Values)=0 |
virtual void | reset () |
Resets all state changes made to the GPU since the last call to beginFrame. | |
Protected Member Functions | |
TextureGLES30 * | bindTexture (TextureHandle texture, GLuint unit=GLuint(~0u)) |
GLenum | bindBuffer (OpenGLES30::BufferTarget target, GLuint buffer) |
GLenum | bindBufferCopy (OpenGLES30::BufferTarget target, BufferGLES30 &buffer) |
void | unbindBuffer (GLuint buffer) |
void | unbindVAO () |
![]() | |
void | setCurrentEffect (Effect *currentEffect) |
void | updateConstantBuffers () |
void | frameStatisticsAccountDrawCall (size_t count, bool indexed) |
void | uploadStatisticsBufferUpload (size_t size) |
void | uploadStatisticsTextureUpload (size_t size) |
Private Member Functions | |
void | setupVertexAttributes (size_t baseVertex) |
bool | setupState () |
bool | setupDraw (size_t baseVertex) |
bool | setupIndexedDraw (GLenum &indexType, GLsizei &indexCount, const GLvoid *&indexOffset, const size_t startIndex, const size_t numIndices, const size_t baseVertex) |
Friends | |
struct | TexturesGLES30 |
struct | BuffersGLES30 |
Additional Inherited Members | |
![]() | |
FrameStatistics | prevStats {} |
FrameStatistics | currStats {} |
UploadStatistics | prevUploadStats {} |
UploadStatistics | currUploadStats {} |
struct Cogs::ContextCommon::TrackedState | state |
Effect * | effect = nullptr |
bool | constantBuffersUpdated = true |
bool | frameStatisticsEnabled = false |
bool | uploadStatisticsEnabled = true |
Definition at line 31 of file ContextGLES30.h.
|
overridevirtual |
Begin a render pass.
Render passes encapsulate binding render targets, multisample resolve and load and store operations.
While in a render pass do NOT use setRenderTarget(), clearRenderTarget(), clearDepth().
Check GraphicsDeviceCapabilities::RenderPass for support.
Implements Cogs::IContext.
Definition at line 589 of file ContextGLES30.cpp.
References Cogs::Handle_t< RenderTargetTag >::InvalidHandle, and Cogs::Handle_t< DepthStencilTag >::InvalidHandle.
|
protected |
Definition at line 218 of file ContextGLES30.cpp.
|
inlineprotected |
Definition at line 173 of file ContextGLES30.h.
|
protected |
Definition at line 788 of file ContextGLES30.cpp.
|
finalvirtual |
Prepare context for external manipulation of graphics device.
Primarily relevant in WebGL to allow javascript to do GL calls without interfering with context's cached state.
Reimplemented from Cogs::IContext.
Definition at line 1189 of file ContextGLES30.cpp.
References Cogs::Handle_t< TextureTag >::NoHandle, Cogs::Handle_t< SamplerTag >::NoHandle, Cogs::Handle_t< VertexArrayObjectTag >::NoHandle, Cogs::Handle_t< BufferTag, BufferHandle >::NoHandle, and Cogs::Handle_t< EffectTag >::NoHandle.
|
overridevirtual |
Clear the currently set depth/stencil target to the given depth.
Implements Cogs::IContext.
Definition at line 722 of file ContextGLES30.cpp.
|
overridevirtual |
Clear the currently set render target, setting the individual render target views to the given values (4 component floating point RGBA).
Implements Cogs::IContext.
Definition at line 679 of file ContextGLES30.cpp.
|
overridevirtual |
Clear the currently set render target to the given value (4 component floating point RGBA).
If the render target has less than 4 components, only the first n components need to be intended values.
Implements Cogs::IContext.
Definition at line 667 of file ContextGLES30.cpp.
|
inlineoverridevirtual |
Implements Cogs::IContext.
Definition at line 140 of file ContextGLES30.h.
|
inlineoverridevirtual |
Implements Cogs::IContext.
Definition at line 139 of file ContextGLES30.h.
|
overridevirtual |
Implements Cogs::IContext.
Definition at line 1530 of file ContextGLES30.cpp.
|
overridevirtual |
Implements Cogs::IContext.
Definition at line 1554 of file ContextGLES30.cpp.
|
overridevirtual |
Implements Cogs::IContext.
Definition at line 1399 of file ContextGLES30.cpp.
|
inlinevirtual |
Dispatch computing work on the graphics device using the desired thread group count.
threadGroupsX | Number of work groups spawned in the X dimension. |
threadGroupsY | Number of work groups spawned in the Y dimension. |
threadGroupsZ | Number of work groups spawned in the Z dimension. |
Implements Cogs::IContext.
Definition at line 115 of file ContextGLES30.h.
|
overridevirtual |
Draws non-indexed, non-instanced primitives.
primitiveType | Primitive type to assemble from the bound vertex buffers. |
startVertex | Index of the first vertex in the bound vertex buffers to start at when drawing. |
numVertexes | Number of vertexes to draw. |
Implements Cogs::IContext.
Definition at line 495 of file ContextGLES30.cpp.
|
overridevirtual |
Draws indexed, non-instanced primitives.
primitiveType | Primitive type to assemble from the bound vertex buffers. |
startIndex | Index of the first item in the index buffer to start at when drawing. |
numIndexes | Number of indexes to draw. |
startVertex | Index of the base vertex in the vertex buffer to index from. |
Implements Cogs::IContext.
Definition at line 505 of file ContextGLES30.cpp.
|
overridevirtual |
Draws non-indexed, instanced primitives.
primitiveType | Primitive type to assemble from the bound vertex buffers. |
startVertex | Index of the first vertex in the bound vertex buffers to start at when drawing each instance. |
numVertexes | Number of vertexes to draw per instance. |
startInstance | Index of the first instance to start drawing at. |
numInstances | Number of instances to draw. |
Implements Cogs::IContext.
Definition at line 518 of file ContextGLES30.cpp.
|
overridevirtual |
Draws indexed, instanced primitives.
primitiveType | Primitive type to assemble from the bound vertex buffers. |
startInstance | Index of the first instance to start drawing at. |
numInstances | Number of instances to draw. |
startIndex | Index of the first item in the index buffer to start at when drawing each instance. |
numIndexes | Number of indexes to draw per instance. |
Implements Cogs::IContext.
Definition at line 533 of file ContextGLES30.cpp.
|
overridevirtual |
End a render pass.
Implements Cogs::IContext.
Definition at line 616 of file ContextGLES30.cpp.
References Cogs::RenderTargetViewDescription::layerIndex, Cogs::TextureViewDescription::layerIndex, Cogs::RenderTargetViewDescription::levelIndex, Cogs::TextureViewDescription::levelIndex, Cogs::RenderTargetViewDescription::numLayers, Cogs::TextureViewDescription::numLayers, Cogs::TextureViewDescription::numLevels, Cogs::RenderTargetViewDescription::texture, and Cogs::TextureViewDescription::texture.
|
overridevirtual |
Get the associated counter of a buffer.
Implements Cogs::IContext.
Definition at line 1525 of file ContextGLES30.cpp.
|
overridevirtual |
Get the associated counter of a buffer.
bufferHandle | Handle to the buffer to get the counter from. This buffer must have been created with the StructuredBufferWithCounter bind flag. |
destinationBufferHandle | Handle to a buffer to copy the counter value to. |
Implements Cogs::IContext.
Definition at line 1520 of file ContextGLES30.cpp.
|
inlineoverridevirtual |
Implements Cogs::ContextCommon.
Definition at line 47 of file ContextGLES30.h.
|
inline |
Definition at line 71 of file ContextGLES30.h.
|
overridevirtual |
Implements Cogs::ContextCommon.
Definition at line 115 of file ContextGLES30.cpp.
|
inlineoverridevirtual |
Implements Cogs::ContextCommon.
Definition at line 45 of file ContextGLES30.h.
|
inline |
Definition at line 36 of file ContextGLES30.h.
|
overridevirtual |
Maps the given buffer so it can be accessed.
bufferHandle | Valid handle to a buffer containing data to be read. |
mapMode | Mapping mode to apply when mapping the buffer. |
stride | Optional pointer to a stride value. Must be set for aliased buffer texture resources. |
Implements Cogs::IContext.
Definition at line 1302 of file ContextGLES30.cpp.
References Cogs::BufferGLES30::bufferId, Cogs::BufferGLES30::isMapped, Cogs::BufferGLES30::mappedData, Cogs::MapMode::Read, Cogs::MapMode::ReadWrite, Cogs::BufferGLES30::size, Cogs::BufferGLES30::target, Cogs::MapMode::Write, Cogs::BufferGLES30::writeBackMap, and Cogs::MapMode::WriteDiscard.
|
inlineoverridevirtual |
Create host mapping of a staging texture.
textureHandle | Staging texture. | |
accessMode | MapMode::Write (requires TextureFlags::UsageWriteStaging) or MapMode::Read (requires TextureFlags::UsageReadStaging). | |
[out] | rowPitch | Number of bytes between successive rows in the mapping. |
[out] | depthPitch | Number of bytes between successive slices in the mapping. |
Implements Cogs::IContext.
Definition at line 127 of file ContextGLES30.h.
|
overridevirtual |
Reads data from the current render target into the given bufferHandle.
bufferHandle | Buffer to read the data into. Must be at least of size (width * height * sizeof(ColorFormat)). |
x | Address of the first pixel on the x-axis to read from. |
y | Address of the first pixel on the y-axis to read from. |
width | Width of the data to read in pixels. |
height | Height of the data to read in pixels. |
framebuffer | Frame buffer to read from. Applicable when e.g reading from the default double-buffered render target. |
Implements Cogs::IContext.
Definition at line 1263 of file ContextGLES30.cpp.
References Cogs::FormatInfo::blockSize, Cogs::BufferGLES30::bufferId, Cogs::Handle_t< RenderTargetTag >::InvalidHandle, Cogs::BufferGLES30::size, and Cogs::RenderTargetViewDescription::texture.
|
overridevirtual |
Reads data from the current depth target into the given bufferHandle.
bufferHandle | Buffer to read the data into. Must be at least of size (width * height * sizeof(DepthFormat)). |
x | Address of the first pixel on the x-axis to read from. |
y | Address of the first pixel on the y-axis to read from. |
width | Width of the data to read in pixels. |
height | Height of the data to read in pixels. |
framebuffer | Frame buffer to read from. Applicable when e.g reading from the default double-buffered depth target. |
Implements Cogs::IContext.
Definition at line 1258 of file ContextGLES30.cpp.
|
overridevirtual |
Resets all state changes made to the GPU since the last call to beginFrame.
Reimplemented from Cogs::IContext.
Definition at line 1559 of file ContextGLES30.cpp.
|
overridevirtual |
Resolves the given source resource target into the given destination texture.
The source texture is assumed to be a multisample format handled by the GPU internally. This method can be used to resolve such a texture so that it may later be used as a regular texture data (multisampled textures cannot be read by standard samplers).
If using multisample samplers in shaders, this step is not necessary to perform.
Implements Cogs::IContext.
Definition at line 933 of file ContextGLES30.cpp.
References Cogs::TextureFlags::DepthBuffer.
|
overridevirtual |
Set the current blend state.
Implements Cogs::IContext.
Definition at line 581 of file ContextGLES30.cpp.
|
overridevirtual |
Sets a buffer to bind to the given binding.
bufferBindingHandle | Handle to a buffer binding. |
bufferHandle | Handle to a buffer to set. |
Implements Cogs::IContext.
Definition at line 1505 of file ContextGLES30.cpp.
|
overridevirtual |
Set the associated counter of a buffer.
bufferHandle | Handle to the buffer to set the counter for. This buffer must have been created with the StructuredBufferWithCounter bind flag. |
sourceBufferHandle | Handle to a buffer to copy the counter value from. |
Implements Cogs::IContext.
Definition at line 1515 of file ContextGLES30.cpp.
|
overridevirtual |
Set the associated counter of a buffer.
bufferHandle | Handle to the buffer to set the counter for. This buffer must have been created with the StructuredBufferWithCounter bind flag. |
value | The new value of the counter. |
Implements Cogs::IContext.
Definition at line 1510 of file ContextGLES30.cpp.
|
overridevirtual |
Sets a constant buffer to the given constant buffer binding.
bufferBindingHandle | Valid handle to a buffer binding previously created. |
bufferHandle | Handle to a buffer created with the BindFlags::ConstantBuffer flag, or NoHandle to remove any existing buffer from the binding. |
Implements Cogs::IContext.
Definition at line 281 of file ContextGLES30.cpp.
References Cogs::BufferGLES30::bufferId, Cogs::Handle_t< Type, Convertible >::handle, and Cogs::BufferGLES30::size.
void Cogs::ContextGLES30::setDefaults | ( | ) |
Definition at line 1107 of file ContextGLES30.cpp.
|
overridevirtual |
Set the current depth stencil state.
Implements Cogs::IContext.
Definition at line 1223 of file ContextGLES30.cpp.
References Cogs::DepthStencilState::DefaultState(), Cogs::DepthStencilState::depthEnabled, Cogs::DepthStencilState::depthFunction, Cogs::Handle_t< struct DepthStencilState >::NoHandle, and Cogs::DepthStencilState::writeEnabled.
|
overridevirtual |
Set the current effect.
This sets up all shader stages included in the effect (e.g if the effect contains VS and PS shaders both the VS stage and PS stage is set up.
Implements Cogs::IContext.
Definition at line 729 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle, Cogs::Handle_t< EffectTag >::InvalidHandle, and Cogs::Handle_t< EffectTag >::NoHandle.
Referenced by Cogs::EffectsGLES30::releaseEffect().
|
overridevirtual |
Sets the current index buffer.
bufferHandle | Valid handle to an index buffer. |
stride | Byte stride of the index data. Currently only supports 2 and 4. Setting stride to zero defaults to the buffers natural stride, if any. If no natural stride is set, no buffer will be bound. |
offset | Offset in bytes from the start of the buffer to the first index to use. |
Implements Cogs::IContext.
Definition at line 259 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle, Cogs::Handle_t< BufferTag, BufferHandle >::InvalidHandle, Cogs::BufferGLES30::isIndexBuffer, and Cogs::Handle_t< VertexArrayObjectTag >::NoHandle.
|
overridevirtual |
Sets the current input layout.
inputLayoutHandle | Valid handle to a previously created input layout. |
Implements Cogs::IContext.
Definition at line 928 of file ContextGLES30.cpp.
|
inlineoverridevirtual |
Sets the given matrix variable to value.
Value must point to a valid 16-element array of floating point values.
Reimplemented from Cogs::ContextCommon.
Definition at line 80 of file ContextGLES30.h.
References setMatrixVariable().
Referenced by setMatrixVariable().
|
overridevirtual |
Sets the given matrix variable to value.
Value must point to a valid 16-element array of floating point values.
Reimplemented from Cogs::ContextCommon.
Definition at line 1042 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
overridevirtual |
Sets the matrix variable with the given name in the current effect to value.
Value must point to a 16-element single precision floating point array.
Reimplemented from Cogs::ContextCommon.
Definition at line 986 of file ContextGLES30.cpp.
References Cogs::StringView::data(), and Cogs::StringView::length().
|
overridevirtual |
Set the current rasterizer state.
Implements Cogs::IContext.
Definition at line 870 of file ContextGLES30.cpp.
References Cogs::RasterizerState::cullMode, Cogs::RasterizerState::DefaultState(), Cogs::RasterizerState::depthBias, Cogs::RasterizerState::Front, Cogs::RasterizerState::frontCounterClockwise, Cogs::Handle_t< struct RasterizerState >::NoHandle, Cogs::RasterizerState::None, Cogs::RasterizerState::scissor, Cogs::RasterizerState::slopeScaledDepthBias, and Cogs::RasterizerState::wireFrame.
|
overridevirtual |
Sets the current render target and an associated depth stencil target.
Implements Cogs::IContext.
Definition at line 640 of file ContextGLES30.cpp.
References Cogs::Handle_t< RenderTargetTag >::InvalidHandle, and Cogs::Handle_t< DepthStencilTag >::InvalidHandle.
|
overridevirtual |
Sets the sampler state binding given to the given sampler state.
If the sampler state is set to NoHandle the default sampler state is set for the binding.
samplerStateBindingHandle | Valid handle to a previously created sampler state binding object. |
samplerStateHandle | Handle to a valid sampler state, or NoHandle to set the default sampler state. |
Implements Cogs::IContext.
Definition at line 851 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
overridevirtual |
Sets the given scalar integer point variable to the given value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1051 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
inlineoverridevirtual |
Sets the given scalar floating point variable to the given value.
Reimplemented from Cogs::ContextCommon.
Definition at line 83 of file ContextGLES30.h.
References setScalarVariable().
Referenced by setScalarVariable().
|
overridevirtual |
Sets the given scalar integer point variable to the given value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1060 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
inlineoverridevirtual |
Sets the given scalar integer point variable to the given value.
Reimplemented from Cogs::ContextCommon.
Definition at line 86 of file ContextGLES30.h.
References setScalarVariable().
Referenced by setScalarVariable().
|
overridevirtual |
Sets the scalar floating point variable with the given name to the given value.
Reimplemented from Cogs::ContextCommon.
Definition at line 995 of file ContextGLES30.cpp.
References Cogs::StringView::data(), and Cogs::StringView::length().
|
overridevirtual |
Sets the scalar integer variable with the given name to the given value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1004 of file ContextGLES30.cpp.
References Cogs::StringView::data(), and Cogs::StringView::length().
|
overridevirtual |
Sets the current scissor rectangle.
Only used if the current rasterizer state enabled scissor testing.
Implements Cogs::IContext.
Definition at line 662 of file ContextGLES30.cpp.
|
finalvirtual |
Sets the texture given to the binding given by textureBindingHandle.
textureBindingHandle | Valid handle to a previously created texture binding. |
textureHandle | Handle to a texture object, or NoHandle to set the default texture to the given binding. |
Implements Cogs::IContext.
Definition at line 752 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle, Cogs::Handle_t< TextureBindingTag >::InvalidHandle, and Cogs::Handle_t< TextureBindingTag >::NoHandle.
|
finalvirtual |
Implements Cogs::IContext.
Definition at line 771 of file ContextGLES30.cpp.
|
private |
Definition at line 383 of file ContextGLES30.cpp.
|
private |
Definition at line 429 of file ContextGLES30.cpp.
|
private |
Definition at line 317 of file ContextGLES30.cpp.
|
private |
Definition at line 122 of file ContextGLES30.cpp.
|
overridevirtual |
Sets the variable with the given name and size.
Reimplemented from Cogs::ContextCommon.
Definition at line 1564 of file ContextGLES30.cpp.
|
overridevirtual |
Sets the given vector variable to the given two-component value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1069 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
overridevirtual |
Sets the vector variable with the given name to the given two-component value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1013 of file ContextGLES30.cpp.
References Cogs::StringView::data(), and Cogs::StringView::length().
|
overridevirtual |
Sets the given vector variable to the given three-component value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1078 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
overridevirtual |
Sets the vector variable with the given name to the given three-component value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1022 of file ContextGLES30.cpp.
References Cogs::StringView::data(), and Cogs::StringView::length().
|
overridevirtual |
Sets the given vector variable to the given four-component value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1087 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
overridevirtual |
Sets the given vector variable to the given four-component value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1096 of file ContextGLES30.cpp.
References Cogs::Handle_t< Type, Convertible >::handle.
|
overridevirtual |
Sets the vector variable with the given name to the given four-component value.
Reimplemented from Cogs::ContextCommon.
Definition at line 1031 of file ContextGLES30.cpp.
References Cogs::StringView::data(), and Cogs::StringView::length().
|
overridevirtual |
Logs an unsupported error, override to provide support.
Reimplemented from Cogs::ContextCommon.
Definition at line 575 of file ContextGLES30.cpp.
|
overridevirtual |
Sets the current vertex buffers.
vertexBufferHandles | Pointer to an array of vertex buffer handles of size at least count. |
count | Number of vertex buffers to bind. |
strides | Pointer to array of stride values. Must be non-null and at least of size count. |
offsets | Optional pointer to array of offset values. If non-null, must be at least of size count. |
Implements Cogs::IContext.
Definition at line 563 of file ContextGLES30.cpp.
References Cogs::Handle_t< VertexArrayObjectTag >::NoHandle.
|
overridevirtual |
Overload provided to support transitioning.
Only supports vertex buffers created with legacy loadVertexBuffer API.
Implements Cogs::IContext.
Definition at line 551 of file ContextGLES30.cpp.
References Cogs::Handle_t< VertexArrayObjectTag >::NoHandle.
|
overridevirtual |
Sets the current viewport to the given location and dimensions.
Implements Cogs::IContext.
Definition at line 656 of file ContextGLES30.cpp.
|
overridevirtual |
Insert a fence in the command stream that will signal when all commands before the fence are completed.
fenceHandle | The fence to signal. |
Reimplemented from Cogs::ContextCommon.
Definition at line 117 of file ContextGLES30.cpp.
|
protected |
Definition at line 228 of file ContextGLES30.cpp.
|
protected |
Definition at line 244 of file ContextGLES30.cpp.
|
overridevirtual |
Unmaps the given buffer, applying any synchronization necessary to reflect changes in the mapped memory.
bufferHandle | Valid handle to a buffer that is currently mapped. |
Implements Cogs::IContext.
Definition at line 1345 of file ContextGLES30.cpp.
References Cogs::BufferGLES30::isMapped, Cogs::BufferGLES30::keepMapBacking, Cogs::BufferGLES30::mappedData, and Cogs::BufferGLES30::writeBackMap.
|
inlineoverridevirtual |
Release a host mapping of a staging texture.
textureHandle | Staging texture that is currently mapped. |
Implements Cogs::IContext.
Definition at line 130 of file ContextGLES30.h.
|
overridevirtual |
Replace contents of buffer with new data.
This will typically map the buffer + memcpy where this is fast, otherwise it will call buffer update function in underlying api.
The existing contents of the buffer will be invalidated: If provided data is smaller than buffer size, the rest of the buffer is undefined.
Reimplemented from Cogs::ContextCommon.
Definition at line 1367 of file ContextGLES30.cpp.
References Cogs::BufferGLES30::size.
|
overridevirtual |
Update a region of data in a buffer.
bufferHandle | Valid handle to a buffer to update data in. |
offset | Offset in bytes from the start of the buffer to where the new data should be written. |
size | Size of the data given. Offset + size must be inside the allocated size of the buffer. |
data | Pointer to the data to store at the given offset in the buffer. |
invalidate | Invalidate existing buffer contents before updating buffer, i.e. no need to maintain old values. |
Implements Cogs::IContext.
Definition at line 1489 of file ContextGLES30.cpp.
References Cogs::BufferGLES30::size, and Cogs::BufferGLES30::target.
|
overridevirtual |
Update the data of a level in the given texture.
textureHandle | Valid handle to a texture to update data in. |
level | Index of the mip level to update. |
data | Pointer to the data to store in the indicated mip level. Must be sized according to the dimensions, format and mip level. |
Implements Cogs::IContext.
Definition at line 1387 of file ContextGLES30.cpp.
|
friend |
Definition at line 34 of file ContextGLES30.h.
|
friend |
Definition at line 33 of file ContextGLES30.h.
|
private |
Definition at line 203 of file ContextGLES30.h.
uint32_t Cogs::ContextGLES30::baseVertex = 0 |
Definition at line 237 of file ContextGLES30.h.
GLuint Cogs::ContextGLES30::buffer = 0 |
Definition at line 217 of file ContextGLES30.h.
|
private |
Definition at line 194 of file ContextGLES30.h.
|
private |
Definition at line 198 of file ContextGLES30.h.
float Cogs::ContextGLES30::constant[4] = {} |
Definition at line 272 of file ContextGLES30.h.
uint32_t Cogs::ContextGLES30::count = 0 |
Definition at line 238 of file ContextGLES30.h.
|
private |
Definition at line 266 of file ContextGLES30.h.
|
private |
Definition at line 281 of file ContextGLES30.h.
|
private |
Definition at line 214 of file ContextGLES30.h.
|
private |
Definition at line 268 of file ContextGLES30.h.
|
private |
Definition at line 213 of file ContextGLES30.h.
InputLayoutHandle Cogs::ContextGLES30::currHandle = InputLayoutHandle::NoHandle |
Definition at line 243 of file ContextGLES30.h.
VertexArrayObjectHandle Cogs::ContextGLES30::currHandle = VertexArrayObjectHandle::NoHandle |
Definition at line 256 of file ContextGLES30.h.
|
private |
Definition at line 201 of file ContextGLES30.h.
|
private |
Definition at line 196 of file ContextGLES30.h.
|
private |
Definition at line 223 of file ContextGLES30.h.
VertexBufferHandle Cogs::ContextGLES30::handle = VertexBufferHandle::NoHandle |
Definition at line 233 of file ContextGLES30.h.
IndexBufferHandle Cogs::ContextGLES30::handle = IndexBufferHandle::NoHandle |
Definition at line 247 of file ContextGLES30.h.
EffectHandle Cogs::ContextGLES30::handle = EffectHandle::NoHandle |
Definition at line 263 of file ContextGLES30.h.
BlendStateHandle Cogs::ContextGLES30::handle = BlendStateHandle::NoHandle |
Definition at line 271 of file ContextGLES30.h.
GLsizei Cogs::ContextGLES30::indexCount = 0 |
Definition at line 258 of file ContextGLES30.h.
GLsizei Cogs::ContextGLES30::indexStride = 0 |
Definition at line 259 of file ContextGLES30.h.
GLenum Cogs::ContextGLES30::indexType = GL_INVALID_ENUM |
Definition at line 257 of file ContextGLES30.h.
|
private |
Definition at line 210 of file ContextGLES30.h.
|
private |
Definition at line 283 of file ContextGLES30.h.
GLuint Cogs::ContextGLES30::offset = 0 |
Definition at line 227 of file ContextGLES30.h.
uint32_t Cogs::ContextGLES30::offset = 0 |
Definition at line 235 of file ContextGLES30.h.
InputLayoutHandle Cogs::ContextGLES30::prevHandle = InputLayoutHandle::NoHandle |
Definition at line 242 of file ContextGLES30.h.
VertexArrayObjectHandle Cogs::ContextGLES30::prevHandle = VertexArrayObjectHandle::NoHandle |
Definition at line 255 of file ContextGLES30.h.
EffectGLES30* Cogs::ContextGLES30::ptr = nullptr |
Definition at line 264 of file ContextGLES30.h.
|
private |
Definition at line 211 of file ContextGLES30.h.
|
private |
Definition at line 197 of file ContextGLES30.h.
SamplerStateHandle Cogs::ContextGLES30::sampler = SamplerStateHandle::NoHandle |
Definition at line 206 of file ContextGLES30.h.
GLuint Cogs::ContextGLES30::size = 0 |
Definition at line 228 of file ContextGLES30.h.
BlendStateGLES30 Cogs::ContextGLES30::state |
Definition at line 273 of file ContextGLES30.h.
uint32_t Cogs::ContextGLES30::stride = 0 |
Definition at line 234 of file ContextGLES30.h.
|
private |
Definition at line 199 of file ContextGLES30.h.
GLenum Cogs::ContextGLES30::target = GL_TEXTURE_2D |
Definition at line 207 of file ContextGLES30.h.
TextureHandle Cogs::ContextGLES30::texture = TextureHandle::NoHandle |
Definition at line 205 of file ContextGLES30.h.
|
private |
Definition at line 195 of file ContextGLES30.h.