Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres publiques statiques | Liste de tous les membres
Référence de la classe castor3d::RenderSystem

#include <RenderSystem.hpp>

Graphe d'héritage de castor3d::RenderSystem:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::RenderSystem:
Collaboration graph
[légende]

Fonctions membres publiques

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
 

Accesseurs.

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
 
RenderDevicegetRenderDevice () 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
 
- Fonctions membres publiques hérités de castor::OwnedBy< Engine >
Engine * getOwner () const
 L'objet propriétaire.
 

Fonctions membres publiques statiques

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)
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructeur.
 

Documentation des constructeurs et destructeur

◆ RenderSystem() [1/2]

C3D_API castor3d::RenderSystem::RenderSystem ( Engine & engine,
AshPluginDescription desc,
Extensions instanceExtensions = {},
Extensions deviceExtensions = {} )

Constructeur.

Paramètres
[in]engineLe moteur.
[in]descThe Ashes plugin description.
[in]instanceExtensionsLes extensions d'instance.
[in]deviceExtensionsLes extensions de device.

◆ RenderSystem() [2/2]

C3D_API castor3d::RenderSystem::RenderSystem ( Engine & engine,
Renderer renderer,
Extensions deviceExtensions = {} )

Constructeur.

Paramètres
[in]engineLe moteur.
[in]rendererLe renderer sélectionné.
[in]deviceExtensionsLes extensions de device.

Documentation des fonctions membres

◆ compileShader() [1/4]

C3D_API SpirVShader const & castor3d::RenderSystem::compileShader ( ProgramModule & shaderModule,
ast::EntryPointConfig const & entryPoint )

Compile un shader dans le langage shader nécessaire.

Paramètres
[in]shaderModuleLe shader à compiler.
[in]entryPointLe point d'entrée de shader à compiler.
Renvoie
Le shader compilé.

◆ compileShader() [2/4]

C3D_API SpirVShader const & castor3d::RenderSystem::compileShader ( ShaderModule & shaderModule)

Compile un shader dans le langage shader nécessaire.

Paramètres
[in]shaderModuleLe shader à compiler.
Renvoie
Le shader compilé.

◆ compileShader() [3/4]

C3D_API SpirVShader castor3d::RenderSystem::compileShader ( VkShaderStageFlagBits stage,
castor::String const & name,
ast::Shader const & shader,
ast::EntryPointConfig const & entryPoint )

Compile un shader dans le langage shader nécessaire.

Paramètres
[in]stageLe stage du shader.
[in]nameLe nom du shader.
[in]shaderLe shader à compiler.
[in]entryPointLe point d'entrée de shader à compiler.
Renvoie
Le shader compilé.

◆ compileShader() [4/4]

C3D_API SpirVShader castor3d::RenderSystem::compileShader ( VkShaderStageFlagBits stage,
castor::String const & name,
castor::MbString const & glsl ) const

Compile un shader dans le langage shader nécessaire.

Paramètres
[in]stageLe stage du shader.
[in]nameLe nom du shader.
[in]glslLe shader à compiler.
Renvoie
Le shader compilé.

◆ completeLayerNames()

static C3D_API void castor3d::RenderSystem::completeLayerNames ( Engine const & engine,
ashes::VkLayerPropertiesArray const & layers,
ashes::StringArray & names )
static

Ajoute les couches de l'instance aux noms déjà présents dans la liste donnée.

Paramètres
[in]engineLe moteur.
[in,out]layersLes couches présentes.
[in,out]namesLa liste à compléter.

◆ createInstance()

static C3D_API ashes::InstancePtr castor3d::RenderSystem::createInstance ( Engine const & engine,
AshPluginDescription const & desc,
Extensions & instanceExtensions )
static

Crée une instance Vulkan compatible avec Castor3D.

Paramètres
[in]engineLe moteur.
[in]descLa description du plugin Ashes.
[in]instanceExtensionsLes extensions d'instance.

◆ getDescription()

AshPluginDescription const & castor3d::RenderSystem::getDescription ( ) const
inlinenoexcept

Références castor3d::Renderer::desc.

Référencé par getRendererType(), et hasSsbo().

Voici le graphe des appelants de cette fonction :

◆ getFeatures()

VkPhysicalDeviceFeatures const & castor3d::RenderSystem::getFeatures ( ) const
inlinenoexcept

◆ getFrustum()

C3D_API castor::Matrix4x4f castor3d::RenderSystem::getFrustum ( float left,
float right,
float bottom,
float top,
float zNear,
float zFar ) const

Calcule une matrice de projection frustum.

Paramètres
[in]left,rightLa position des plans gauche et droite.
[in]top,bottomLa position des plans haut et bas.
[in]zNear,zFarLa position des premier et arrière plans.

◆ getGpuInformations()

GpuInformations const & castor3d::RenderSystem::getGpuInformations ( ) const
inlinenoexcept

◆ getInfinitePerspective()

C3D_API castor::Matrix4x4f castor3d::RenderSystem::getInfinitePerspective ( castor::Angle const & fovy,
float aspect,
float zNear ) const

Calcule une matrice de projection en perspective sans clipping d'arrière plan.

Paramètres
[in]fovyL'angle d'ouverture verticale.
[in]aspectLe ratio largeur / hauteur.
[in]zNearLa position du premier plan (pour le clipping).

◆ getInstance()

ashes::Instance const & castor3d::RenderSystem::getInstance ( ) const
inlinenoexcept

◆ getMemoryProperties()

VkPhysicalDeviceMemoryProperties const & castor3d::RenderSystem::getMemoryProperties ( ) const
inlinenoexcept

◆ getOrtho()

C3D_API castor::Matrix4x4f castor3d::RenderSystem::getOrtho ( float left,
float right,
float bottom,
float top,
float zNear,
float zFar ) const

Calcule une matrice de projection orthographique.

Paramètres
[in]left,rightLa position des plans gauche et droite.
[in]top,bottomLa position des plans haut et bas.
[in]zNear,zFarLa position des premier et arrière plans.

◆ getPerspective()

C3D_API castor::Matrix4x4f castor3d::RenderSystem::getPerspective ( castor::Angle const & fovy,
float aspect,
float zNear,
float zFar ) const

Calcule une matrice de projection en perspective.

Paramètres
[in]fovyL'angle d'ouverture verticale.
[in]aspectLe ratio largeur / hauteur.
[in]zNearLa position du premier plan (pour le clipping).
[in]zFarLa position de l'arrière plan (pour le clipping).

◆ getPhysicalDevice()

ashes::PhysicalDevice const & castor3d::RenderSystem::getPhysicalDevice ( ) const
inlinenoexcept

Références castor3d::Renderer::gpu.

◆ getPrefilteredBrdfTexture()

C3D_API Texture const & castor3d::RenderSystem::getPrefilteredBrdfTexture ( ) const

◆ getProperties()

VkPhysicalDeviceProperties const & castor3d::RenderSystem::getProperties ( ) const
inlinenoexcept

◆ getRandomStorage()

ashes::Buffer< castor::Point4f > const & castor3d::RenderSystem::getRandomStorage ( ) const
inlinenoexcept

◆ getRenderDevice()

RenderDevice & castor3d::RenderSystem::getRenderDevice ( ) const
inlinenoexcept

Références CU_Require, et hasDevice().

Voici le graphe d'appel pour cette fonction :

◆ getRendererType()

castor::String castor3d::RenderSystem::getRendererType ( ) const
inlinenoexcept

Références getDescription(), et castor::makeString().

Voici le graphe d'appel pour cette fonction :

◆ getValue() [1/2]

uint32_t castor3d::RenderSystem::getValue ( GpuMax index) const
inlinenoexcept

Références castor3d::GpuInformations::getValue().

Voici le graphe d'appel pour cette fonction :

◆ getValue() [2/2]

uint32_t castor3d::RenderSystem::getValue ( GpuMin index) const
inlinenoexcept

Références castor3d::GpuInformations::getValue().

Voici le graphe d'appel pour cette fonction :

◆ hasDevice()

bool castor3d::RenderSystem::hasDevice ( ) const
inlinenoexcept

Référencé par getRenderDevice().

Voici le graphe des appelants de cette fonction :

◆ hasFeature()

bool castor3d::RenderSystem::hasFeature ( GpuFeature feature) const
inlinenoexcept

Références castor3d::GpuInformations::hasFeature().

Voici le graphe d'appel pour cette fonction :

◆ hasLLPV()

bool castor3d::RenderSystem::hasLLPV ( ) const
inlinenoexcept

◆ hasShaderStorageBuffers()

bool castor3d::RenderSystem::hasShaderStorageBuffers ( ) const
inlinenoexcept

Références castor3d::GpuInformations::hasShaderStorageBuffers().

Voici le graphe d'appel pour cette fonction :

◆ hasShaderType()

bool castor3d::RenderSystem::hasShaderType ( VkShaderStageFlagBits type) const
inlinenoexcept

Références castor3d::GpuInformations::hasShaderType().

Voici le graphe d'appel pour cette fonction :

◆ hasSsbo()

bool castor3d::RenderSystem::hasSsbo ( ) const
inlinenoexcept

Références getDescription().

Voici le graphe d'appel pour cette fonction :

◆ hasStereoRendering()

bool castor3d::RenderSystem::hasStereoRendering ( ) const
inlinenoexcept

Références castor3d::GpuInformations::hasStereoRendering().

Voici le graphe d'appel pour cette fonction :

La documentation de cette classe a été générée à partir du fichier suivant :