Ultralight C++ API 1.3.0
Loading...
Searching...
No Matches
ultralight::GPUState Struct Reference

#include <Ultralight/platform/GPUDriver.h>

Details

GPU state description.

Public Attributes

uint32_t viewport_width
 Viewport width in pixels.
 
uint32_t viewport_height
 Viewport height in pixels.
 
Matrix4x4 transform
 Transform matrix– you should multiply this with the screen-space orthographic projection matrix then pass to the vertex shader.
 
bool enable_texturing
 Whether or not we should enable texturing for the current draw command.
 
bool enable_blend
 Whether or not we should enable blending for the current draw command.
 
ShaderType shader_type
 The vertex/pixel shader program pair to use for the current draw command.
 
uint32_t render_buffer_id
 The render buffer to use for the current draw command.
 
uint32_t texture_1_id
 The texture id to bind to slot #1. (Will be 0 if none)
 
uint32_t texture_2_id
 The texture id to bind to slot #2. (Will be 0 if none)
 
uint32_t texture_3_id
 The texture id to bind to slot #3. (Will be 0 if none)
 
float uniform_scalar [8]
 The following four members are passed to the pixel shader via uniforms.
 
vec4 uniform_vector [8]
 
uint8_t clip_size
 
Matrix4x4 clip [8]
 
bool enable_scissor
 Whether or not scissor testing should be used for the current draw command.
 
IntRect scissor_rect
 The scissor rect to use for scissor testing (units in pixels)
 

Member Data Documentation

◆ clip

Matrix4x4 ultralight::GPUState::clip[8]

◆ clip_size

uint8_t ultralight::GPUState::clip_size

◆ enable_blend

bool ultralight::GPUState::enable_blend

Whether or not we should enable blending for the current draw command.

If blending is disabled, any drawn pixels should overwrite existing. This is mainly used so we can modify alpha values of the RenderBuffer during scissored clears.

◆ enable_scissor

bool ultralight::GPUState::enable_scissor

Whether or not scissor testing should be used for the current draw command.

◆ enable_texturing

bool ultralight::GPUState::enable_texturing

Whether or not we should enable texturing for the current draw command.

◆ render_buffer_id

uint32_t ultralight::GPUState::render_buffer_id

The render buffer to use for the current draw command.

◆ scissor_rect

IntRect ultralight::GPUState::scissor_rect

The scissor rect to use for scissor testing (units in pixels)

◆ shader_type

ShaderType ultralight::GPUState::shader_type

The vertex/pixel shader program pair to use for the current draw command.

◆ texture_1_id

uint32_t ultralight::GPUState::texture_1_id

The texture id to bind to slot #1. (Will be 0 if none)

◆ texture_2_id

uint32_t ultralight::GPUState::texture_2_id

The texture id to bind to slot #2. (Will be 0 if none)

◆ texture_3_id

uint32_t ultralight::GPUState::texture_3_id

The texture id to bind to slot #3. (Will be 0 if none)

◆ transform

Matrix4x4 ultralight::GPUState::transform

Transform matrix– you should multiply this with the screen-space orthographic projection matrix then pass to the vertex shader.

◆ uniform_scalar

float ultralight::GPUState::uniform_scalar[8]

The following four members are passed to the pixel shader via uniforms.

◆ uniform_vector

vec4 ultralight::GPUState::uniform_vector[8]

◆ viewport_height

uint32_t ultralight::GPUState::viewport_height

Viewport height in pixels.

◆ viewport_width

uint32_t ultralight::GPUState::viewport_width

Viewport width in pixels.


The documentation for this struct was generated from the following file: