Interface IRenderDevice
- Namespace
- LibGFX.Graphics
- Assembly
- LibGFX.dll
public interface IRenderDevice
Methods
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()
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()
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()
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()
DisableDepthTest()
DispatchCompute(int, int, int)
void DispatchCompute(int numGroupsX, int numGroupsY, int numGroupsZ)
Parameters
numGroupsX int
numGroupsY int
numGroupsZ int
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
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
void DrawMesh(Transform transform, Mesh mesh, IMaterial materialOverwrite = null)
Parameters
transform Transform
mesh Mesh
materialOverwrite IMaterial
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
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
void DrawVertexArray(Transform transform, int vertexBuffer, int vertexCount, RenderFlags.PrimitiveTypes primitiveTypes)
Parameters
transform Transform
vertexBuffer int
vertexCount int
primitiveTypes RenderFlags.PrimitiveTypes
EnableBlend()
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
void FillRect3D(Transform transform, Vector4 color)
Parameters
transform Transform
color Vector4
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()
Returns
- CullMode
GetCurrentBlendMode()
(int srcFactor, int dstFactor) GetCurrentBlendMode()
Returns
- (int srcFactor, int dstFactor)
GetCurrentRenderTargetID()
int GetCurrentRenderTargetID()
Returns
- 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
int GetUniformLocation(int program, string name)
Parameters
program int
name string
Returns
- int
GetViewMatrix()
Returns
- Matrix4
GetViewport()
Returns
- Viewport
Init(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)
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()
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()
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