9#pragma warning(disable : 4251)
141 float uniform_scalar[8];
#define UExport
Definition Defines.h:65
User-defined GPU driver interface.
Definition GPUDriver.h:199
virtual uint32_t NextRenderBufferId()=0
Generate the next available render buffer ID.
virtual void EndSynchronize()=0
Called after any commands are dispatched during a frame.
virtual void CreateTexture(uint32_t texture_id, RefPtr< Bitmap > bitmap)=0
Create a texture with a certain ID and optional bitmap.
virtual uint32_t NextTextureId()=0
Get the next available texture ID.
virtual void DestroyRenderBuffer(uint32_t render_buffer_id)=0
Destroy a render buffer.
virtual void UpdateGeometry(uint32_t geometry_id, const VertexBuffer &vertices, const IndexBuffer &indices)=0
Update existing geometry with new vertex/index data.
virtual void DestroyTexture(uint32_t texture_id)=0
Destroy a texture.
virtual void UpdateTexture(uint32_t texture_id, RefPtr< Bitmap > bitmap)=0
Update an existing non-RTT texture with new bitmap data.
virtual void BeginSynchronize()=0
Called before any commands are dispatched during a frame.
virtual uint32_t NextGeometryId()=0
Generate the next available geometry ID.
virtual void CreateGeometry(uint32_t geometry_id, const VertexBuffer &vertices, const IndexBuffer &indices)=0
Create geometry with certain ID and vertex/index data.
virtual void DestroyGeometry(uint32_t geometry_id)=0
Destroy geometry.
virtual void UpdateCommandList(const CommandList &list)=0
Update command list (you should copy the commands to your own structure).
virtual void CreateRenderBuffer(uint32_t render_buffer_id, const RenderBuffer &buffer)=0
Create a render buffer with certain ID and buffer description.
A nullable smart pointer.
Definition RefPtr.h:79
ShaderType
Shader types, used by GPUState::shader_type.
Definition GPUDriver.h:98
VertexBufferFormat
Vertex buffer formats (identifiers start with underscore due to C++ naming rules)
Definition GPUDriver.h:65
CommandType
Command types, used by Command::command_type.
Definition GPUDriver.h:156
uint32_t IndexType
Vertex index type.
Definition GPUDriver.h:82
Command description.
Definition GPUDriver.h:164
GPUState gpu_state
Definition GPUDriver.h:166
uint32_t indices_offset
Definition GPUDriver.h:171
CommandType command_type
Definition GPUDriver.h:165
uint32_t indices_count
Definition GPUDriver.h:170
uint32_t geometry_id
The following members are only used with kCommandType_DrawGeometry.
Definition GPUDriver.h:169
Command list,.
Definition GPUDriver.h:177
Command * commands
Definition GPUDriver.h:179
uint32_t size
Definition GPUDriver.h:178
GPU state description.
Definition GPUDriver.h:106
IntRect scissor_rect
The scissor rect to use for scissor testing (units in pixels)
Definition GPUDriver.h:150
uint32_t render_buffer_id
The render buffer to use for the current draw command.
Definition GPUDriver.h:129
uint8_t clip_size
Definition GPUDriver.h:143
bool enable_blend
Whether or not we should enable blending for the current draw command.
Definition GPUDriver.h:123
bool enable_texturing
Whether or not we should enable texturing for the current draw command.
Definition GPUDriver.h:118
uint32_t texture_1_id
The texture id to bind to slot #1. (Will be 0 if none)
Definition GPUDriver.h:132
ShaderType shader_type
The vertex/pixel shader program pair to use for the current draw command.
Definition GPUDriver.h:126
uint32_t texture_2_id
The texture id to bind to slot #2. (Will be 0 if none)
Definition GPUDriver.h:135
uint32_t viewport_width
Viewport width in pixels.
Definition GPUDriver.h:108
uint32_t viewport_height
Viewport height in pixels.
Definition GPUDriver.h:111
bool enable_scissor
Whether or not scissor testing should be used for the current draw command.
Definition GPUDriver.h:147
uint32_t texture_3_id
The texture id to bind to slot #3. (Will be 0 if none)
Definition GPUDriver.h:138
Matrix4x4 transform
Transform matrix– you should multiply this with the screen-space orthographic projection matrix then ...
Definition GPUDriver.h:115
Vertex index buffer,.
Definition GPUDriver.h:87
uint8_t * data
Definition GPUDriver.h:89
uint32_t size
Definition GPUDriver.h:88
Integer Rectangle Helper.
Definition Geometry.h:529
4x4 Matrix Helper
Definition Matrix.h:18
RenderBuffer description,.
Definition GPUDriver.h:26
uint32_t width
Definition GPUDriver.h:28
uint32_t height
Definition GPUDriver.h:29
uint32_t texture_id
Definition GPUDriver.h:27
bool has_stencil_buffer
Definition GPUDriver.h:30
bool has_depth_buffer
Definition GPUDriver.h:31
Vertex layout for quad vertices, useful for synthesizing or modifying vertex data.
Definition GPUDriver.h:48
float data0[4]
Definition GPUDriver.h:53
unsigned char color[4]
Definition GPUDriver.h:50
float tex[2]
Definition GPUDriver.h:51
float obj[2]
Definition GPUDriver.h:52
float data2[4]
Definition GPUDriver.h:55
float data4[4]
Definition GPUDriver.h:57
float data5[4]
Definition GPUDriver.h:58
float data6[4]
Definition GPUDriver.h:59
float data3[4]
Definition GPUDriver.h:56
float data1[4]
Definition GPUDriver.h:54
float pos[2]
Definition GPUDriver.h:49
Vertex layout for path vertices, useful for synthesizing or modifying vertex data.
Definition GPUDriver.h:38
float pos[2]
Definition GPUDriver.h:39
float obj[2]
Definition GPUDriver.h:41
unsigned char color[4]
Definition GPUDriver.h:40
Vertex buffer,.
Definition GPUDriver.h:73
VertexBufferFormat format
Definition GPUDriver.h:74
uint32_t size
Definition GPUDriver.h:75
uint8_t * data
Definition GPUDriver.h:76
4D Vector Helper
Definition Geometry.h:283