IGraphicsContextFactory

Description

interface Tinman.Engine.Rendering.IGraphicsContextFactory

Base interface for classes that create IGraphicsContext instances.

Public / Methods

Get​Graphics​Context


[OwnerReturn]
public method GetGraphicsContext → ()

returns → IGraphicsContext

The graphics context.

Returns the graphics context for the current factory settings.

IOException

If an I/O error has occurred while loading the shader effects (see ShaderRepository).

RenderException

If CanCreateGraphicsContext returns false or if the graphics driver has returned an error.

Public / Attributes

Adapter​Ordinal


public attribute AdapterOrdinal → (get,set)

value : int32

The graphics adapter ordinal.

Chooses the graphics adapter.

If the given adapter ordinal is not valid, the default adapter will be used.

Defaults to 0.

Available​Video​Memory


public attribute AvailableVideoMemory → (get,set)

value : int32

[>=0]
The estimated total amount of GPU memory (dedicated + shared), in megabytes. If 0, the memory amount will be determined automatically. If this is not possible, the memory amount will be set to 1024.

The estimated total amount of GPU memory.

The default value is 0.

Can​Create​Graphics​Context


public attribute CanCreateGraphicsContext → (get)

value : bool

true if the graphics context is available, false if not.

Can this factory create a graphics context in the current environment?

The value of this property reflects the environment only, e.g. the availability of native libraries. It does not take into account the current application state, such as the presence of a primary window.

Multi​Sampling


public attribute MultiSampling → (get,set)

value : MultiSampleType

The multisampling type.

The multisampling type to use.

If the given multisampling type is not supported, the closest match will be used.

The default value is MultiSampleType.None.

Name


public attribute Name → (get)

value : string

[not-empty]
The graphics context factory name.

Human readable name of this graphics context factory.

Shader​Repository


public attribute ShaderRepository → (get,set)

value : Path

[not-null]
The shader repository path.

Path to the base directory of the GPU shader repository.

The shader repository is structured like this:

path/lang/api/

where path is the ShaderRepository, lang is the name of the shader programming language (e.g. glsl, hlsl) and api is the name tag of the graphics API (e.g. dx9, dx11, gl46).

The contents of the directory for a specific shader programming language and graphics API is defined by the corresponding IGraphicsContext implementation.

Vertical​Sync


public attribute VerticalSync → (get,set)

value : bool

true to enable vertical sync, false to disable it.

Enable vertical sync, if possible?

The default value is true.