Search Results for

    Show / Hide Table of Contents

    Class GLGraphicsContext

    Manages all graphical functionalities.

    Inheritance
    object
    GraphicsContext
    GLGraphicsContext
    Implements
    IGetNativePointers
    Inherited Members
    GraphicsContext.TimestampFrequency
    GraphicsContext.DefaultSampler
    GraphicsContext.ValidationLayer
    GraphicsContext.IsValidationLayerEnabled
    GraphicsContext.Factory
    GraphicsContext.AvailablePointerKeys
    GraphicsContext.DefaultTextureUploaderSize
    GraphicsContext.DefaultBufferUploaderSize
    GraphicsContext.CreateDevice(ValidationLayer)
    GraphicsContext.UpdateBufferData<T>(Buffer, T[], uint)
    GraphicsContext.UpdateBufferData<T>(Buffer, T[], uint, uint)
    GraphicsContext.UpdateBufferData<T>(Buffer, ref T, uint)
    GraphicsContext.UpdateBufferData(Buffer, nint, uint, uint)
    GraphicsContext.UpdateTextureData<T>(Texture, T[], uint)
    GraphicsContext.UpdateTextureData<T>(Texture, T[], uint, uint)
    GraphicsContext.UpdateTextureData<T>(Texture, ref T, uint)
    GraphicsContext.ShaderCompile(string, string, ShaderStages)
    GraphicsContext.SyncUpcopyQueue()
    GraphicsContext.Dispose()
    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
    GraphicsContext.BackendType

    Capabilities

    Gets the capabilities of this graphics context.

    Declaration
    public override GraphicsContextCapabilities Capabilities { get; }
    Property Value
    Type Description
    GraphicsContextCapabilities
    Overrides
    GraphicsContext.Capabilities

    NativeDevicePointer

    Gets the native device pointer.

    Declaration
    public override nint NativeDevicePointer { get; }
    Property Value
    Type Description
    nint
    Overrides
    GraphicsContext.NativeDevicePointer

    Methods

    CreateDefaultSampler()

    Creates the default sampler.

    Declaration
    protected override void CreateDefaultSampler()
    Overrides
    GraphicsContext.CreateDefaultSampler()

    CreateDeviceInternal()

    Initializes the graphics context to be used in a compute shader.

    Declaration
    public override void CreateDeviceInternal()
    Overrides
    GraphicsContext.CreateDeviceInternal()

    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
    GraphicsContext.CreateSwapChain(SwapChainDescription)

    Dispose(bool)

    Releases unmanaged and optionally managed resources.

    Declaration
    protected override void Dispose(bool disposing)
    Parameters
    Type Name Description
    bool disposing

    true to release both managed and unmanaged resources; false to release only unmanaged resources.

    Overrides
    GraphicsContext.Dispose(bool)

    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
    GraphicsContext.GenerateTextureMipmapping(Texture)

    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
    GraphicsContext.GetNativePointer(string, out nint)

    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
    GraphicsContext.InternalUpdateBufferData(Buffer, nint, uint, uint)

    MapMemory(GraphicsResource, MapMode, uint)

    Maps a Buffer or Texture to a CPU-accessible data region.

    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
    GraphicsContext.MapMemory(GraphicsResource, MapMode, uint)

    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
    GraphicsContext.ShaderCompile(string, string, ShaderStages, CompilerParameters)

    ToOpenGL(ElementFormat, out int, out bool, out bool)

    Converts from ElementFormat to VertexAttribPointerType.

    Declaration
    protected VertexAttribPointerType ToOpenGL(ElementFormat format, out int size, out bool normalized, out bool isFloat)
    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.

    bool isFloat

    The formmat is floating point.

    Returns
    Type Description
    VertexAttribPointerType

    The VertexAttribPointerType.

    UnmapMemory(GraphicsResource, uint)

    Invalidates a previously-mapped data region for the given Buffer or Texture.

    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
    GraphicsContext.UnmapMemory(GraphicsResource, uint)

    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.

    Overrides
    GraphicsContext.UpdateTextureData(Texture, nint, uint, uint)

    Implements

    IGetNativePointers

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX