![]() |
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 |