Class GLGraphicsContext
Manages all graphical functionalities.
Implements
Inherited Members
Namespace: Evergine.OpenGL
Assembly: Evergine.OpenGL.dll
Syntax
public class GLGraphicsContext : GraphicsContext, IGetNativePointers
Constructors
GLGraphicsContext()
Initializes a new instance of the GLGraphicsContext class.
Declaration
public GLGraphicsContext()
GLGraphicsContext(GraphicsBackend?)
Initializes a new instance of the GLGraphicsContext class.
Declaration
public GLGraphicsContext(GraphicsBackend? targetGraphicsBackend)
Parameters
Type | Name | Description |
---|---|---|
GraphicsBackend? | targetGraphicsBackend | The target graphics backend for this graphics context. |
Fields
ComputePipelineStateCache
Computes the pipeline state cache.
Declaration
protected GLComputePipelineStateCache ComputePipelineStateCache
Field Value
Type | Description |
---|---|
GLComputePipelineStateCache |
Extensions
OpenGL extensions.
Declaration
public GLExtensions Extensions
Field Value
Type | Description |
---|---|
GLExtensions |
GraphicsContext
Graphic context.
Declaration
protected IOpenGLContext GraphicsContext
Field Value
Type | Description |
---|---|
IOpenGLContext |
GraphicsPipelineStateCache
Cache for the graphics pipeline state.
Declaration
protected GLGraphicsPipelineStateCache GraphicsPipelineStateCache
Field Value
Type | Description |
---|---|
GLGraphicsPipelineStateCache |
Properties
BackendType
Gets the backend type (DirectX, OpenGL, etc.)
Declaration
public override GraphicsBackend BackendType { get; }
Property Value
Type | Description |
---|---|
GraphicsBackend |
Overrides
Capabilities
Gets the capabilities of this graphics context.
Declaration
public override GraphicsContextCapabilities Capabilities { get; }
Property Value
Type | Description |
---|---|
GraphicsContextCapabilities |
Overrides
NativeDevicePointer
Gets the native device pointer.
Declaration
public override nint NativeDevicePointer { get; }
Property Value
Type | Description |
---|---|
nint |
Overrides
Methods
CreateDefaultSampler()
Creates the default sampler.
Declaration
protected override void CreateDefaultSampler()
Overrides
CreateDeviceInternal()
Initializes the graphics context to be used in a compute shader.
Declaration
public override void CreateDeviceInternal()
Overrides
CreateSwapChain(SwapChainDescription)
Initializes the swap chain.
Declaration
public override SwapChain CreateSwapChain(SwapChainDescription description)
Parameters
Type | Name | Description |
---|---|---|
SwapChainDescription | description | The swap chain descriptor. |
Returns
Type | Description |
---|---|
SwapChain | Created Swap chain. |
Overrides
Dispose(bool)
Releases unmanaged and optionally managed resources.
Declaration
protected override void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
bool | disposing |
|
Overrides
GenerateTextureMipmapping(Texture)
Generates mipmapping texture levels.
Declaration
public override bool GenerateTextureMipmapping(Texture texture)
Parameters
Type | Name | Description |
---|---|---|
Texture | texture | The texture for which mipmapping is generated. |
Returns
Type | Description |
---|---|
bool | True if the mipmapping has been generated. |
Overrides
GetNativePointer(string, out nint)
Obtains a native pointer for this graphics context using the given key.
Declaration
public override bool GetNativePointer(string pointerKey, out nint nativePointer)
Parameters
Type | Name | Description |
---|---|---|
string | pointerKey | The pointer key. |
nint | nativePointer | The native pointer. |
Returns
Type | Description |
---|---|
bool | True if there is an available pointer with this key. |
Overrides
InternalUpdateBufferData(Buffer, nint, uint, uint)
Fills the buffer from a pointer.
Declaration
protected override void InternalUpdateBufferData(Buffer buffer, nint source, uint sourceSizeInBytes, uint destinationOffsetInBytes = 0)
Parameters
Type | Name | Description |
---|---|---|
Buffer | buffer | Buffer instance. |
nint | source | The data pointer. |
uint | sourceSizeInBytes | The size in bytes. |
uint | destinationOffsetInBytes | The offset in bytes. |
Overrides
MapMemory(GraphicsResource, MapMode, uint)
Declaration
public override MappedResource MapMemory(GraphicsResource resource, MapMode mode, uint subResource = 0)
Parameters
Type | Name | Description |
---|---|---|
GraphicsResource | resource | The graphics resource to map. |
MapMode | mode | The MapMode used to map the resource. |
uint | subResource | The subresource to map. Subresources are indexed first by mip slice and then by array layer. Applies only to Textures. |
Returns
Type | Description |
---|---|
MappedResource | A MappedResource structure describing the mapped data region. |
Overrides
ShaderCompile(string, string, ShaderStages, CompilerParameters)
Converts the shader source into bytecode.
Declaration
public override CompilationResult ShaderCompile(string shaderSource, string entryPoint, ShaderStages stage, CompilerParameters parameters)
Parameters
Type | Name | Description |
---|---|---|
string | shaderSource | The shader source text. |
string | entryPoint | The entry point function name. |
ShaderStages | stage | The shader stage, ShaderStages. |
CompilerParameters | parameters | The compiler parameters. |
Returns
Type | Description |
---|---|
CompilationResult | The shader bytecode. |
Overrides
ToOpenGL(ElementFormat, out int, out bool)
Converts from ElementFormat to VertexAttribPointerType.
Declaration
protected VertexAttribPointerType ToOpenGL(ElementFormat format, out int size, out bool normalized)
Parameters
Type | Name | Description |
---|---|---|
ElementFormat | format | The element format. |
int | size | The number of components per generic vertex attribute. Must be 1, 2, 3, or 4. |
bool | normalized | Indicates if this is a normalized format. |
Returns
Type | Description |
---|---|
VertexAttribPointerType | The VertexAttribPointerType. |
UnmapMemory(GraphicsResource, uint)
Declaration
public override void UnmapMemory(GraphicsResource resource, uint subResource = 0)
Parameters
Type | Name | Description |
---|---|---|
GraphicsResource | resource | The graphics resource to unmap. |
uint | subResource | The subresource to unmap. Subresources are indexed first by mip slice and then by array layer. Only for Textures. |
Overrides
UpdateTextureData(Texture, nint, uint, uint)
Fills the buffer from a pointer.
Declaration
public override void UpdateTextureData(Texture texture, nint source, uint sourceSizeInBytes, uint subResource = 0)
Parameters
Type | Name | Description |
---|---|---|
Texture | texture | Texture instance. |
nint | source | The data pointer. |
uint | sourceSizeInBytes | The size in bytes. |
uint | subResource | The sub-resource index. |