Table of Contents

Interface IRenderDevice

Namespace
LibGFX.Graphics
Assembly
LibGFX.dll
public interface IRenderDevice

Methods

AddRenderInstance(RenderInstanceContainer, Transform)

int AddRenderInstance(RenderInstanceContainer container, Transform transform)

Parameters

container RenderInstanceContainer
transform Transform

Returns

int

AddShape(Shape)

void AddShape(Shape shape)

Parameters

shape Shape

BindBuffer(GFXBufferTarget, int)

void BindBuffer(RenderFlags.GFXBufferTarget target, int buffer)

Parameters

target RenderFlags.GFXBufferTarget
buffer int

BindElementBuffer(int)

void BindElementBuffer(int buffer)

Parameters

buffer int

BindMeshForInstance(RenderInstanceContainer, Mesh)

void BindMeshForInstance(RenderInstanceContainer container, Mesh mesh)

Parameters

container RenderInstanceContainer
mesh Mesh

BindRenderTarget(IRenderTarget)

void BindRenderTarget(IRenderTarget renderTarget)

Parameters

renderTarget IRenderTarget

BindShaderProgram(IShaderProgram)

void BindShaderProgram(IShaderProgram shaderProgram)

Parameters

shaderProgram IShaderProgram

BindShaderStorageBuffer(int, int)

void BindShaderStorageBuffer(int binding, int buffer)

Parameters

binding int
buffer int

BindVertexArray(int)

void BindVertexArray(int value)

Parameters

value int

BindVertexBuffer(int)

void BindVertexBuffer(int buffer)

Parameters

buffer int

BlendEnabled()

bool BlendEnabled()

Returns

bool

BuildComputeShader(ComputeShader)

void BuildComputeShader(ComputeShader computeShader)

Parameters

computeShader ComputeShader

BuildRenderShader(RenderShader)

void BuildRenderShader(RenderShader shaderProgram)

Parameters

shaderProgram RenderShader

Clear(ClearFlags)

void Clear(RenderFlags.ClearFlags clearFlags)

Parameters

clearFlags RenderFlags.ClearFlags

ClearColor(float, float, float, float)

void ClearColor(float r, float g, float b, float a)

Parameters

r float
g float
b float
a float

CreateBuffer()

int CreateBuffer()

Returns

int

CreateDepthRenderTarget2D(int, int)

DepthOnlyRenderTarget CreateDepthRenderTarget2D(int width, int height)

Parameters

width int
height int

Returns

DepthOnlyRenderTarget

CreateElementBuffer(int[], bool)

int CreateElementBuffer(int[] data, bool dynamic = false)

Parameters

data int[]
dynamic bool

Returns

int

CreateMSAARenderTarget2D(int, int, int)

MSAARenderTarget2D CreateMSAARenderTarget2D(int width, int height, int samples = 0)

Parameters

width int
height int
samples int

Returns

MSAARenderTarget2D

CreateRenderTarget2D(int, int)

RenderTarget2D CreateRenderTarget2D(int width, int height)

Parameters

width int
height int

Returns

RenderTarget2D

CreateVertexArray()

int CreateVertexArray()

Returns

int

CreateVertexBuffer<T>(T[], bool)

int CreateVertexBuffer<T>(T[] data, bool dynamic = false) where T : unmanaged

Parameters

data T[]
dynamic bool

Returns

int

Type Parameters

T

DeleteFramebuffer(int)

void DeleteFramebuffer(int framebuffer)

Parameters

framebuffer int

DeleteRenderbuffer(int)

void DeleteRenderbuffer(int renderbuffer)

Parameters

renderbuffer int

DeleteTexture(int)

void DeleteTexture(int texture)

Parameters

texture int

DisableBlend()

void DisableBlend()

DisableDepthTest()

void DisableDepthTest()

DispatchCompute(int, int, int)

void DispatchCompute(int numGroupsX, int numGroupsY, int numGroupsZ)

Parameters

numGroupsX int
numGroupsY int
numGroupsZ int

Dispose()

void Dispose()

DisposeBuffer(int)

void DisposeBuffer(int buffer)

Parameters

buffer int

DisposeComputeShader(ComputeShader)

void DisposeComputeShader(ComputeShader computeShader)

Parameters

computeShader ComputeShader

DisposeCubemap(Cubemap)

void DisposeCubemap(Cubemap cubemap)

Parameters

cubemap Cubemap

DisposeFont(Font)

void DisposeFont(Font font)

Parameters

font Font

DisposeInstanceContainer(RenderInstanceContainer)

void DisposeInstanceContainer(RenderInstanceContainer container)

Parameters

container RenderInstanceContainer

DisposeMesh(Mesh)

void DisposeMesh(Mesh mesh)

Parameters

mesh Mesh

DisposeRenderShader(RenderShader)

void DisposeRenderShader(RenderShader shaderProgram)

Parameters

shaderProgram RenderShader

DisposeShape(Shape)

void DisposeShape(Shape shape)

Parameters

shape Shape

DisposeTexture(Texture)

void DisposeTexture(Texture texture)

Parameters

texture Texture

DisposeVertexArray(int)

void DisposeVertexArray(int value)

Parameters

value int

DrawAABB(AABB, Vector4)

void DrawAABB(AABB aabb, Vector4 color)

Parameters

aabb AABB
color Vector4

DrawCubemap(Transform, Cubemap, Vector4)

void DrawCubemap(Transform transform, Cubemap cubemap, Vector4 color)

Parameters

transform Transform
cubemap Cubemap
color Vector4

DrawFullScreenQuad()

void DrawFullScreenQuad()

DrawGrid(Camera, Vector4)

void DrawGrid(Camera camera, Vector4 color)

Parameters

camera Camera
color Vector4

DrawInstances(RenderInstanceContainer, IMaterial)

void DrawInstances(RenderInstanceContainer container, IMaterial material)

Parameters

container RenderInstanceContainer
material IMaterial

DrawLine(Vector3, Vector3, Vector4)

void DrawLine(Vector3 start, Vector3 end, Vector4 color)

Parameters

start Vector3
end Vector3
color Vector4

DrawMesh(Transform, Mesh, IMaterial)

void DrawMesh(Transform transform, Mesh mesh, IMaterial materialOverwrite = null)

Parameters

transform Transform
mesh Mesh
materialOverwrite IMaterial

DrawPrimitive(Transform, PrimitiveType, Vector4)

void DrawPrimitive(Transform tansform, PrimitiveType type, Vector4 color)

Parameters

tansform Transform
type PrimitiveType
color Vector4

DrawRect(Rect, Vector4, float, float)

void DrawRect(Rect rect, Vector4 color, float borderWidth = 1, float rotation = 0)

Parameters

rect Rect
color Vector4
borderWidth float
rotation float

DrawRect3D(Transform, Vector4, float)

void DrawRect3D(Transform transform, Vector4 color, float borderWidth = 1)

Parameters

transform Transform
color Vector4
borderWidth float

DrawRenderTarget(MSAARenderTarget2D)

void DrawRenderTarget(MSAARenderTarget2D renderTarget)

Parameters

renderTarget MSAARenderTarget2D

DrawRenderTarget(MSAARenderTarget2D, int)

void DrawRenderTarget(MSAARenderTarget2D renderTarget, int framebuffer)

Parameters

renderTarget MSAARenderTarget2D
framebuffer int

DrawRenderTarget(RenderTarget2D)

void DrawRenderTarget(RenderTarget2D renderTarget)

Parameters

renderTarget RenderTarget2D

DrawRenderTarget(RenderTarget2D, int)

void DrawRenderTarget(RenderTarget2D renderTarget, int framebuffer)

Parameters

renderTarget RenderTarget2D
framebuffer int

DrawRenderTarget(int)

void DrawRenderTarget(int textureId)

Parameters

textureId int

DrawRenderTarget(int, int)

void DrawRenderTarget(int textureId, int framebuffer)

Parameters

textureId int
framebuffer int

DrawShape(Shape)

void DrawShape(Shape shape)

Parameters

shape Shape

DrawString2D(string, Vector2, Font, Vector4, float, FontAlignment)

void DrawString2D(string text, Vector2 position, Font font, Vector4 color, float scale = 1, FontAlignment alignment = FontAlignment.BottomLeft)

Parameters

text string
position Vector2
font Font
color Vector4
scale float
alignment FontAlignment

DrawTexture(Transform, Texture, Vector4)

void DrawTexture(Transform transform, Texture texture, Vector4 color)

Parameters

transform Transform
texture Texture
color Vector4

DrawTexture(Transform, int, Vector4)

void DrawTexture(Transform transform, int textureId, Vector4 color)

Parameters

transform Transform
textureId int
color Vector4

DrawTexture(Transform, int, Vector4, Vector4)

void DrawTexture(Transform transform, int textureId, Vector4 color, Vector4 uvTransform)

Parameters

transform Transform
textureId int
color Vector4
uvTransform Vector4

DrawTexture(Transform, int, Vector4, Vector4, Vector2)

void DrawTexture(Transform transform, int textureId, Vector4 color, Vector4 uvTransform, Vector2 uvScale)

Parameters

transform Transform
textureId int
color Vector4
uvTransform Vector4
uvScale Vector2

DrawVertexArray(Transform, int, int, PrimitiveTypes)

void DrawVertexArray(Transform transform, int vertexBuffer, int vertexCount, RenderFlags.PrimitiveTypes primitiveTypes)

Parameters

transform Transform
vertexBuffer int
vertexCount int
primitiveTypes RenderFlags.PrimitiveTypes

EnableBlend()

void EnableBlend()

EnableDepthTest()

void EnableDepthTest()

EnableVertexArrayAttribute(int)

void EnableVertexArrayAttribute(int index)

Parameters

index int

FillRect(Rect, Vector4, float)

void FillRect(Rect rect, Vector4 color, float rotation = 0)

Parameters

rect Rect
color Vector4
rotation float

FillRect3D(Transform, Vector4)

void FillRect3D(Transform transform, Vector4 color)

Parameters

transform Transform
color Vector4

Flush()

void Flush()

GetBufferData<T>(int, int, GFXBufferTarget)

T[] GetBufferData<T>(int buffer, int length, RenderFlags.GFXBufferTarget target) where T : unmanaged

Parameters

buffer int
length int
target RenderFlags.GFXBufferTarget

Returns

T[]

Type Parameters

T

GetContext()

IGLFWGraphicsContext GetContext()

Returns

IGLFWGraphicsContext

GetCullMode()

CullMode GetCullMode()

Returns

CullMode

GetCurrentBlendMode()

(int srcFactor, int dstFactor) GetCurrentBlendMode()

Returns

(int srcFactor, int dstFactor)

GetCurrentRenderTargetID()

int GetCurrentRenderTargetID()

Returns

int

GetError()

int GetError()

Returns

int

GetFramebufferIndex()

int GetFramebufferIndex()

Returns

int

GetPrimitiveMesh(PrimitiveType)

Mesh GetPrimitiveMesh(PrimitiveType type)

Parameters

type PrimitiveType

Returns

Mesh

GetProjectionMatrix()

Matrix4 GetProjectionMatrix()

Returns

Matrix4

GetRenderShader(string)

RenderShader GetRenderShader(string name)

Parameters

name string

Returns

RenderShader

GetRenderTargetData(MSAARenderTarget2D)

byte[] GetRenderTargetData(MSAARenderTarget2D renderTarget)

Parameters

renderTarget MSAARenderTarget2D

Returns

byte[]

GetRenderTargetData(MSAARenderTarget2D, int, int)

byte[] GetRenderTargetData(MSAARenderTarget2D renderTarget, int width, int height)

Parameters

renderTarget MSAARenderTarget2D
width int
height int

Returns

byte[]

GetRenderTargetSize(MSAARenderTarget2D)

Vector2i GetRenderTargetSize(MSAARenderTarget2D renderTarget)

Parameters

renderTarget MSAARenderTarget2D

Returns

Vector2i

GetShape(string)

Shape GetShape(string name)

Parameters

name string

Returns

Shape

GetUniformLocation(int, string)

int GetUniformLocation(int program, string name)

Parameters

program int
name string

Returns

int

GetViewMatrix()

Matrix4 GetViewMatrix()

Returns

Matrix4

GetViewport()

Viewport GetViewport()

Returns

Viewport

Init(Window)

void Init(Window window)

Parameters

window Window

Init(IGLFWGraphicsContext)

void Init(IGLFWGraphicsContext context)

Parameters

context IGLFWGraphicsContext

InitShape(Shape)

void InitShape(Shape shape)

Parameters

shape Shape

IsDepthTestEnabled()

bool IsDepthTestEnabled()

Returns

bool

IsRenderShaderRegistered(string)

bool IsRenderShaderRegistered(string name)

Parameters

name string

Returns

bool

LoadCubemap(Cubemap)

void LoadCubemap(Cubemap cubemap)

Parameters

cubemap Cubemap

LoadFont(string, int)

Font LoadFont(string path, int fontsize = 48)

Parameters

path string
fontsize int

Returns

Font

LoadInstanceContainer(RenderInstanceContainer)

void LoadInstanceContainer(RenderInstanceContainer container)

Parameters

container RenderInstanceContainer

LoadInstances(RenderInstanceContainer)

void LoadInstances(RenderInstanceContainer container)

Parameters

container RenderInstanceContainer

LoadMesh(Mesh)

void LoadMesh(Mesh mesh)

Parameters

mesh Mesh

LoadTexture(Texture)

void LoadTexture(Texture texture)

Parameters

texture Texture

LoadTexture(Texture, TextureParameters)

void LoadTexture(Texture texture, TextureParameters textureOptions)

Parameters

texture Texture
textureOptions TextureParameters

MakeCurrent()

void MakeCurrent()

MapBufferRange(GFXBufferTarget, int, int, MapBufferAccessMask)

nint MapBufferRange(RenderFlags.GFXBufferTarget target, int offset, int length, MapBufferAccessMask access)

Parameters

target RenderFlags.GFXBufferTarget
offset int
length int
access MapBufferAccessMask

Returns

nint

MemoryBarrier(MemoryBarrierFlags)

void MemoryBarrier(MemoryBarrierFlags barriers)

Parameters

barriers MemoryBarrierFlags

PrepareShader(string, TextureUnit, Texture)

void PrepareShader(string location, TextureUnit textureUnit, Texture texture)

Parameters

location string
textureUnit TextureUnit
texture Texture

PrepareShader(string, TextureUnit, int)

void PrepareShader(string location, TextureUnit textureUnit, int value)

Parameters

location string
textureUnit TextureUnit
value int

PrepareShader(string, Vector2)

void PrepareShader(string location, Vector2 value)

Parameters

location string
value Vector2

PrepareShader(string, Vector3)

void PrepareShader(string location, Vector3 value)

Parameters

location string
value Vector3

PrepareShader(string, Vector4)

void PrepareShader(string location, Vector4 value)

Parameters

location string
value Vector4

PrepareShader(string, bool)

void PrepareShader(string location, bool value)

Parameters

location string
value bool

PrepareShader(string, bool, Matrix4)

void PrepareShader(string location, bool transpose, Matrix4 value)

Parameters

location string
transpose bool
value Matrix4

PrepareShader(string, bool, Matrix4[])

void PrepareShader(string uniformName, bool transpose, Matrix4[] matrices)

Parameters

uniformName string
transpose bool
matrices Matrix4[]

PrepareShader(string, int)

void PrepareShader(string location, int value)

Parameters

location string
value int

PrepareShader(string, int, Cubemap)

void PrepareShader(string location, int textureUnit, Cubemap cubemap)

Parameters

location string
textureUnit int
cubemap Cubemap

PrepareShader(string, int, Texture)

void PrepareShader(string location, int textureUnit, Texture texture)

Parameters

location string
textureUnit int
texture Texture

PrepareShader(string, int, int)

void PrepareShader(string location, int textureUnit, int value)

Parameters

location string
textureUnit int
value int

PrepareShader(string, int, float[])

void PrepareShader(string location, int count, float[] value)

Parameters

location string
count int
value float[]

PrepareShader(string, float)

void PrepareShader(string location, float value)

Parameters

location string
value float

PrepareShaderVec2Array(string, int, float[])

void PrepareShaderVec2Array(string location, int count, float[] value)

Parameters

location string
count int
value float[]

PrepareShaderVec3Array(string, int, float[])

void PrepareShaderVec3Array(string location, int count, float[] value)

Parameters

location string
count int
value float[]

PrepareShaderVec4Array(string, int, float[])

void PrepareShaderVec4Array(string location, int count, float[] value)

Parameters

location string
count int
value float[]

RegisterRenderShader(string, RenderShader)

void RegisterRenderShader(string name, RenderShader shaderProgram)

Parameters

name string
shaderProgram RenderShader

ResizeRenderTarget(DepthOnlyRenderTarget, int, int)

void ResizeRenderTarget(DepthOnlyRenderTarget renderTarget, int width, int height)

Parameters

renderTarget DepthOnlyRenderTarget
width int
height int

ResizeRenderTarget(MSAARenderTarget2D, int, int)

void ResizeRenderTarget(MSAARenderTarget2D renderTarget, int width, int height)

Parameters

renderTarget MSAARenderTarget2D
width int
height int

ResizeRenderTarget(RenderTarget2D, int, int)

void ResizeRenderTarget(RenderTarget2D renderTarget, int width, int height)

Parameters

renderTarget RenderTarget2D
width int
height int

ResolveRenderTarget(MSAARenderTarget2D)

void ResolveRenderTarget(MSAARenderTarget2D renderTarget)

Parameters

renderTarget MSAARenderTarget2D

SetBlendMode(int, int)

void SetBlendMode(int srcFactor, int dstFactor)

Parameters

srcFactor int
dstFactor int

SetBufferData<T>(int, T[], GFXBufferTarget, GFXBufferUsageHint)

void SetBufferData<T>(int buffer, T[] data, RenderFlags.GFXBufferTarget target, RenderFlags.GFXBufferUsageHint bufferUsageHint) where T : unmanaged

Parameters

buffer int
data T[]
target RenderFlags.GFXBufferTarget
bufferUsageHint RenderFlags.GFXBufferUsageHint

Type Parameters

T

SetContext(IGLFWGraphicsContext)

void SetContext(IGLFWGraphicsContext context)

Parameters

context IGLFWGraphicsContext

SetCullMode(CullMode)

void SetCullMode(CullMode mode)

Parameters

mode CullMode

SetDepthMask(bool)

void SetDepthMask(bool value)

Parameters

value bool

SetDepthTest(bool)

void SetDepthTest(bool value)

Parameters

value bool

SetElementBufferData(int, int[], bool)

void SetElementBufferData(int buffer, int[] data, bool dynamic = false)

Parameters

buffer int
data int[]
dynamic bool

SetProjectionMatrix(Matrix4)

void SetProjectionMatrix(Matrix4 matrix)

Parameters

matrix Matrix4

SetVertexArrayAttribute(int, int, RenderDataTypes, bool, int, nint)

void SetVertexArrayAttribute(int index, int size, RenderFlags.RenderDataTypes type, bool normalized, int stride, nint pointer)

Parameters

index int
size int
type RenderFlags.RenderDataTypes
normalized bool
stride int
pointer nint

SetVertexBufferData<T>(int, T[], bool)

void SetVertexBufferData<T>(int buffer, T[] data, bool dynamic = false) where T : unmanaged

Parameters

buffer int
data T[]
dynamic bool

Type Parameters

T

SetViewMatrix(Matrix4)

void SetViewMatrix(Matrix4 matrix)

Parameters

matrix Matrix4

SetViewport(Viewport)

void SetViewport(Viewport viewport)

Parameters

viewport Viewport

SwapBuffers()

void SwapBuffers()

UnbindRenderTarget()

void UnbindRenderTarget()

UnbindShaderProgram()

void UnbindShaderProgram()

UnbindShaderStorageBuffer(int)

void UnbindShaderStorageBuffer(int binding)

Parameters

binding int

UnmapBuffer(GFXBufferTarget)

void UnmapBuffer(RenderFlags.GFXBufferTarget target)

Parameters

target RenderFlags.GFXBufferTarget

UpdateBufferData<T>(int, T[], int, GFXBufferTarget)

void UpdateBufferData<T>(int buffer, T[] data, int offset, RenderFlags.GFXBufferTarget target) where T : unmanaged

Parameters

buffer int
data T[]
offset int
target RenderFlags.GFXBufferTarget

Type Parameters

T

UpdateElementBufferData(int, int[], int)

void UpdateElementBufferData(int buffer, int[] data, int offset)

Parameters

buffer int
data int[]
offset int

UpdateInstance(RenderInstanceContainer, int)

void UpdateInstance(RenderInstanceContainer container, int instanceIndex)

Parameters

container RenderInstanceContainer
instanceIndex int

UpdateVertexBufferData<T>(int, T[], int)

void UpdateVertexBufferData<T>(int buffer, T[] data, int offset) where T : unmanaged

Parameters

buffer int
data T[]
offset int

Type Parameters

T

UseVsync(bool)

void UseVsync(bool value)

Parameters

value bool