Platform specific native graphics functions.
Max subpasses
Max subpass dependencies
Subpass external
Subpass attachment unused flag
STAGE_FLAG_QUEUE_BEGIN -
STAGE_FLAG_QUEUE_END -
STAGE_FLAG_FRAGMENT_SHADER -
STAGE_FLAG_EARLY_FRAGMENT_SHADER_TEST -
ACCESS_FLAG_READ -
ACCESS_FLAG_WRITE -
ACCESS_FLAG_SHADER -
Get the vulkan context of the installed adapter
context - the vulkan context
Copy a buffer to a texture
context - the vulkan context
buffer - the buffer to copy into the texture
texture - the texture to copy into
width - width of the texture slice to copy
height - height of the texture slice to copy
x - x offset into the texture
y - y offset into the texture
mipmap - the mipmap slice to upload
Sets the attachments for a render target
context - the vulkan context
render_target - the render target
params - the render target attachment params
Bind a constant buffer to the currently bound shader
context - the vulkan context
buffer - the constant buffer
buffer_offset - offset location for the buffer
base_location - the shader location to bind to
Get the current swap chain texture
context - the vulkan context
swapchain - the swap chain texture for the current frame
Draw with index buffer instanced
context - the vulkan context
prim_type - primitive type
first - the byte offset into the index buffer
count - number of primitives to draw
instance_count - number of instances to draw
type - the index buffer type
index_buffer - the index buffer
Set the step function for a vertex declaration
context - the vulkan context
vertex_declaration - the vertex declaration to set step function for
step_function - the step function
Draw with vertex buffer instanced
context - the vulkan context
prim_type - primitive type
first - the byte offset into the index buffer
count - number of primitives to draw
instance_count - number of instances to draw
type - the index buffer type
index_buffer - the index buffer
Create a render pass
context - the vulkan context
render_target - the render target
params - params
Advance the render pass to the next sub pass
context - the vulkan context
render_target - the render target to advance
Set the number of in-flight frames that the vulkan layer uses
context - the vulkan context
num_frames_in_flight - the max number of frames in flight
Set the entire current pipeline state
context - the vulkan context
ps - the pipeline state
Clear a texture with RGBA values
context - the vulkan context
texture - the texture to clear
values - ] the clear values
Insert a memory barrier
context - the vulkan context
texture - the texture to set barrier for
src_stage_flags - src stage flag
dst_stage_flags - dst stage flag
src_access_flags - src access flag
dst_access_flags - dst access flag
Get the set and binding information from a uniform index
context - the vulkan context
program - the program to query
index - uniform index
set - a pointer to store the result of the set number
binding - a pointer to store the result of the binding number
member_index - a pointer to store the result of the member index
Create a new storage buffer
context - the vulkan context
buffer_size - the size of the storage buffer to allocate
storage_buffer - the storage buffer
Delete a storage buffer
context - the vulkan context
storage_buffer - the attachment to get
Bind a storage buffer to the render state
context - the vulkan context
storage_buffer - the storage buffer to bind
binding_index - binding index
buffer_offset - the buffer offset
base_location - the shader location to bind to
Set the storage buffer data
context - the vulkan context
storage_buffer - the storage buffer
size - size of the input data
data - the buffer data
Map the GPU data for a vertex buffer
context - the vulkan context
buffer - the buffer to map
buffer_access - how to access the buffer
void* - the mapped data buffer
Unmap a vertex buffer
context - the vulkan context
buffer - the buffer
flag - unused
Map the GPU data for a index buffer
context - the vulkan context
buffer - the buffer to map
buffer_access - how to access the buffer
void* - the mapped data buffer
Unmap a index buffer
context - the vulkan context
buffer - the buffer
flag - unused
Context handle
Texture handle
Rendertarget handle
Vertex program handle
Fragment program handle
Program handle
Vertex buffer handle
Index buffer handle
Storage buffer handle
Uniform location handle
Vertex declaration handle
Vertex stream declaration handle
PipelineState handle
Invalid stream offset
Max buffer color attachments
HANDLE_RESULT_OK -
HANDLE_RESULT_NOT_AVAILABLE -
HANDLE_RESULT_ERROR -
ATTACHMENT_COLOR -
ATTACHMENT_DEPTH -
ATTACHMENT_STENCIL -
MAX_ATTACHMENT_COUNT -
ATTACHMENT_OP_DONT_CARE -
ATTACHMENT_OP_LOAD -
ATTACHMENT_OP_STORE -
ATTACHMENT_OP_CLEAR -
TEXTURE_FORMAT_LUMINANCE -
TEXTURE_FORMAT_LUMINANCE_ALPHA -
TEXTURE_FORMAT_RGB -
TEXTURE_FORMAT_RGBA -
TEXTURE_FORMAT_RGB_16BPP -
TEXTURE_FORMAT_RGBA_16BPP -
TEXTURE_FORMAT_DEPTH -
TEXTURE_FORMAT_STENCIL -
TEXTURE_FORMAT_RGB_PVRTC_2BPPV1 -
TEXTURE_FORMAT_RGB_PVRTC_4BPPV1 -
TEXTURE_FORMAT_RGBA_PVRTC_2BPPV1 -
TEXTURE_FORMAT_RGBA_PVRTC_4BPPV1 -
TEXTURE_FORMAT_RGB_ETC1 -
TEXTURE_FORMAT_R_ETC2 -
TEXTURE_FORMAT_RG_ETC2 -
TEXTURE_FORMAT_RGBA_ETC2 -
TEXTURE_FORMAT_RGBA_ASTC_4x4 -
TEXTURE_FORMAT_RGB_BC1 -
TEXTURE_FORMAT_RGBA_BC3 -
TEXTURE_FORMAT_R_BC4 -
TEXTURE_FORMAT_RG_BC5 -
TEXTURE_FORMAT_RGBA_BC7 -
TEXTURE_FORMAT_RGB16F -
TEXTURE_FORMAT_RGB32F -
TEXTURE_FORMAT_RGBA16F -
TEXTURE_FORMAT_RGBA32F -
TEXTURE_FORMAT_R16F -
TEXTURE_FORMAT_RG16F -
TEXTURE_FORMAT_R32F -
TEXTURE_FORMAT_RG32F -
TEXTURE_FORMAT_RGBA32UI -
TEXTURE_FORMAT_COUNT -
Get the attachment texture from a render target. Returns zero if no such attachment texture exists.
render_target - the render target
attachment_type - the attachment to get
attachment - the attachment texture
Get the native graphics API texture object from an engine texture handle. This depends on the graphics backend and is not guaranteed to be implemented on the currently running adapter.
texture - the texture handle
out_handle - a pointer to where the raw object should be stored
handle_result - the result of the query
COMPARE_FUNC_NEVER -
COMPARE_FUNC_LESS -
COMPARE_FUNC_LEQUAL -
COMPARE_FUNC_GREATER -
COMPARE_FUNC_GEQUAL -
COMPARE_FUNC_EQUAL -
COMPARE_FUNC_NOTEQUAL -
COMPARE_FUNC_ALWAYS -
FACE_WINDING_CCW -
FACE_WINDING_CW -
STENCIL_OP_KEEP -
STENCIL_OP_ZERO -
STENCIL_OP_REPLACE -
STENCIL_OP_INCR -
STENCIL_OP_INCR_WRAP -
STENCIL_OP_DECR -
STENCIL_OP_DECR_WRAP -
STENCIL_OP_INVERT -
BUFFER_USAGE_STREAM_DRAW -
BUFFER_USAGE_DYNAMIC_DRAW -
BUFFER_USAGE_STATIC_DRAW -
Preferred for buffers that never change
BUFFER_ACCESS_READ_ONLY -
BUFFER_ACCESS_WRITE_ONLY -
BUFFER_ACCESS_READ_WRITE -
INDEXBUFFER_FORMAT_16 -
INDEXBUFFER_FORMAT_32 -
Primitive type
PRIMITIVE_LINES -
PRIMITIVE_TRIANGLES -
PRIMITIVE_TRIANGLE_STRIP -
Data type
TYPE_BYTE -
TYPE_UNSIGNED_BYTE -
TYPE_SHORT -
TYPE_UNSIGNED_SHORT -
TYPE_INT -
TYPE_UNSIGNED_INT -
TYPE_FLOAT -
TYPE_FLOAT_VEC4 -
TYPE_FLOAT_MAT4 -
TYPE_SAMPLER_2D -
TYPE_SAMPLER_CUBE -
TYPE_SAMPLER_2D_ARRAY -
TYPE_FLOAT_VEC2 -
TYPE_FLOAT_VEC3 -
TYPE_FLOAT_MAT2 -
TYPE_FLOAT_MAT3 -
TYPE_IMAGE_2D -
Blend factor
BLEND_FACTOR_ZERO -
BLEND_FACTOR_ONE -
BLEND_FACTOR_SRC_COLOR -
BLEND_FACTOR_ONE_MINUS_SRC_COLOR -
BLEND_FACTOR_DST_COLOR -
BLEND_FACTOR_ONE_MINUS_DST_COLOR -
BLEND_FACTOR_SRC_ALPHA -
BLEND_FACTOR_ONE_MINUS_SRC_ALPHA -
BLEND_FACTOR_DST_ALPHA -
BLEND_FACTOR_ONE_MINUS_DST_ALPHA -
BLEND_FACTOR_SRC_ALPHA_SATURATE -
BLEND_FACTOR_CONSTANT_COLOR -
BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR -
BLEND_FACTOR_CONSTANT_ALPHA -
BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA -
Vertex step function. Dictates how the data for a vertex attribute should be read in a vertex shader.
VERTEX_STEP_FUNCTION_VERTEX -
VERTEX_STEP_FUNCTION_INSTANCE -
Create new vertex stream declaration. A stream declaration contains a list of vertex streams that should be used to create a vertex declaration from.
context - the context
declaration - the vertex declaration
Adds a stream to a stream declaration
context - the context
name - the name of the stream
size - the size of the stream, i.e number of components
type - the data type of the stream
normalize - true if the stream should be normalized in the 0..1 range
Adds a stream to a stream declaration
context - the context
name_hash - the name hash of the stream
size - the size of the stream, i.e number of components
type - the data type of the stream
normalize - true if the stream should be normalized in the 0..1 range
Delete vertex stream declaration
stream_declaration - the vertex stream declaration
Create new vertex declaration from a vertex stream declaration
context - the context
stream_declaration - the vertex stream declaration
declaration - the vertex declaration
Create new vertex declaration from a vertex stream declaration and an explicit stride value, where the stride is the number of bytes between each consecutive vertex in a vertex buffer
context - the context
stream_declaration - the vertex stream declaration
stride - the stride between the start of each vertex (in bytes)
declaration - the vertex declaration
Delete vertex declaration
vertex_declaration - the vertex declaration
Get the physical offset into the vertex data for a particular stream
vertex_declaration - the vertex declaration
name_hash - the name hash of the vertex stream (as passed into AddVertexStream())
Offset - in bytes into the vertex or INVALID_STREAM_OFFSET if not found
Create new vertex buffer with initial data
context - the context
size - the size of the buffer (in bytes). May be 0
data - the data
buffer_usage - the usage
buffer - the vertex buffer
Delete vertex buffer
buffer - the buffer
Set vertex buffer data
buffer - the buffer
size - the size of the buffer (in bytes). May be 0
data - the data
buffer_usage - the usage
Set subset of vertex buffer data
buffer - the buffer
offset - the offset into the desination buffer (in bytes)
size - the size of the buffer (in bytes). May be 0
data - the data
Get the max number of vertices allowed by the system in a vertex buffer
context - the context
count - the count
Create new index buffer with initial data
context - the context
size - the size of the buffer (in bytes). May be 0
data - the data
buffer_usage - the usage
buffer - the index buffer
Delete the index buffer
buffer - the index buffer
Set index buffer data
buffer - the buffer
size - the size of the buffer (in bytes). May be 0
data - the data
buffer_usage - the usage
Set subset of index buffer data
buffer - the buffer
offset - the offset into the desination buffer (in bytes)
size - the size of the buffer (in bytes). May be 0
data - the data
Check if the index format is supported
context - the context
format - the format
result - true if the format is supoprted
Get the max number of indices allowed by the system in an index buffer
context - the context
count - the count
check if an extension is supported
context - the context
extension - the extension.
result - true if the extension was supported
check if a specific texture format is supported
context - the context
format - the texture format.
result - true if the texture format was supported
context - the context
count - the number of supported extensions
get the supported extension
context - the context
index - the index of the extension
extension - the extension. 0 if index was out of bounds
Get iOS UIWindow native handle (id). Any other platform return zero.
id - native handle
Get iOS UIView native handle (id). Any other platform return zero.
id - native handle
Get iOS EAGLContext native handle (id). Any other platform return zero.
id - native handle
Get OSX NSWindow native handle (id). Any other platform return zero.
id - native handle
Get OSX NSView native handle (id). Any other platform return zero.
id - native handle
Get OSX NSOpenGLContext native handle (id). Any other platform return zero.
id - native handle
Get Win32 windows native handle (HWND). Any other platform return zero.
HWND - native handle
Get Win32 gl rendercontext native handle (HGLRC). Any other platform return zero.
HGLRC - native handle
Get Android EGLContext native handle (EGLContext). Any other platform return zero.
EGLContext - native handle
Get Android EGLSurface native handle (EGLSurface). Any other platform return zero.
EGLSurface - native handle
Get Android JavaVM ptr. Any other platform return zero.
JavaVM* - native handle
Get Android native jobject. Any other platform return zero.
jobject - native handle
Get Android app object. Any other platform return zero.
app - native handle
Get Linux X11Window windows native handle (Window). Any other platform return zero.
Window - native handle
Get Linux X11GLXContext native handle (GLXContext). Any other platform return zero.
GLXContext - native handle