Encompasses all API of component NilkinsGraphics. More...
Classes | |
struct | AttributeGenerationInfo |
Holds information for an attribute generation request. More... | |
struct | AttributeGenerationOutput |
Describes the output of an attribute generation operation. More... | |
class | AttributeGranularityUtils |
Offers utility to work with the associated enumeration. More... | |
class | BlendState |
Holds all information about the blend operations to use when rendering. More... | |
class | BlendStateManager |
Manages the blend states recorded. More... | |
class | BoundingBox |
A bounding box. Often used to encompass object's bounds in the world. More... | |
class | Buffer |
A buffer that will reside on the GPU. More... | |
class | BufferManager |
Manages the buffers recorded. More... | |
struct | BufferSubResourceDescriptor |
Describes how a buffer should be mapped. More... | |
class | Camera |
Offers all controls to model a camera. More... | |
class | CameraManager |
Manages the cameras recorded. More... | |
class | ClearTargetsPass |
A clear target pass, during which some targets are cleared. More... | |
class | ComparisonFunctionUtils |
Offers utility to work with the associated enumeration. More... | |
struct | CompositeDecodeOptions |
Aggregates all decoding options available for composite decoding. More... | |
class | CompositeEncoder |
Allows to work with all formats supported, automatically. More... | |
class | Compositor |
A compositor, describing how to compose the rendering pipeline. More... | |
class | CompositorManager |
Manages the compositors recorded. More... | |
class | CompositorNode |
A node in the rendering graph described by a Compositor. More... | |
class | ComputePass |
A compute pass, during which a compute dispatch is launched. More... | |
class | Configuration |
Configuration for the system's initialization. More... | |
class | ConstantBuffer |
Describes a constant buffer. More... | |
class | ContentLoader |
Utility class that allows to load content through their declaration files. More... | |
class | ContentLoadResult |
Holds information about an attempt of parsing content declaration sources. More... | |
struct | DecodedData |
Holds the result of an Encoder's decoding operation. More... | |
struct | DecodedEntityData |
Holds data about a decoded entity. More... | |
struct | DecodedMaterialData |
Holds data about a decoded material. More... | |
struct | DecodedMeshData |
Holds data about a decoded mesh. More... | |
struct | DecodedNodeData |
Holds data about a decoded node. More... | |
struct | DecodedTextureData |
Holds data about a decoded texture. More... | |
class | DefaultRenderStrategy |
The default render strategy used within the component. More... | |
class | DepthStencilState |
Holds information about a depth and stencil state used for rendering. More... | |
class | DepthStencilStateManager |
Manages the depth stencil states recorded. More... | |
class | Entity |
An entity in a render queue. It drives the shader and possible graph position for a set of renderables (SubEntity). More... | |
class | EntityRenderInfo |
Compiles the render information for an Entity to use within a RenderQueue. More... | |
class | EntityRenderInfoSlot |
A slot within the render information. More... | |
class | EntityRenderLodSlot |
A LOD slot to potentially draw, within a group slot. More... | |
class | FilterUtils |
Offers utility to work with the associated enumeration. More... | |
class | Frustum |
Defines a frustum. More... | |
class | GlobalTimer |
A timer, giving timing capabilities. More... | |
struct | GltfDecodeOptions |
Decoding options for GlTF models. More... | |
class | GltfEncoder |
Allows to work with the GLTF 2 format (Do not use, WIP). More... | |
class | GltfEncoderUtils |
Used internally. More... | |
class | IndexFormatUtils |
Provides utility functions around the INDEX_FORMAT enum. More... | |
class | InfiniteBitMask |
A utility class providing "infinite" masks, formed by bits, or booleans. More... | |
class | InfiniteMask |
A more generic version of the InfiniteBitMask. More... | |
class | InstancingPass |
A pass doing an instanced draw, during which one mesh is drawn X times, in one go. More... | |
class | LogManager |
Responsible for logging all messages from the component. More... | |
struct | MacroEntry |
Holds information about a macro entry. More... | |
class | Manager |
Base class for resource managers. More... | |
struct | MapRequestDescriptor |
A description of a request to map a resource. More... | |
struct | MapResult |
Contains all information of the result of a map operation on a resource. More... | |
class | Mesh |
Holds information about a mesh. Used as a basis to render 3d models. More... | |
struct | MeshFillOptions |
Describes how a filling operation should behave. More... | |
class | MeshInputLayout |
Describes the layout of data inside a mesh. More... | |
struct | MeshInputLayoutAttribute |
Describes an attribute in a mesh layout. More... | |
class | MeshManager |
Manages the meshes recorded. More... | |
class | MeshUtils |
Offers capabilities to ease the manipulation of meshes in some contexts. More... | |
class | MonoMaterialPass |
A pass rendering the scene, using only one shader to render all the meshes enqueued. More... | |
class | Node |
Represents a node in a scene graph. More... | |
class | NodeChangeListener |
A base class for a listener for node changes. More... | |
class | NodeManager |
Manages the nodes recorded. More... | |
struct | ObjDecodeOptions |
Describes all options available when decoding the obj format. More... | |
class | ObjEncoder |
Allows to work with the Obj format. More... | |
struct | PackedMeshData |
Holds mesh low-level data once packed by the MeshUtils. More... | |
class | Pass |
The base for a pass within a TargetOperations. More... | |
class | PostProcessPass |
A post processing pass, during which a shader is used to render a quad fitting on the screen. More... | |
class | PrimitiveTopologyUtils |
Offers utility to work with the associated enumeration. More... | |
class | Program |
Holds all informations related to GPU programs, and manages their compilation. More... | |
class | ProgramCompilationResult |
Holds information about a complation result, from a program. More... | |
class | ProgramManager |
Manages the programs recorded. More... | |
class | ProgramSourcesHolder |
Holds the sources of a program. More... | |
class | RasterState |
Holds information about a raster state. More... | |
class | RasterStateManager |
Manages the raster states available in the component. More... | |
class | RaytracingPass |
A raytracing pass. Dispatches rays, using hardware acceleration. More... | |
class | RenderCommand |
Describes a render command and provides the necessary information for it to happen. More... | |
class | RenderCommandQueue |
A queue of rendering commands. More... | |
class | RenderContext |
A rendering context, attached to a window or an offscreen texture. More... | |
class | RenderContextDescriptor |
A descriptor, used when creating a context along with its window. More... | |
class | RenderContextManager |
Manages the render contexts recorded. More... | |
class | Renderer |
A renderer, implementing the logic of using a graphics API. More... | |
struct | RendererSupportInfo |
Informations about the supported features. More... | |
class | RenderQueue |
A render queue, where all items that have to be rendered are queued. More... | |
class | RenderQueueManager |
Manages the render queues recorded. More... | |
class | RenderScenePass |
A pass rendering render queues. More... | |
class | RenderStrategy |
A render strategy, used by a render queue to prepare the render commands. More... | |
class | Resource |
Base class for a resource in the component. More... | |
class | ResourceDeclAugmentCallback |
A callback called whenever a resource is being processed, during a save or load of resource set. More... | |
struct | ResourceGpuCopyDescriptor |
Holds information about a resource copy happening on the GPU only. More... | |
class | ResourceManager |
Generic resource manager, enabling more intelligent processing of resources, compared to the ContentLoader. More... | |
class | ResourceSetLoadQuery |
Holds information about a resource set (project) load query. More... | |
class | ResourceSetLoadResult |
Holds the result of a loading operation for a resource set. More... | |
class | ResourceSetSaveQuery |
Holds information about a resource set (project) saving query. More... | |
class | Sampler |
Holds all the information needed of a sampler used during rendering. More... | |
class | SamplerManager |
Manages the samplers recorded. More... | |
class | ScreenshotTaker |
Utility class helping to isolate data from a render context. More... | |
class | Shader |
A shader class, feeding data to a Program. More... | |
class | ShaderBoundResourceDesc |
Holds information about a resource linked in a shader for feeding. More... | |
class | ShaderInstanceCustomDummySlot |
A dummy custom instance slot. More... | |
class | ShaderInstanceCustomSlot |
A custom slot, implementable by external code. More... | |
class | ShaderInstanceMemorySlot |
A memory slot for per instance data in a Shader. More... | |
class | ShaderManager |
Manages the shaders recorded. More... | |
class | ShaderMemorySlot |
A memory slot in a memory resource. More... | |
class | ShaderPassCustomDummySlot |
A dummy custom pass slot. More... | |
class | ShaderPassCustomSlot |
A custom slot, implementable by external code. More... | |
class | ShaderPassMemorySlot |
A memory slot that fits into a ConstantBuffer. The slot fills entries within the buffer. More... | |
class | ShaderResource |
Base class for shader resources. Those are resources that can be fed to a Shader. More... | |
class | StreamOutputDescriptor |
Holds information about a stream output slot. More... | |
class | StructToString |
Converts enums to string, and vice versa. More... | |
class | System |
Main interface with the component system. More... | |
class | TargetDescriptor |
Describes how a target should be addressed during rendering. More... | |
class | TargetOperations |
Describes a target operation set. More... | |
class | Texture |
A texture used for rendering, hosted on GPU. More... | |
class | TextureAddressModeUtils |
Offers utility to work with the associated enumeration. More... | |
class | TextureManager |
Manages the textures available in the component. More... | |
class | TextureSaver |
Utility class to save texture contents in files. More... | |
struct | TextureSubResourceDescriptor |
Describes how a texture should be mapped. More... | |
class | TextureUtils |
Utility class to retrieve or compute interesting data about textures. More... | |
struct | UnmapRequestDescriptor |
Description of an unmap request. More... | |
struct | VertexComposition |
Describes how VertexData should be interpreted when generating low-level mesh data. More... | |
struct | VertexData |
A high-level mesh data representation. More... | |
class | Viewport |
Holds all the information needed about a viewport. More... | |
class | ViewportManager |
Manages the viewports available in the component. More... | |
Enumerations | |
enum | BUFFER_BIND_FLAG { BUFFER_BIND_FLAG::BIND_NONE = 0, BUFFER_BIND_FLAG::BIND_VERTEX_BUFFER = 0x1L, BUFFER_BIND_FLAG::BIND_INDEX_BUFFER = 0x2L, BUFFER_BIND_FLAG::BIND_CONSTANT_BUFFER = 0x4L, BUFFER_BIND_FLAG::BIND_SHADER_RESOURCE = 0x8L, BUFFER_BIND_FLAG::BIND_STREAM_OUTPUT = 0x10L, BUFFER_BIND_FLAG::BIND_RENDER_TARGET = 0x20L, BUFFER_BIND_FLAG::BIND_DEPTH_STENCIL = 0x40L, BUFFER_BIND_FLAG::BIND_UNORDERED_ACCESS = 0x80L, BUFFER_BIND_FLAG::BIND_DECODER = 0x200L, BUFFER_BIND_FLAG::BIND_VIDEO_ENCODER = 0x400L } |
Available binding flags for buffers. More... | |
enum | BUFFER_CPU_ACCESS_FLAG { BUFFER_CPU_ACCESS_FLAG::CPU_ACCESS_NONE = 0, BUFFER_CPU_ACCESS_FLAG::CPU_ACCESS_WRITE = 0x10000L, BUFFER_CPU_ACCESS_FLAG::CPU_ACCESS_READ = 0x20000L, BUFFER_CPU_ACCESS_FLAG::CPU_ACCESS_READ_WRITE = CPU_ACCESS_WRITE | CPU_ACCESS_READ } |
Available cpu access flags. More... | |
enum | BUFFER_USAGE { BUFFER_USAGE::USAGE_DEFAULT = 0, BUFFER_USAGE::USAGE_IMMUTABLE = 1, BUFFER_USAGE::USAGE_DYNAMIC = 2, BUFFER_USAGE::USAGE_STAGING = 3 } |
Available usage for buffers. Drives the memory used for hosting the data. More... | |
enum | PROJECTION_TYPE { PROJECTION_TYPE::PERSPECTIVE = 0, PROJECTION_TYPE::ORTHOGRAPHIC } |
Lists all possible projection types for a camera. More... | |
enum | OBJ_SPACE { OBJ_SPACE::UP_Y_FRONT_Z = 0, OBJ_SPACE::UP_Y_FRONT_MINUS_Z } |
Enumerates all supported spaces the obj data can come from. More... | |
enum | CONTENT_LOAD_RESULT_STATE { CONTENT_LOAD_RESULT_STATE::SUCCESS = 0, CONTENT_LOAD_RESULT_STATE::PARTIAL, CONTENT_LOAD_RESULT_STATE::FAILURE } |
The available values for a parsing attempt result. More... | |
enum | ATTRIBUTE_GRANULARITY { ATTRIBUTE_GRANULARITY::PER_VERTEX = 0, ATTRIBUTE_GRANULARITY::PER_INSTANCE = 1 } |
Enumerates all granularity available when feeding attribute data. More... | |
enum | INDEX_FORMAT { INDEX_FORMAT::UINT8 = 0, INDEX_FORMAT::UINT16, INDEX_FORMAT::UINT32 } |
Enumerates all formats supported for indices in a mesh. More... | |
enum | PRIMITIVE_TOPOLOGY { PRIMITIVE_TOPOLOGY::PRIMITIVE_TOPOLOGY_UNDEFINED = 0, PRIMITIVE_TOPOLOGY::POINTLIST = 1, PRIMITIVE_TOPOLOGY::LINELIST = 2, PRIMITIVE_TOPOLOGY::LINESTRIP = 3, PRIMITIVE_TOPOLOGY::TRIANGLELIST = 4, PRIMITIVE_TOPOLOGY::TRIANGLESTRIP = 5, PRIMITIVE_TOPOLOGY::LINELIST_ADJ = 10, PRIMITIVE_TOPOLOGY::LINESTRIP_ADJ = 11, PRIMITIVE_TOPOLOGY::TRIANGLELIST_ADJ = 12, PRIMITIVE_TOPOLOGY::TRIANGLESTRIP_ADJ = 13, PRIMITIVE_TOPOLOGY::PATCHLIST_1_CONTROL_POINT = 33, PRIMITIVE_TOPOLOGY::PATCHLIST_2_CONTROL_POINT = 34, PRIMITIVE_TOPOLOGY::PATCHLIST_3_CONTROL_POINT = 35, PRIMITIVE_TOPOLOGY::PATCHLIST_4_CONTROL_POINT = 36, PRIMITIVE_TOPOLOGY::PATCHLIST_5_CONTROL_POINT = 37, PRIMITIVE_TOPOLOGY::PATCHLIST_6_CONTROL_POINT = 38, PRIMITIVE_TOPOLOGY::PATCHLIST_7_CONTROL_POINT = 39, PRIMITIVE_TOPOLOGY::PATCHLIST_8_CONTROL_POINT = 40, PRIMITIVE_TOPOLOGY::PATCHLIST_9_CONTROL_POINT = 41, PRIMITIVE_TOPOLOGY::PATCHLIST_10_CONTROL_POINT = 42, PRIMITIVE_TOPOLOGY::PATCHLIST_11_CONTROL_POINT = 43, PRIMITIVE_TOPOLOGY::PATCHLIST_12_CONTROL_POINT = 44, PRIMITIVE_TOPOLOGY::PATCHLIST_13_CONTROL_POINT = 45, PRIMITIVE_TOPOLOGY::PATCHLIST_14_CONTROL_POINT = 46, PRIMITIVE_TOPOLOGY::PATCHLIST_15_CONTROL_POINT = 47, PRIMITIVE_TOPOLOGY::PATCHLIST_16_CONTROL_POINT = 48, PRIMITIVE_TOPOLOGY::PATCHLIST_17_CONTROL_POINT = 49, PRIMITIVE_TOPOLOGY::PATCHLIST_18_CONTROL_POINT = 50, PRIMITIVE_TOPOLOGY::PATCHLIST_19_CONTROL_POINT = 51, PRIMITIVE_TOPOLOGY::PATCHLIST_20_CONTROL_POINT = 52, PRIMITIVE_TOPOLOGY::PATCHLIST_21_CONTROL_POINT = 53, PRIMITIVE_TOPOLOGY::PATCHLIST_22_CONTROL_POINT = 54, PRIMITIVE_TOPOLOGY::PATCHLIST_23_CONTROL_POINT = 55, PRIMITIVE_TOPOLOGY::PATCHLIST_24_CONTROL_POINT = 56, PRIMITIVE_TOPOLOGY::PATCHLIST_25_CONTROL_POINT = 57, PRIMITIVE_TOPOLOGY::PATCHLIST_26_CONTROL_POINT = 58, PRIMITIVE_TOPOLOGY::PATCHLIST_27_CONTROL_POINT = 59, PRIMITIVE_TOPOLOGY::PATCHLIST_28_CONTROL_POINT = 60, PRIMITIVE_TOPOLOGY::PATCHLIST_29_CONTROL_POINT = 61, PRIMITIVE_TOPOLOGY::PATCHLIST_30_CONTROL_POINT = 62, PRIMITIVE_TOPOLOGY::PATCHLIST_31_CONTROL_POINT = 63, PRIMITIVE_TOPOLOGY::PATCHLIST_32_CONTROL_POINT = 64 } |
Enumerates all primitive topologies supported for meshes. More... | |
enum | DATA_FILL_TYPE { DATA_FILL_TYPE::COPY = 0, DATA_FILL_TYPE::FORWARD, DATA_FILL_TYPE::REFERENCE } |
Enumerates available data fill types. More... | |
enum | PASS_TYPE { PASS_TYPE::UNKNOWN = 0, PASS_TYPE::CLEAR_TARGETS, PASS_TYPE::COMPUTE, PASS_TYPE::INSTANCING, PASS_TYPE::MONO_MATERIAL, PASS_TYPE::POST_PROCESS, PASS_TYPE::RENDER_SCENE, PASS_TYPE::RAYTRACING } |
The pass types available in the component. More... | |
enum | PROGRAM_TYPE : int { PROGRAM_TYPE::UNKNOWN = 0, PROGRAM_TYPE::COMPUTE, PROGRAM_TYPE::GEOMETRY, PROGRAM_TYPE::PIPELINE, PROGRAM_TYPE::RAYTRACING } |
The type of programs available. More... | |
enum | RENDERING_API { RENDERING_API::AUTOMATIC = 0, RENDERING_API::D3D11, RENDERING_API::D3D12, RENDERING_API::GLES } |
Enumerates supported graphics API. More... | |
enum | RENDER_COMMAND_TYPE { RENDER_COMMAND_TYPE::UNKNOWN = 0, RENDER_COMMAND_TYPE::CHANGE_SHADER, RENDER_COMMAND_TYPE::CHANGE_MESH, RENDER_COMMAND_TYPE::DRAW, RENDER_COMMAND_TYPE::PREPARE_INSTANCE } |
Lists available commands for a RenderStrategy to provide. More... | |
enum | RESOURCE_MISC_FLAG { RESOURCE_MISC_FLAG::RESOURCE_MISC_NONE = 0, RESOURCE_MISC_FLAG::RESOURCE_MISC_GENERATE_MIPS = 0x1L, RESOURCE_MISC_FLAG::RESOURCE_MISC_SHARED = 0x2L, RESOURCE_MISC_FLAG::RESOURCE_MISC_TEXTURECUBE = 0x4L, RESOURCE_MISC_FLAG::RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10L, RESOURCE_MISC_FLAG::RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20L, RESOURCE_MISC_FLAG::RESOURCE_MISC_BUFFER_STRUCTURED = 0x40L, RESOURCE_MISC_FLAG::RESOURCE_MISC_RESOURCE_CLAMP = 0x80L, RESOURCE_MISC_FLAG::RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100L, RESOURCE_MISC_FLAG::RESOURCE_MISC_GDI_COMPATIBLE = 0x200L, RESOURCE_MISC_FLAG::RESOURCE_MISC_SHARED_NTHANDLE = 0x800L, RESOURCE_MISC_FLAG::RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000L, RESOURCE_MISC_FLAG::RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000L, RESOURCE_MISC_FLAG::RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000L, RESOURCE_MISC_FLAG::RESOURCE_MISC_GUARDED = 0x8000L, RESOURCE_MISC_FLAG::RESOURCE_MISC_TILE_POOL = 0x20000L, RESOURCE_MISC_FLAG::RESOURCE_MISC_TILED = 0x40000L, RESOURCE_MISC_FLAG::RESOURCE_MISC_HW_PROTECTED = 0x80000L } |
Available misc flags for resources. More... | |
enum | RESOURCE_LOAD_STATE { RESOURCE_LOAD_STATE::UNLOADED = 0, RESOURCE_LOAD_STATE::LOADING, RESOURCE_LOAD_STATE::READY_FOR_RENDERING, RESOURCE_LOAD_STATE::LOADED } |
The resource load states possible. More... | |
enum | RESOURCE_TYPE { RESOURCE_TYPE::UNKNOWN = 0, RESOURCE_TYPE::COMPOSITOR, RESOURCE_TYPE::MESH, RESOURCE_TYPE::BLEND_STATE, RESOURCE_TYPE::DEPTH_STENCIL_STATE, RESOURCE_TYPE::RASTER_STATE, RESOURCE_TYPE::PROGRAM, RESOURCE_TYPE::SHADER, RESOURCE_TYPE::BUFFER, RESOURCE_TYPE::ACCELERATION_STRUCTURE, RESOURCE_TYPE::TEXTURE, RESOURCE_TYPE::SAMPLER, RESOURCE_TYPE::NODE_WRAPPER } |
The type of resources available in the component. More... | |
enum | COMPARISON_FUNCTION { COMPARISON_FUNCTION::FUNCTION_NEVER = 1, COMPARISON_FUNCTION::FUNCTION_LESS = 2, COMPARISON_FUNCTION::FUNCTION_EQUAL = 3, COMPARISON_FUNCTION::FUNCTION_LESS_EQUAL = 4, COMPARISON_FUNCTION::FUNCTION_GREATER = 5, COMPARISON_FUNCTION::FUNCTION_NOT_EQUAL = 6, COMPARISON_FUNCTION::FUNCTION_GREATER_EQUAL = 7, COMPARISON_FUNCTION::FUNCTION_ALWAYS = 8 } |
Available comparison functions available during sampling (for samplers, and depth stencil states). More... | |
enum | FILTER { MIN_MAG_MIP_POINT = 0, MIN_MAG_POINT_MIP_LINEAR = 0x1, MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, MIN_POINT_MAG_MIP_LINEAR = 0x5, MIN_LINEAR_MAG_MIP_POINT = 0x10, MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, MIN_MAG_LINEAR_MIP_POINT = 0x14, MIN_MAG_MIP_LINEAR = 0x15, ANISOTROPIC = 0x55, COMPARISON_MIN_MAG_MIP_POINT = 0x80, COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, COMPARISON_ANISOTROPIC = 0xd5, MINIMUM_MIN_MAG_MIP_POINT = 0x100, MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, MINIMUM_ANISOTROPIC = 0x155, MAXIMUM_MIN_MAG_MIP_POINT = 0x180, MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, MAXIMUM_ANISOTROPIC = 0x1d5 } |
Available filtering methods a sampler can use, when magnifying or minifying during sampling. | |
enum | TEXTURE_ADDRESS_MODE { TEXTURE_ADDRESS_MODE::MODE_WRAP = 1, TEXTURE_ADDRESS_MODE::MODE_MIRROR = 2, TEXTURE_ADDRESS_MODE::MODE_CLAMP = 3, TEXTURE_ADDRESS_MODE::MODE_BORDER = 4, TEXTURE_ADDRESS_MODE::MODE_MIRROR_ONCE = 5 } |
Available address mode for the samplers. More... | |
enum | TEX_TYPE { TEX_TYPE::TEX_2D = 0, TEX_TYPE::TEX_3D, TEX_TYPE::TEX_CUBEMAP } |
The type a texture can be. More... | |
enum | TEX_RENDER_FLAG { TEX_RENDER_FLAG::NO_RENDER = 0, TEX_RENDER_FLAG::RENDER_TARGET, TEX_RENDER_FLAG::DEPTH_RENDER_TARGET } |
The render flag possible for a texture. More... | |
enum | FORMAT { UNKNOWN_FORMAT = 0, R32G32B32A32_TYPELESS = 1, R32G32B32A32_FLOAT = 2, R32G32B32A32_UINT = 3, R32G32B32A32_SINT = 4, R32G32B32_TYPELESS = 5, R32G32B32_FLOAT = 6, R32G32B32_UINT = 7, R32G32B32_SINT = 8, R16G16B16A16_TYPELESS = 9, R16G16B16A16_FLOAT = 10, R16G16B16A16_UNORM = 11, R16G16B16A16_UINT = 12, R16G16B16A16_SNORM = 13, R16G16B16A16_SINT = 14, R32G32_TYPELESS = 15, R32G32_FLOAT = 16, R32G32_UINT = 17, R32G32_SINT = 18, R32G8X24_TYPELESS = 19, D32_FLOAT_S8X24_UINT = 20, R32_FLOAT_X8X24_TYPELESS = 21, X32_TYPELESS_G8X24_UINT = 22, R10G10B10A2_TYPELESS = 23, R10G10B10A2_UNORM = 24, R10G10B10A2_UINT = 25, R11G11B10_FLOAT = 26, R8G8B8A8_TYPELESS = 27, R8G8B8A8_UNORM = 28, R8G8B8A8_UNORM_SRGB = 29, R8G8B8A8_UINT = 30, R8G8B8A8_SNORM = 31, R8G8B8A8_SINT = 32, R16G16_TYPELESS = 33, R16G16_FLOAT = 34, R16G16_UNORM = 35, R16G16_UINT = 36, R16G16_SNORM = 37, R16G16_SINT = 38, R32_TYPELESS = 39, D32_FLOAT = 40, R32_FLOAT = 41, R32_UINT = 42, R32_SINT = 43, R24G8_TYPELESS = 44, D24_UNORM_S8_UINT = 45, R24_UNORM_X8_TYPELESS = 46, X24_TYPELESS_G8_UINT = 47, R8G8_TYPELESS = 48, R8G8_UNORM = 49, R8G8_UINT = 50, R8G8_SNORM = 51, R8G8_SINT = 52, R16_TYPELESS = 53, R16_FLOAT = 54, D16_UNORM = 55, R16_UNORM = 56, R16_UINT = 57, R16_SNORM = 58, R16_SINT = 59, R8_TYPELESS = 60, R8_UNORM = 61, R8_UINT = 62, R8_SNORM = 63, R8_SINT = 64, A8_UNORM = 65, R1_UNORM = 66, R9G9B9E5_SHAREDEXP = 67, R8G8_B8G8_UNORM = 68, G8R8_G8B8_UNORM = 69, BC1_TYPELESS = 70, BC1_UNORM = 71, BC1_UNORM_SRGB = 72, BC2_TYPELESS = 73, BC2_UNORM = 74, BC2_UNORM_SRGB = 75, BC3_TYPELESS = 76, BC3_UNORM = 77, BC3_UNORM_SRGB = 78, BC4_TYPELESS = 79, BC4_UNORM = 80, BC4_SNORM = 81, BC5_TYPELESS = 82, BC5_UNORM = 83, BC5_SNORM = 84, B5G6R5_UNORM = 85, B5G5R5A1_UNORM = 86, B8G8R8A8_UNORM = 87, B8G8R8X8_UNORM = 88, FORCE_UINT = 0xffffffffUL } |
Available formats for resources. | |
enum | MAP { MAP_READ = 1, MAP_WRITE = 2, MAP_READ_WRITE = 3, MAP_WRITE_DISCARD = 4, MAP_WRITE_NO_OVERWRITE = 5 } |
Available mapping request types. | |
enum | DEPTH_WRITE_MASK { DEPTH_WRITE_MASK_ZERO = 0, DEPTH_WRITE_MASK_ALL = 1 } |
Available depth write masks. More... | |
enum | STENCIL_OP { STENCIL_OP_KEEP = 1, STENCIL_OP_ZERO = 2, STENCIL_OP_REPLACE = 3, STENCIL_OP_INCR_SAT = 4, STENCIL_OP_DECR_SAT = 5, STENCIL_OP_INVERT = 6, STENCIL_OP_INCR = 7, STENCIL_OP_DECR = 8 } |
Available stencil operations. | |
enum | DSV_FLAG { DSV_READ_ONLY_DEPTH = 0x1L, DSV_READ_ONLY_STENCIL = 0x2L } |
Available depth and stencil view flags. | |
enum | DSV_DIMENSION { DSV_DIMENSION_UNKNOWN = 0, DSV_DIMENSION_TEXTURE1D = 1, DSV_DIMENSION_TEXTURE1DARRAY = 2, DSV_DIMENSION_TEXTURE2D = 3, DSV_DIMENSION_TEXTURE2DARRAY = 4, DSV_DIMENSION_TEXTURE2DMS = 5, DSV_DIMENSION_TEXTURE2DMSARRAY = 6 } |
Available depth and stencil view dimensions. | |
enum | RTV_DIMENSION { RTV_DIMENSION_UNKNOWN = 0, RTV_DIMENSION_BUFFER = 1, RTV_DIMENSION_TEXTURE1D = 2, RTV_DIMENSION_TEXTURE1DARRAY = 3, RTV_DIMENSION_TEXTURE2D = 4, RTV_DIMENSION_TEXTURE2DARRAY = 5, RTV_DIMENSION_TEXTURE2DMS = 6, RTV_DIMENSION_TEXTURE2DMSARRAY = 7, RTV_DIMENSION_TEXTURE3D = 8 } |
Available render target view dimensions. | |
enum | SRV_DIMENSION { SRV_DIMENSION_UNKNOWN = 0, SRV_DIMENSION_BUFFER = 1, SRV_DIMENSION_TEXTURE1D = 2, SRV_DIMENSION_TEXTURE1DARRAY = 3, SRV_DIMENSION_TEXTURE2D = 4, SRV_DIMENSION_TEXTURE2DARRAY = 5, SRV_DIMENSION_TEXTURE2DMS = 6, SRV_DIMENSION_TEXTURE2DMSARRAY = 7, SRV_DIMENSION_TEXTURE3D = 8, SRV_DIMENSION_TEXTURECUBE = 9, SRV_DIMENSION_TEXTURECUBEARRAY = 10, SRV_DIMENSION_BUFFEREX = 11 } |
Available shader resource views dimensions. | |
enum | UAV_DIMENSION { UAV_DIMENSION_UNKNOWN = 0, UAV_DIMENSION_BUFFER = 1, UAV_DIMENSION_TEXTURE1D = 2, UAV_DIMENSION_TEXTURE1DARRAY = 3, UAV_DIMENSION_TEXTURE2D = 4, UAV_DIMENSION_TEXTURE2DARRAY = 5, UAV_DIMENSION_TEXTURE3D = 8 } |
Available unordered access views dimensions. | |
enum | BUFFEREX_SRV_FLAG { BUFFEREX_SRV_FLAG_RAW = 0x1 } |
Available buffer ex shader resource views flags. | |
enum | BUFFER_UAV_FLAG { BUFFER_UAV_FLAG_RAW = 0x1, BUFFER_UAV_FLAG_APPEND = 0x2, BUFFER_UAV_FLAG_COUNTER = 0x4 } |
Available unordered access views flags. | |
enum | BLEND { BLEND_ZERO = 1, BLEND_ONE = 2, BLEND_SRC_COLOR = 3, BLEND_INV_SRC_COLOR = 4, BLEND_SRC_ALPHA = 5, BLEND_INV_SRC_ALPHA = 6, BLEND_DEST_ALPHA = 7, BLEND_INV_DEST_ALPHA = 8, BLEND_DEST_COLOR = 9, BLEND_INV_DEST_COLOR = 10, BLEND_SRC_ALPHA_SAT = 11, BLEND_BLEND_FACTOR = 14, BLEND_INV_BLEND_FACTOR = 15, BLEND_SRC1_COLOR = 16, BLEND_INV_SRC1_COLOR = 17, BLEND_SRC1_ALPHA = 18, BLEND_INV_SRC1_ALPHA = 19 } |
Available blending types. | |
enum | BLEND_OP { BLEND_OP_ADD = 1, BLEND_OP_SUBTRACT = 2, BLEND_OP_REV_SUBTRACT = 3, BLEND_OP_MIN = 4, BLEND_OP_MAX = 5 } |
Available blending operations. | |
enum | COLOR_WRITE_ENABLE { COLOR_WRITE_ENABLE_RED = 1, COLOR_WRITE_ENABLE_GREEN = 2, COLOR_WRITE_ENABLE_BLUE = 4, COLOR_WRITE_ENABLE_ALPHA = 8, COLOR_WRITE_ENABLE_ALL = (((COLOR_WRITE_ENABLE_RED | COLOR_WRITE_ENABLE_GREEN) | COLOR_WRITE_ENABLE_BLUE) | COLOR_WRITE_ENABLE_ALPHA) } |
Available color write masks. | |
enum | FILL_MODE { FILL_WIREFRAME = 2, FILL_SOLID = 3 } |
Available filling mode during rasterization. | |
enum | CULL_MODE { CULL_NONE = 1, CULL_FRONT = 2, CULL_BACK = 3 } |
Available culling modes. | |
enum | SHADER_TYPE { VERTEX_SHADER = 0, HULL_SHADER, DOMAIN_SHADER, GEOMETRY_SHADER, PIXEL_SHADER, COMPUTE_SHADER, RAYTRACING_SHADER, UNKNOWN_SHADER } |
Available shader types. | |
enum | SHADER_SEMANTIC { POSITION_0 = 0, POSITION_1, POSITION_2, POSITION_3, POSITION_4, NORMAL_0 = POSITION_0 + 8, NORMAL_1, NORMAL_2, NORMAL_3, NORMAL_4, UV_0 = NORMAL_0 + 8, UV_1, UV_2, UV_3, UV_4, COLOR_0 = UV_0 + 8, COLOR_1, COLOR_2, COLOR_3, COLOR_4, TANGENT_0 = COLOR_0 + 8, TANGENT_1, TANGENT_2, TANGENT_3, TANGENT_4, BINORMAL_0 = TANGENT_0 + 8, BINORMAL_1, BINORMAL_2, BINORMAL_3, BINORMAL_4, SV_VERTEX_ID = BINORMAL_0 + 8, WORLDMAT_0 = SV_VERTEX_ID + 1, WORLDMAT_1, WORLDMAT_2, WORLDMAT_3, WORLDMAT_4, OUTPUT_SEMANTIC_OFFSET = WORLDMAT_0 + 16, MAXIMUM_SEMANTIC_INDEX = OUTPUT_SEMANTIC_OFFSET * 2 } |
Available shader semantics. | |
enum | SHADER_RESOURCE_SLOT { CONSTANT_BUFFER_0 = 0, CONSTANT_BUFFER_1, CONSTANT_BUFFER_2, CONSTANT_BUFFER_3, CONSTANT_BUFFER_4, CONSTANT_BUFFER_5, CONSTANT_BUFFER_6, CONSTANT_BUFFER_7, CONSTANT_BUFFER_8, CONSTANT_BUFFER_9, CONSTANT_BUFFER_10, CONSTANT_BUFFER_11, CONSTANT_BUFFER_12, CONSTANT_BUFFER_13, CONSTANT_BUFFER_14, CONSTANT_BUFFER_15, CONSTANT_BUFFER_16, CONSTANT_BUFFER_17, CONSTANT_BUFFER_18, SHADER_RESOURCE_0, SHADER_RESOURCE_1, SHADER_RESOURCE_2, SHADER_RESOURCE_3, SHADER_RESOURCE_4, SHADER_RESOURCE_5, SHADER_RESOURCE_6, SHADER_RESOURCE_7, SHADER_RESOURCE_8, SHADER_RESOURCE_9, SHADER_RESOURCE_10, SHADER_RESOURCE_11, SHADER_RESOURCE_12, SHADER_RESOURCE_13, SHADER_RESOURCE_14, SHADER_RESOURCE_15, SHADER_RESOURCE_16, SHADER_RESOURCE_17, SHADER_RESOURCE_18, UAV_RESOURCE_0, UAV_RESOURCE_1, UAV_RESOURCE_2, UAV_RESOURCE_3, UAV_RESOURCE_4, UAV_RESOURCE_5, UAV_RESOURCE_6, UAV_RESOURCE_7, UAV_RESOURCE_8, UAV_RESOURCE_9, UAV_RESOURCE_10, UAV_RESOURCE_11, UAV_RESOURCE_12, UAV_RESOURCE_13, UAV_RESOURCE_14, UAV_RESOURCE_15, UAV_RESOURCE_16, UAV_RESOURCE_17, UAV_RESOURCE_18, SAMPLER_0, SAMPLER_1, SAMPLER_2, SAMPLER_3, SAMPLER_4, SAMPLER_5, SAMPLER_6 } |
Available resources slots. | |
enum | PROGRAM_COMPILATION_PROFILE { PROFILE_UNKNOWN = 0, PROFILE_SM_5_0, PROFILE_SM_5_1, PROFILE_SM_6_0 } |
Available program compilation profiles. | |
Encompasses all API of component NilkinsGraphics.
This component abstracts the system's graphics API. It currently support different renderers :
A good start would be to check the nkGraphics::System for initialization. Then, by taking a look at nkGraphics::RenderQueue and nkGraphics::Mesh, quickly get something on screen. Finally, open new possibilities using nkGraphics::Shader and nkGraphics::Compositor to alter the rendering and its composition.
For more guided information, best starting point would be the dedicated tutorials.
|
strong |
Available binding flags for buffers.
|
strong |
Available cpu access flags.
|
strong |
Available usage for buffers. Drives the memory used for hosting the data.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Enumerates all primitive topologies supported for meshes.
To get a good basic understanding, this link can be consulted.
|
strong |
Enumerates available data fill types.
|
strong |
|
strong |
|
strong |
|
strong |
Lists available commands for a RenderStrategy to provide.
|
strong |
Available misc flags for resources.
|
strong |
The resource load states possible.
Enumerator | |
---|---|
UNLOADED | Resource is unloaded and awaiting configuration. |
LOADING | Resource is loading. |
READY_FOR_RENDERING | Resource is still loading, but ready to be used in some contexts. This can be the case for textures auto generating mips for instance. |
LOADED | Resource is fully loaded and ready for usage. |
|
strong |
The type of resources available in the component.
Enumerator | |
---|---|
UNKNOWN | Unknown place holder. |
COMPOSITOR | A compositor. |
MESH | A mesh. |
BLEND_STATE | A blend state. |
DEPTH_STENCIL_STATE | A depth and stencil state. |
RASTER_STATE | A raster state. |
PROGRAM | A program. |
SHADER | A shader. |
BUFFER | A buffer. |
ACCELERATION_STRUCTURE | An acceleration structure. |
TEXTURE | A texture. |
SAMPLER | A sampler. |
NODE_WRAPPER | A Node wrapper. Used internally. |
|
strong |
Available comparison functions available during sampling (for samplers, and depth stencil states).
|
strong |
Available address mode for the samplers.
|
strong |
|
strong |