15 #pragma warning(disable: 4251) 16 #include <Ultralight/Defines.h> 36 bool has_stencil_buffer;
37 bool has_depth_buffer;
46 unsigned char color[4];
56 unsigned char color[4];
71 enum UExport VertexBufferFormat {
72 kVertexBufferFormat_2f_4ub_2f,
73 kVertexBufferFormat_2f_4ub_2f_2f_28f,
80 VertexBufferFormat format;
101 enum UExport ShaderType {
103 kShaderType_FillPath,
110 float viewport_width;
111 float viewport_height;
113 bool enable_texturing;
116 uint32_t render_buffer_id;
117 uint32_t texture_1_id;
118 uint32_t texture_2_id;
119 uint32_t texture_3_id;
120 float uniform_scalar[8];
121 vec4 uniform_vector[8];
129 enum UExport CommandType {
130 kCommandType_ClearRenderBuffer,
131 kCommandType_DrawGeometry,
139 uint8_t command_type;
141 uint32_t geometry_id;
142 uint32_t indices_count;
143 uint32_t indices_offset;
173 virtual void BeginSynchronize() = 0;
178 virtual void EndSynchronize() = 0;
183 virtual uint32_t NextTextureId() = 0;
188 virtual void CreateTexture(uint32_t texture_id,
194 virtual void UpdateTexture(uint32_t texture_id,
200 virtual void BindTexture(uint8_t texture_unit,
201 uint32_t texture_id) = 0;
206 virtual void DestroyTexture(uint32_t texture_id) = 0;
211 virtual uint32_t NextRenderBufferId() = 0;
216 virtual void CreateRenderBuffer(uint32_t render_buffer_id,
222 virtual void BindRenderBuffer(uint32_t render_buffer_id) = 0;
227 virtual void ClearRenderBuffer(uint32_t render_buffer_id) = 0;
232 virtual void DestroyRenderBuffer(uint32_t render_buffer_id) = 0;
237 virtual uint32_t NextGeometryId() = 0;
242 virtual void CreateGeometry(uint32_t geometry_id,
249 virtual void UpdateGeometry(uint32_t geometry_id,
256 virtual void DrawGeometry(uint32_t geometry_id,
257 uint32_t indices_count,
258 uint32_t indices_offset,
264 virtual void DestroyGeometry(uint32_t geometry_id) = 0;
269 virtual void UpdateCommandList(
const CommandList& list) = 0;
274 virtual bool HasCommandsPending() = 0;
280 virtual void DrawCommandList() = 0;
RenderBuffer description,.
The header for the Bitmap class.
The header for various geometry definitions and helpers.
The header for Matrix helpers.
A non-nullable smart pointer.
Command description, handling one of these should result in either a call to GPUDriver::ClearRenderBu...
This is a set of common JavaScriptCore Helper functions to simplify sample code.
Vertex layout for quad vertices, useful for synthesizing or modifying vertex data.
Vertex layout for path vertices, useful for synthesizing or modifying vertex data.
uint32_t IndexType
Vertex index type.
GPUDriver interface, dispatches GPU calls to the native driver.