![]() |
Castor3D 0.17.0
Multiplatform 3D engine
|
#include <RenderSystem.hpp>


Public Member Functions | |
| C3D_API | RenderSystem (Engine &engine, AshPluginDescription desc, Extensions instanceExtensions={}, Extensions deviceExtensions={}) |
| C3D_API | RenderSystem (Engine &engine, Renderer renderer, Extensions deviceExtensions={}) |
| C3D_API SpirVShader | compileShader (VkShaderStageFlagBits stage, castor::String const &name, ast::Shader const &shader, ast::EntryPointConfig const &entryPoint) |
| C3D_API SpirVShader | compileShader (VkShaderStageFlagBits stage, castor::String const &name, castor::MbString const &glsl) const |
| C3D_API SpirVShader const & | compileShader (ShaderModule &shaderModule) |
| C3D_API SpirVShader const & | compileShader (ProgramModule &shaderModule, ast::EntryPointConfig const &entryPoint) |
| C3D_API castor::Matrix4x4f | getFrustum (float left, float right, float bottom, float top, float zNear, float zFar) const |
| C3D_API castor::Matrix4x4f | getPerspective (castor::Angle const &fovy, float aspect, float zNear, float zFar) const |
| C3D_API castor::Matrix4x4f | getOrtho (float left, float right, float bottom, float top, float zNear, float zFar) const |
| C3D_API castor::Matrix4x4f | getInfinitePerspective (castor::Angle const &fovy, float aspect, float zNear) const |
Getters. | |
| C3D_API Texture const & | getPrefilteredBrdfTexture () const |
| AshPluginDescription const & | getDescription () const noexcept |
| GpuInformations const & | getGpuInformations () const noexcept |
| castor::String | getRendererType () const noexcept |
| bool | hasDevice () const noexcept |
| RenderDevice & | getRenderDevice () const noexcept |
| bool | hasSsbo () const noexcept |
| ashes::Instance const & | getInstance () const noexcept |
| VkPhysicalDeviceProperties const & | getProperties () const noexcept |
| VkPhysicalDeviceMemoryProperties const & | getMemoryProperties () const noexcept |
| VkPhysicalDeviceFeatures const & | getFeatures () const noexcept |
| ashes::PhysicalDevice const & | getPhysicalDevice () const noexcept |
| bool | hasFeature (GpuFeature feature) const noexcept |
| bool | hasStereoRendering () const noexcept |
| bool | hasShaderStorageBuffers () const noexcept |
| bool | hasShaderType (VkShaderStageFlagBits type) const noexcept |
| uint32_t | getValue (GpuMin index) const noexcept |
| uint32_t | getValue (GpuMax index) const noexcept |
| bool | hasLLPV () const noexcept |
| ashes::Buffer< castor::Point4f > const & | getRandomStorage () const noexcept |
Public Member Functions inherited from castor::OwnedBy< Engine > | |
| Engine * | getOwner () const noexcept |
| void | setOwner (Engine &owner) noexcept |
Static Public Member Functions | |
| static C3D_API ashes::InstancePtr | createInstance (Engine const &engine, AshPluginDescription const &desc, Extensions &instanceExtensions) |
| static C3D_API void | completeLayerNames (Engine const &engine, ashes::VkLayerPropertiesArray const &layers, ashes::StringArray &names) |
Additional Inherited Members | |
Protected Member Functions inherited from castor::OwnedBy< Engine > | |
| OwnedBy (Engine &owner) noexcept | |
| Constructor. | |
| C3D_API castor3d::RenderSystem::RenderSystem | ( | Engine & | engine, |
| AshPluginDescription | desc, | ||
| Extensions | instanceExtensions = {}, | ||
| Extensions | deviceExtensions = {} ) |
Constructor.
| [in] | engine | The engine. |
| [in] | desc | The Ashes plugin description. |
| [in] | instanceExtensions | The instance extensions. |
| [in] | deviceExtensions | The device extensions. |
| C3D_API castor3d::RenderSystem::RenderSystem | ( | Engine & | engine, |
| Renderer | renderer, | ||
| Extensions | deviceExtensions = {} ) |
Constructor.
| [in] | engine | The engine. |
| [in] | renderer | The selected renderer. |
| [in] | deviceExtensions | The device extensions. |
| C3D_API SpirVShader const & castor3d::RenderSystem::compileShader | ( | ProgramModule & | shaderModule, |
| ast::EntryPointConfig const & | entryPoint ) |
Compiles a shader module to the necessary shader language.
| [in] | shaderModule | The shader to compile. |
| [in] | entryPoint | The shader entry point to compile. |
| C3D_API SpirVShader const & castor3d::RenderSystem::compileShader | ( | ShaderModule & | shaderModule | ) |
Compiles a shader module to the necessary shader language.
| [in] | shaderModule | The shader to compile. |
| C3D_API SpirVShader castor3d::RenderSystem::compileShader | ( | VkShaderStageFlagBits | stage, |
| castor::String const & | name, | ||
| ast::Shader const & | shader, | ||
| ast::EntryPointConfig const & | entryPoint ) |
Compiles a shader module to the necessary shader language.
| [in] | stage | The shader stage. |
| [in] | name | The shader name. |
| [in] | shader | The shader to compile. |
| [in] | entryPoint | The shader entry point to compile. |
| C3D_API SpirVShader castor3d::RenderSystem::compileShader | ( | VkShaderStageFlagBits | stage, |
| castor::String const & | name, | ||
| castor::MbString const & | glsl ) const |
Compiles a shader module to the necessary shader language.
| [in] | stage | The shader stage. |
| [in] | name | The shader name. |
| [in] | glsl | The shader to compile. |
|
static |
Adds the instance layers names to the given names.
| [in] | engine | The engine. |
| [in] | layers | The available layers. |
| [in,out] | names | The liste to fill. |
|
static |
Creates a Vulkan instance usable with Castor3D.
| [in] | engine | The engine. |
| [in] | desc | The Ashes plugin description. |
| [in] | instanceExtensions | The instance extensions. |
|
inlinenoexcept |
References castor3d::Renderer::desc.
Referenced by getRendererType(), and hasSsbo().

|
inlinenoexcept |
| C3D_API castor::Matrix4x4f castor3d::RenderSystem::getFrustum | ( | float | left, |
| float | right, | ||
| float | bottom, | ||
| float | top, | ||
| float | zNear, | ||
| float | zFar ) const |
Computes an frustum projection matrix.
| [in] | left,right | The left and right planes position. |
| [in] | top,bottom | The top and bottom planes position. |
| [in] | zNear,zFar | The near and far planes position. |
|
inlinenoexcept |
| C3D_API castor::Matrix4x4f castor3d::RenderSystem::getInfinitePerspective | ( | castor::Angle const & | fovy, |
| float | aspect, | ||
| float | zNear ) const |
Computes a perspective projection matrix with no far plane clipping.
| [in] | fovy | The vertical aperture angle. |
| [in] | aspect | The width / height ratio. |
| [in] | zNear | The near plane position. |
|
inlinenoexcept |
References castor3d::Renderer::instance.
|
inlinenoexcept |
| C3D_API castor::Matrix4x4f castor3d::RenderSystem::getOrtho | ( | float | left, |
| float | right, | ||
| float | bottom, | ||
| float | top, | ||
| float | zNear, | ||
| float | zFar ) const |
Computes an orthographic projection matrix.
| [in] | left,right | The left and right planes position. |
| [in] | top,bottom | The top and bottom planes position. |
| [in] | zNear,zFar | The near and far planes position. |
| C3D_API castor::Matrix4x4f castor3d::RenderSystem::getPerspective | ( | castor::Angle const & | fovy, |
| float | aspect, | ||
| float | zNear, | ||
| float | zFar ) const |
Computes a perspective projection matrix.
| [in] | fovy | The vertical aperture angle. |
| [in] | aspect | The width / height ratio. |
| [in] | zNear | The near plane position. |
| [in] | zFar | The far plane position. |
|
inlinenoexcept |
References castor3d::Renderer::gpu.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References castor3d::GpuInformations::hasShaderStorageBuffers().

|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
References castor3d::GpuInformations::hasStereoRendering().
