![]() |
MAGE
v0.171.0
Matthias Advanced Game Engine
|
Functions | |
constexpr AntiAliasing | RetrieveAntiAliasing (std::size_t desc) noexcept |
constexpr U32 | GetSampleMultiplier (AntiAliasing desc) noexcept |
constexpr U32 | GetResolutionMultiplier (AntiAliasing desc) noexcept |
HRESULT | CreateOpaqueBlendState (ID3D11Device &device, NotNull< ID3D11BlendState ** > state) noexcept |
HRESULT | CreateAlphaBlendState (ID3D11Device &device, NotNull< ID3D11BlendState ** > state) noexcept |
HRESULT | CreateAdditiveBlendState (ID3D11Device &device, NotNull< ID3D11BlendState ** > state) noexcept |
HRESULT | CreateMultiplicativeBlendState (ID3D11Device &device, NotNull< ID3D11BlendState ** > state) noexcept |
HRESULT | CreateBiMultiplicativeBlendState (ID3D11Device &device, NotNull< ID3D11BlendState ** > state) noexcept |
HRESULT | CreateTransparencyBlendState (ID3D11Device &device, NotNull< ID3D11BlendState ** > state) noexcept |
HRESULT | CreateAlphaToCoverageBlendState (ID3D11Device &device, NotNull< ID3D11BlendState ** > state) noexcept |
HRESULT | CreateDepthNoneDepthStencilState (ID3D11Device &device, NotNull< ID3D11DepthStencilState ** > state) noexcept |
HRESULT | CreateDepthReadWriteDepthStencilState (ID3D11Device &device, NotNull< ID3D11DepthStencilState ** > state, D3D11_COMPARISON_FUNC func) noexcept |
HRESULT | CreateDepthReadDepthStencilState (ID3D11Device &device, NotNull< ID3D11DepthStencilState ** > state, D3D11_COMPARISON_FUNC func) noexcept |
HRESULT | CreateRasterizerState (ID3D11Device &device, NotNull< ID3D11RasterizerState ** > state, D3D11_CULL_MODE cull_mode, D3D11_FILL_MODE fill_mode, S32 depth_bias, F32 slope_scaled_depth_bias, F32 depth_bias_clamp) noexcept |
HRESULT | CreateCullNoneRasterizerState (ID3D11Device &device, NotNull< ID3D11RasterizerState ** > state, S32 depth_bias, F32 slope_scaled_depth_bias, F32 depth_bias_clamp) noexcept |
HRESULT | CreateCullClockwiseRasterizerState (ID3D11Device &device, NotNull< ID3D11RasterizerState ** > state, S32 depth_bias, F32 slope_scaled_depth_bias, F32 depth_bias_clamp) noexcept |
HRESULT | CreateCullCounterClockwiseRasterizerState (ID3D11Device &device, NotNull< ID3D11RasterizerState ** > state, S32 depth_bias, F32 slope_scaled_depth_bias, F32 depth_bias_clamp) noexcept |
HRESULT | CreateWireframeRasterizerState (ID3D11Device &device, NotNull< ID3D11RasterizerState ** > state, S32 depth_bias, F32 slope_scaled_depth_bias, F32 depth_bias_clamp) noexcept |
HRESULT | CreateSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state, D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE address_mode) noexcept |
HRESULT | CreatePointWrapSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreatePointClampSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreatePointMirrorSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreateLinearWrapSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreateLinearClampSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreateLinearMirrorSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreateAnisotropicWrapSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreateAnisotropicClampSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreateAnisotropicMirrorSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
HRESULT | CreatePCFSamplerState (ID3D11Device &device, NotNull< ID3D11SamplerState ** > state) noexcept |
template<typename VertexT > | |
HRESULT | CreateStaticVertexBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, gsl::span< const VertexT > vertices) noexcept |
template<typename VertexT > | |
HRESULT | CreateDynamicVertexBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, gsl::span< const VertexT > vertices) noexcept |
template<typename VertexT > | |
HRESULT | CreateDynamicVertexBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, std::size_t nb_vertices) noexcept |
template<typename IndexT > | |
HRESULT | CreateStaticIndexBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, gsl::span< const IndexT > indices) noexcept |
template<typename T > | |
HRESULT | CreateStaticConstantBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, gsl::span< const T > data) noexcept |
template<typename T > | |
HRESULT | CreateDynamicConstantBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, gsl::span< const T > data) noexcept |
template<typename T > | |
HRESULT | CreateDynamicConstantBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, std::size_t nb_data_elements=1u) noexcept |
template<typename T > | |
HRESULT | CreateStaticStructuredBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, gsl::span< const T > data) noexcept |
template<typename T > | |
HRESULT | CreateDynamicStructuredBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, gsl::span< const T > data) noexcept |
template<typename T > | |
HRESULT | CreateDynamicStructuredBuffer (ID3D11Device &device, NotNull< ID3D11Buffer ** > buffer, std::size_t nb_data_elements) noexcept |
U32 | GetNumberOfGroups (F32 nb_threads, U32 nb_group_threads) noexcept |
U32 | GetNumberOfGroups (U32 nb_threads, U32 nb_group_threads) noexcept |
SpriteFontPtr | CreateConsolasFont (ResourceManager &resource_manager) |
template<typename IndexT > | |
constexpr DXGI_FORMAT | GetIndexFormat () noexcept |
const Material | CreateDefaultMaterial (ResourceManager &resource_manager) |
HRESULT | CompileShaderFromFile (std::wstring_view fname, std::string_view entry_point, std::string_view shader_target, NotNull< ID3DBlob ** > output_blob) |
PixelShaderPtr | CreateBackBufferPS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateGBufferPS (ResourceManager &resource_manager, bool tsnm) |
VertexShaderPtr | CreateSkyVS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateSkyPS (ResourceManager &resource_manager) |
VertexShaderPtr | CreateSpriteVS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateSpritePS (ResourceManager &resource_manager) |
VertexShaderPtr | CreateTransformVS (ResourceManager &resource_manager) |
template<typename... ConstructorArgsT> | |
VertexShaderPtr | CreateVS (ResourceManager &resource_manager, ConstructorArgsT &&... args) |
template<typename... ConstructorArgsT> | |
HullShaderPtr | CreateHS (ResourceManager &resource_manager, ConstructorArgsT &&... args) |
template<typename... ConstructorArgsT> | |
DomainShaderPtr | CreateDS (ResourceManager &resource_manager, ConstructorArgsT &&... args) |
template<typename... ConstructorArgsT> | |
GeometryShaderPtr | CreateGS (ResourceManager &resource_manager, ConstructorArgsT &&... args) |
template<typename... ConstructorArgsT> | |
PixelShaderPtr | CreatePS (ResourceManager &resource_manager, ConstructorArgsT &&... args) |
template<typename... ConstructorArgsT> | |
ComputeShaderPtr | CreateCS (ResourceManager &resource_manager, ConstructorArgsT &&... args) |
ComputeShaderPtr | CreateAAPreprocessCS (ResourceManager &resource_manager) |
ComputeShaderPtr | CreateFXAACS (ResourceManager &resource_manager) |
ComputeShaderPtr | CreateMSAAResolveCS (ResourceManager &resource_manager) |
ComputeShaderPtr | CreateSSAAResolveCS (ResourceManager &resource_manager) |
ComputeShaderPtr | CreateDeferredEmissiveCS (ResourceManager &resource_manager) |
ComputeShaderPtr | CreateDeferredCS (ResourceManager &resource_manager, BRDF brdf, bool vct) |
PixelShaderPtr | CreateDeferredMSAAEmissivePS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateDeferredMSAAPS (ResourceManager &resource_manager, BRDF brdf, bool vct) |
VertexShaderPtr | CreateDepthVS (ResourceManager &resource_manager) |
VertexShaderPtr | CreateDepthTransparentVS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateDepthTransparentPS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateFalseColorPS (ResourceManager &resource_manager, FalseColor false_color) |
PixelShaderPtr | CreateForwardEmissivePS (ResourceManager &resource_manager, bool transparency) |
PixelShaderPtr | CreateForwardPS (ResourceManager &resource_manager, BRDF brdf, bool transparency, bool vct, bool tsnm) |
PixelShaderPtr | CreateForwardSolidPS (ResourceManager &resource_manager) |
ComputeShaderPtr | CreateDepthOfFieldCS (ResourceManager &resource_manager) |
ComputeShaderPtr | CreateLowDynamicRangeCS (ResourceManager &resource_manager, ToneMapping tone_mapping) |
VertexShaderPtr | CreateLineCubeVS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateLineCubePS (ResourceManager &resource_manager) |
VertexShaderPtr | CreateFarFullscreenTriangleVS (ResourceManager &resource_manager) |
VertexShaderPtr | CreateNearFullscreenTriangleVS (ResourceManager &resource_manager) |
VertexShaderPtr | CreateVoxelizationVS (ResourceManager &resource_manager) |
GeometryShaderPtr | CreateVoxelizationGS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateVoxelizationEmissivePS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateVoxelizationPS (ResourceManager &resource_manager, bool tsnm) |
ComputeShaderPtr | CreateVoxelizationCS (ResourceManager &resource_manager) |
VertexShaderPtr | CreateVoxelGridVS (ResourceManager &resource_manager) |
GeometryShaderPtr | CreateVoxelGridGS (ResourceManager &resource_manager) |
PixelShaderPtr | CreateVoxelGridPS (ResourceManager &resource_manager) |
const U32x2 | GetTexture2DSize (ID3D11ShaderResourceView &srv) |
const U32x2 | GetTexture2DSize (ID3D11Texture2D &texture) noexcept |
TexturePtr | CreateBlackTexture (ResourceManager &resource_manager) |
TexturePtr | CreateWhiteTexture (ResourceManager &resource_manager) |
TexturePtr | CreateRedTexture (ResourceManager &resource_manager) |
TexturePtr | CreateGreenTexture (ResourceManager &resource_manager) |
TexturePtr | CreateBlueTexture (ResourceManager &resource_manager) |
TexturePtr | CreateMAGETexture (ResourceManager &resource_manager) |
TexturePtr | CreateReferenceTexture (ResourceManager &resource_manager) |
F32 | FOVXFromFOVY (F32 aspect_ratio, F32 fov_y) noexcept |
F32 | FOVYFromFOVX (F32 aspect_ratio, F32 fov_x) noexcept |
constexpr F32 | AspectRatioFromWidthAndHeight (F32 width, F32 height) noexcept |
F32 | AspectRatioFromFOVs (F32 fov_x, F32 fov_y) noexcept |
const XMMATRIX XM_CALLCONV | GetViewportTransform (const U32x2 &resolution) noexcept |
Variables | |
template<typename T > | |
constexpr bool | is_shader_v = is_shader< T >::value |
using mage::rendering::ComputeShader = typedef Shader< ID3D11ComputeShader, Pipeline::CS > |
A class of compute shaders.
using mage::rendering::ComputeShaderPtr = typedef SharedPtr< const ComputeShader > |
A pointer to a compute shader resource.
using mage::rendering::D3D11Device = typedef ID3D11Device |
The type of D3D11 device.
using mage::rendering::D3D11DeviceContext = typedef ID3D11DeviceContext |
The type of D3D11 device context.
using mage::rendering::DomainShader = typedef Shader< ID3D11DomainShader, Pipeline::DS > |
A class of domain shaders.
using mage::rendering::DomainShaderPtr = typedef SharedPtr< const DomainShader > |
A pointer to a domain shader resource.
using mage::rendering::DXGIAdapter = typedef IDXGIAdapter |
The type of DXGI adapter.
using mage::rendering::DXGIOutput = typedef IDXGIOutput |
The type of DXGI output.
using mage::rendering::DXGISwapChain = typedef IDXGISwapChain |
The type of DXGI swap chain.
using mage::rendering::GeometryShader = typedef Shader< ID3D11GeometryShader, Pipeline::GS > |
A class of geometry shaders.
using mage::rendering::GeometryShaderPtr = typedef SharedPtr< const GeometryShader > |
A pointer to a geometry shader resource.
using mage::rendering::HullShader = typedef Shader< ID3D11HullShader, Pipeline::HS > |
A class of hull shaders.
using mage::rendering::HullShaderPtr = typedef SharedPtr< const HullShader > |
A pointer to a hull shader resource.
using mage::rendering::ModelDescriptorPtr = typedef SharedPtr< const ModelDescriptor > |
A pointer to a model descriptor resource.
using mage::rendering::PixelShader = typedef Shader< ID3D11PixelShader, Pipeline::PS > |
A class of pixel shaders.
using mage::rendering::PixelShaderPtr = typedef SharedPtr< const PixelShader > |
A pointer to a pixel shader resource.
using mage::rendering::SpriteFontPtr = typedef SharedPtr< const SpriteFont > |
A pointer to a sprite font resource.
using mage::rendering::TexturePtr = typedef SharedPtr< const Texture > |
A pointer to a texture resource.
using mage::rendering::VertexShaderPtr = typedef SharedPtr< const VertexShader > |
A pointer to a vertex shader resource.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
An enumeration of the different depth stencil state identifiers.
This contains: DepthNone
, GreaterEqualDepthReadWrite
, GreaterEqualDepthRead
, GreaterDepthReadWrite
, GreaterDepthRead
, LessEqualDepthReadWrite
, LessEqualDepthRead
, LessDepthReadWrite
and LessDepthRead
.
Enumerator | |
---|---|
DepthNone | |
GreaterEqualDepthReadWrite | |
GreaterEqualDepthRead | |
GreaterDepthReadWrite | |
GreaterDepthRead | |
LessEqualDepthReadWrite | |
LessEqualDepthRead | |
LessDepthReadWrite | |
LessDepthRead | |
Count |
|
strong |
An enumeration of the different false colors.
This contains:
ConstantColor
, ConstantColorTexture
, BaseColor
, BaseColorCoefficient
, BaseColorTexture
, Material
, MaterialCoefficient
, MaterialTexture
, Roughness
, RoughnessCoefficient
, RoughnessTexture
, Metalness
, MetalnessCoefficient
, MetalnessTexture
, ShadingNormal
, TSNMShadingNormal
, Depth
, Distance
, and UV
.
|
strong |
|
strong |
An enumeration of the different render layers.
This contains: None
, Wireframe
, and AABB
.
Enumerator | |
---|---|
None | |
Wireframe | |
AABB |
|
strong |
An enumeration of the different render modes.
This contains: None
, Forward
, Deferred
, Solid
, VoxelGrid
, FalseColor_BaseColor
, FalseColor_BaseColorCoefficient
, FalseColor_BaseColorTexture
, FalseColor_Material
, FalseColor_MaterialCoefficient
, FalseColor_MaterialTexture
, FalseColor_Roughness
, FalseColor_RoughnessCoefficient
, FalseColor_RoughnessTexture
, FalseColor_Metalness
, FalseColor_MetalnessCoefficient
, FalseColor_MetalnessTexture
, FalseColor_ShadingNormal
, FalseColor_TSNMShadingNormal
, FalseColor_Depth
, FalseColor_Distance
, and FalseColor_UV
.
|
strong |
An enumeration of the different sampler state identifiers.
This contains: PointWrap
, PointClamp
, PointMirror
, LinearWrap
, LinearClamp
, LinearMirror
, AnisotropicWrap
, AnisotropicClamp
, AnisotropicMirror
and. PCF
.
Enumerator | |
---|---|
PointWrap | |
PointClamp | |
PointMirror | |
LinearWrap | |
LinearClamp | |
LinearMirror | |
AnisotropicWrap | |
AnisotropicClamp | |
AnisotropicMirror | |
PCF | |
Count |
|
strong |
|
strong |
An enumeration of the different sprite sorting modes.
This contains: Deferred
, Immediate
, Texture
, BackToFront
and FrontToBack
.
Enumerator | |
---|---|
Deferred | |
Immediate | |
Texture | |
BackToFront | |
FrontToBack |
|
strong |
Returns the aspect ratio corresponding to the given horizontal and vertical field-of-views.
[in] | fov_x | The horizontal field-of-view. |
[in] | fov_y | The vertical field-of-view. |
Returns the aspect ratio corresponding to the given width and height.
[in] | width | The width. |
[in] | height | The height. |
HRESULT mage::rendering::CompileShaderFromFile | ( | std::wstring_view | fname, |
std::string_view | entry_point, | ||
std::string_view | shader_target, | ||
NotNull< ID3DBlob **> | output_blob | ||
) |
Compiles Microsoft High Level Shader Language (HLSL) code into bytecode for a given shader target.
[in] | fname | The name of the file that contains the shader code. |
[in] | entry_point | The name of the shader entry point function where shader execution begins. |
[in] | shader_target | The shader target or set of shader features to compile against. |
[out] | output_blob | A pointer to a variable that receives a pointer to the ID3DBlob interface that you can use to access the compiled code. |
ComputeShaderPtr mage::rendering::CreateAAPreprocessCS | ( | ResourceManager & | resource_manager | ) |
Creates a AA preprocess compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the compute shader. |
|
noexcept |
Creates an additive blend state.
The blend formula is defined as: (source.rgba × 1) + (destination.rgba × 1).
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the blend state. |
|
noexcept |
Creates an alpha blend state.
The blend formula is defined as: (source.rgba × source.a) + (destination.rgba × (1-source.a)).
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the blend state. |
|
noexcept |
Creates a alpha-to-coverage blend state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the blend state. |
|
noexcept |
Creates an anisotropic sampling state with clamping.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
|
noexcept |
Creates an anisotropic sampling state with mirroring.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
|
noexcept |
Creates an anisotropic sampling state with wrapping.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
PixelShaderPtr mage::rendering::CreateBackBufferPS | ( | ResourceManager & | resource_manager | ) |
Creates a back buffer pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
|
noexcept |
Creates a bi-multiplicative blend state.
The blend formula is defined as: (source.rgba × destination.rgba ) + (destination.rgba × source.rgba).
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the blend state. |
TexturePtr mage::rendering::CreateBlackTexture | ( | ResourceManager & | resource_manager | ) |
Creates a black texture.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the texture. |
TexturePtr mage::rendering::CreateBlueTexture | ( | ResourceManager & | resource_manager | ) |
Creates a blue texture.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the texture. |
SpriteFontPtr mage::rendering::CreateConsolasFont | ( | ResourceManager & | resource_manager | ) |
Creates a consolas sprite font.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the sprite font. |
ComputeShaderPtr mage::rendering::CreateCS | ( | ResourceManager & | resource_manager, |
ConstructorArgsT &&... | args | ||
) |
Creates a compute shader.
ConstructorArgsT | The constructor argument types of the compute shader. |
[in,out] | resource_manager | A reference to the resource manager. |
[in] | args | A reference to the constructor arguments for the compute shader. |
Exception | Failed to create the compute shader. |
|
noexcept |
Creates a clockwise-culling (solid) rasterizer state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the rasterizer state. |
[in] | depth_bias | The depth value added to a given pixel. |
[in] | slope_scaled_depth_bias | The scalar on a given pixel's slope. |
[in] | depth_bias_clamp | The maximum depth bias of a pixel. |
|
noexcept |
Creates a counter-clockwise-culling (solid) rasterizer state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the rasterizer state. |
[in] | depth_bias | The depth value added to a given pixel. |
[in] | slope_scaled_depth_bias | The scalar on a given pixel's slope. |
[in] | depth_bias_clamp | The maximum depth bias of a pixel. |
|
noexcept |
Creates a no-culling (solid) rasterizer state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the rasterizer state. |
[in] | depth_bias | The depth value added to a given pixel. |
[in] | slope_scaled_depth_bias | The scalar on a given pixel's slope. |
[in] | depth_bias_clamp | The maximum depth bias of a pixel. |
const Material mage::rendering::CreateDefaultMaterial | ( | ResourceManager & | resource_manager | ) |
Creates a default material.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the material. |
ComputeShaderPtr mage::rendering::CreateDeferredCS | ( | ResourceManager & | resource_manager, |
BRDF | brdf, | ||
bool | vct | ||
) |
Creates a deferred compute shader matching the given BRDF.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | brdf | The BRDF function. |
[in] | vct | true if voxel cone tracing should be enabled. false otherwise. |
Exception | Failed to create the compute shader. |
ComputeShaderPtr mage::rendering::CreateDeferredEmissiveCS | ( | ResourceManager & | resource_manager | ) |
Creates a deferred emissive compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the compute shader. |
PixelShaderPtr mage::rendering::CreateDeferredMSAAEmissivePS | ( | ResourceManager & | resource_manager | ) |
Creates a deferred MSAA emissive pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
PixelShaderPtr mage::rendering::CreateDeferredMSAAPS | ( | ResourceManager & | resource_manager, |
BRDF | brdf, | ||
bool | vct | ||
) |
Creates a deferred MSAA pixel shader matching the given BRDF.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | brdf | The BRDF function. |
[in] | vct | true if voxel cone tracing should be enabled. false otherwise. |
Exception | Failed to create the pixel shader. |
|
noexcept |
Creates a no-read-no-write depth stencil state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the depth stencil state. |
ComputeShaderPtr mage::rendering::CreateDepthOfFieldCS | ( | ResourceManager & | resource_manager | ) |
Creates a depth-of-field compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the compute shader. |
|
noexcept |
Creates a read-only depth stencil state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the depth stencil state. |
[in] | func | The depth comparison function. |
|
noexcept |
Creates a read-write depth stencil state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the depth stencil state. |
[in] | func | The depth comparison function. |
PixelShaderPtr mage::rendering::CreateDepthTransparentPS | ( | ResourceManager & | resource_manager | ) |
Creates a depth transparent pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
VertexShaderPtr mage::rendering::CreateDepthTransparentVS | ( | ResourceManager & | resource_manager | ) |
Creates a depth transparent vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
VertexShaderPtr mage::rendering::CreateDepthVS | ( | ResourceManager & | resource_manager | ) |
Creates a depth vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
DomainShaderPtr mage::rendering::CreateDS | ( | ResourceManager & | resource_manager, |
ConstructorArgsT &&... | args | ||
) |
Creates a domain shader.
ConstructorArgsT | The constructor argument types of the domain shader. |
[in,out] | resource_manager | A reference to the resource manager. |
[in] | args | A reference to the constructor arguments for the domain shader. |
Exception | Failed to create the domain shader. |
|
noexcept |
Creates a dynamic constant buffer.
T | The data type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | data | The data. |
|
noexcept |
Creates a dynamic constant buffer.
T | The data type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | nb_data_elements | The number of data elements. |
|
noexcept |
Creates a dynamic structured buffer.
T | The data type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | data | The data. |
|
noexcept |
Creates a dynamic structured buffer.
T | The data type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | nb_data_elements | The number of data elements. |
|
noexcept |
Creates a dynamic vertex buffer.
VertexT | The vertex type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | vertices | The vertices. |
|
noexcept |
Creates a dynamic vertex buffer.
VertexT | The vertex type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | nb_vertices | The number of vertices. |
PixelShaderPtr mage::rendering::CreateFalseColorPS | ( | ResourceManager & | resource_manager, |
FalseColor | false_color | ||
) |
Creates a false color pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | false_color | The false color. |
Exception | Failed to create the pixel shader. |
VertexShaderPtr mage::rendering::CreateFarFullscreenTriangleVS | ( | ResourceManager & | resource_manager | ) |
Creates a far fullscreen triangle vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
PixelShaderPtr mage::rendering::CreateForwardEmissivePS | ( | ResourceManager & | resource_manager, |
bool | transparency | ||
) |
Creates an forward emissive pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | transparency | true if transparency should be enabled. false otherwise. |
Exception | Failed to create the pixel shader. |
PixelShaderPtr mage::rendering::CreateForwardPS | ( | ResourceManager & | resource_manager, |
BRDF | brdf, | ||
bool | transparency, | ||
bool | vct, | ||
bool | tsnm | ||
) |
Creates a forward pixel shader matching the given BRDF.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | brdf | The BRDF function. |
[in] | transparency | true if transparency should be enabled. false otherwise. |
[in] | vct | true if voxel cone tracing should be enabled. false otherwise. |
[in] | tsnm | true if tangent space normal mapping should be enabled. false otherwise. |
Exception | Failed to create the pixel shader. |
PixelShaderPtr mage::rendering::CreateForwardSolidPS | ( | ResourceManager & | resource_manager | ) |
Creates a forward solid pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
ComputeShaderPtr mage::rendering::CreateFXAACS | ( | ResourceManager & | resource_manager | ) |
Creates a FXAA compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the compute shader. |
PixelShaderPtr mage::rendering::CreateGBufferPS | ( | ResourceManager & | resource_manager, |
bool | tsnm | ||
) |
Creates a GBuffer pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | tsnm | true if tangent space normal mapping should be enabled. false otherwise. |
Exception | Failed to create the pixel shader. |
TexturePtr mage::rendering::CreateGreenTexture | ( | ResourceManager & | resource_manager | ) |
Creates a green texture.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the texture. |
GeometryShaderPtr mage::rendering::CreateGS | ( | ResourceManager & | resource_manager, |
ConstructorArgsT &&... | args | ||
) |
Creates a geometry shader.
ConstructorArgsT | The constructor argument types of the geometry shader. |
[in,out] | resource_manager | A reference to the resource manager. |
[in] | args | A reference to the constructor arguments for the geometry shader. |
Exception | Failed to create the geometry shader. |
HullShaderPtr mage::rendering::CreateHS | ( | ResourceManager & | resource_manager, |
ConstructorArgsT &&... | args | ||
) |
Creates a hull shader.
ConstructorArgsT | The constructor argument types of the hull shader. |
[in,out] | resource_manager | A reference to the resource manager. |
[in] | args | A reference to the constructor arguments for the hull shader. |
Exception | Failed to create the hull shader. |
|
noexcept |
Creates a linear sampling state with clamping.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
|
noexcept |
Creates a linear sampling state with mirroring.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
|
noexcept |
Creates a linear sampling state with wrapping.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
PixelShaderPtr mage::rendering::CreateLineCubePS | ( | ResourceManager & | resource_manager | ) |
Creates a line cube pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
VertexShaderPtr mage::rendering::CreateLineCubeVS | ( | ResourceManager & | resource_manager | ) |
Creates a line cube vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
ComputeShaderPtr mage::rendering::CreateLowDynamicRangeCS | ( | ResourceManager & | resource_manager, |
ToneMapping | tone_mapping | ||
) |
Creates a low-dynamic-range compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | tone_mapping | The tone mapping function. |
Exception | Failed to create the compute shader. |
TexturePtr mage::rendering::CreateMAGETexture | ( | ResourceManager & | resource_manager | ) |
Creates a MAGE texture.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the texture. |
ComputeShaderPtr mage::rendering::CreateMSAAResolveCS | ( | ResourceManager & | resource_manager | ) |
Creates a MSAA resolve compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the compute shader. |
|
noexcept |
Creates a multiplicative blend state.
The blend formula is defined as: (source.rgba × 0) + (destination.rgba × source.rgba).
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the blend state. |
VertexShaderPtr mage::rendering::CreateNearFullscreenTriangleVS | ( | ResourceManager & | resource_manager | ) |
Creates a near fullscreen triangle vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
|
noexcept |
Creates an opaque blend state (i.e. no blending).
The blend formula (i.e. no blending) is defined as: (source.rgba × 1) + (destination.rgba × 0) = source.rgba.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the blend state. |
|
noexcept |
Creates a PCF sampling state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
|
noexcept |
Creates a point sampling state with clamping.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
|
noexcept |
Creates a point sampling state with mirroring.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
|
noexcept |
Creates a point sampling state with wrapping.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
PixelShaderPtr mage::rendering::CreatePS | ( | ResourceManager & | resource_manager, |
ConstructorArgsT &&... | args | ||
) |
Creates a pixel shader.
ConstructorArgsT | The constructor argument types of the pixel shader. |
[in,out] | resource_manager | A reference to the resource manager. |
[in] | args | A reference to the constructor arguments for the pixel shader. |
Exception | Failed to create the pixel shader. |
|
noexcept |
Creates a rasterizer state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the rasterizer state. |
[in] | cull_mode | The cull mode of the rasterization. |
[in] | fill_mode | The fill mode of the rasterization. |
[in] | depth_bias | The depth value added to a given pixel. |
[in] | slope_scaled_depth_bias | The scalar on a given pixel's slope. |
[in] | depth_bias_clamp | The maximum depth bias of a pixel. |
TexturePtr mage::rendering::CreateRedTexture | ( | ResourceManager & | resource_manager | ) |
Creates a red texture.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the texture. |
TexturePtr mage::rendering::CreateReferenceTexture | ( | ResourceManager & | resource_manager | ) |
Creates a reference texture.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the texture. |
|
noexcept |
Creates a sampling state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the sampler state. |
[in] | filter | The filtering options during texture sampling. |
[in] | address_mode | The resolving of texture coordinates that are outside of the boundaries of a texture. |
PixelShaderPtr mage::rendering::CreateSkyPS | ( | ResourceManager & | resource_manager | ) |
Creates a sky pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
VertexShaderPtr mage::rendering::CreateSkyVS | ( | ResourceManager & | resource_manager | ) |
Creates a sky vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
PixelShaderPtr mage::rendering::CreateSpritePS | ( | ResourceManager & | resource_manager | ) |
Creates a sprite pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
VertexShaderPtr mage::rendering::CreateSpriteVS | ( | ResourceManager & | resource_manager | ) |
Creates a sprite vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
ComputeShaderPtr mage::rendering::CreateSSAAResolveCS | ( | ResourceManager & | resource_manager | ) |
Creates a SSAA resolve compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the compute shader. |
|
noexcept |
Creates a static constant buffer.
T | The data type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | data | The data. |
|
noexcept |
Creates a static index buffer.
IndexT | The index type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | indices | The indices. |
|
noexcept |
Creates a static structured buffer.
T | The data type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | data | The data. |
|
noexcept |
Creates a static vertex buffer.
VertexT | The vertex type. |
[in,out] | device | A reference to the device. |
[out] | buffer | A pointer to a pointer to the buffer. |
[in] | vertices | The vertices. |
VertexShaderPtr mage::rendering::CreateTransformVS | ( | ResourceManager & | resource_manager | ) |
Creates a transform vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
|
noexcept |
Creates an transparency blend state.
The blend formula for the first RTV is defined as: (source.rgba × source.a) + (destination.rgba × (1-source.a)). The blend formula (i.e. no blending) for the remaining RTVs is defined as: (source.rgba × 1 ) + (destination.rgba × 0 ) = source.rgba.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the blend state. |
GeometryShaderPtr mage::rendering::CreateVoxelGridGS | ( | ResourceManager & | resource_manager | ) |
Creates a voxel grid geometry shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the geometry shader. |
PixelShaderPtr mage::rendering::CreateVoxelGridPS | ( | ResourceManager & | resource_manager | ) |
Creates a voxel grid pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
VertexShaderPtr mage::rendering::CreateVoxelGridVS | ( | ResourceManager & | resource_manager | ) |
Creates a voxel grid vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
ComputeShaderPtr mage::rendering::CreateVoxelizationCS | ( | ResourceManager & | resource_manager | ) |
Creates a voxelization compute shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the compute shader. |
PixelShaderPtr mage::rendering::CreateVoxelizationEmissivePS | ( | ResourceManager & | resource_manager | ) |
Creates a voxelization emissive pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the pixel shader. |
GeometryShaderPtr mage::rendering::CreateVoxelizationGS | ( | ResourceManager & | resource_manager | ) |
Creates a voxelization geometry shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the geometry shader. |
PixelShaderPtr mage::rendering::CreateVoxelizationPS | ( | ResourceManager & | resource_manager, |
bool | tsnm | ||
) |
Creates a voxelization pixel shader.
[in,out] | resource_manager | A reference to the resource manager. |
[in] | tsnm | true if tangent space normal mapping should be enabled. false otherwise. |
Exception | Failed to create the pixel shader. |
VertexShaderPtr mage::rendering::CreateVoxelizationVS | ( | ResourceManager & | resource_manager | ) |
Creates a voxelization vertex shader.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the vertex shader. |
VertexShaderPtr mage::rendering::CreateVS | ( | ResourceManager & | resource_manager, |
ConstructorArgsT &&... | args | ||
) |
Creates a vertex shader.
ConstructorArgsT | The constructor argument types of the vertex shader. |
[in,out] | resource_manager | A reference to the resource manager. |
[in] | args | A reference to the constructor arguments for the vertex shader. |
Exception | Failed to create the vertex shader. |
TexturePtr mage::rendering::CreateWhiteTexture | ( | ResourceManager & | resource_manager | ) |
Creates a white texture.
[in,out] | resource_manager | A reference to the resource manager. |
Exception | Failed to create the texture. |
|
noexcept |
Creates a wireframe rasterizer state.
[in,out] | device | A reference to the device. |
[out] | state | A pointer to a pointer to the rasterizer state. |
[in] | depth_bias | The depth value added to a given pixel. |
[in] | slope_scaled_depth_bias | The scalar on a given pixel's slope. |
[in] | depth_bias_clamp | The maximum depth bias of a pixel. |
Returns the horizontal field-of-view corresponding to the given aspect ratio and vertical field-of-view.
[in] | aspect_ratio | The aspect ratio. |
[in] | fov_y | The vertical field-of-view. |
Returns the vertical field-of-view corresponding to the given aspect ratio and horizontal field-of-view.
[in] | aspect_ratio | The aspect ratio. |
[in] | fov_x | The horizontal field-of-view. |
|
noexcept |
Returns the format of the given index type.
IndexT | The index type. |
Returns the number of required groups given the number of threads and the number of threads per group.
[in] | nb_threads | The total minimal number of threads. |
[in] | nb_group_threads | The number of threads per group. |
Returns the number of required groups given the number of threads and the number of threads per group.
[in] | nb_threads | The total minimal number of threads. |
[in] | nb_group_threads | The number of threads per group. |
|
noexcept |
|
noexcept |
const U32x2 mage::rendering::GetTexture2DSize | ( | ID3D11ShaderResourceView & | texture_srv | ) |
Returns the size of the given 2D texture.
[in] | texture_srv | A reference to the (texture) shader resource view. |
Exception | The resource of the given shader resource view must be convertible to a ID3D11Texture2D . |
|
noexcept |
Returns the size of the given 2D texture.
[in] | texture | A reference to the 2D texture. |
|
noexcept |
Returns the viewport transform for the given viewport.
[in] | resolution | The resolution of the viewport. |
|
noexcept |
constexpr bool mage::rendering::is_shader_v = is_shader< T >::value |