Castor3D 0.12.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={})
 Constructeur. Plus de détails...
 
C3D_API RenderSystem (Engine &engine, Renderer renderer, Extensions deviceExtensions={})
 Constructeur. Plus de détails...
 
C3D_API void pushScene (Scene *scene)
 Met une scène sur la pile. Plus de détails...
 
C3D_API void popScene ()
 Enlève la scène du haut de la pile. Plus de détails...
 
C3D_API ScenegetTopScene () const
 
C3D_API SpirVShader compileShader (VkShaderStageFlagBits stage, castor::String const &name, ast::Shader const &shader) const
 Compile un shader dans le langage shader nécessaire. Plus de détails...
 
C3D_API SpirVShader compileShader (VkShaderStageFlagBits stage, castor::String const &name, castor::String const &glsl) const
 Compile un shader dans le langage shader nécessaire. Plus de détails...
 
C3D_API SpirVShader compileShader (ShaderModule const &module) const
 Compile un shader dans le langage shader nécessaire. Plus de détails...
 
C3D_API castor::Matrix4x4f getFrustum (float left, float right, float bottom, float top, float zNear, float zFar) const
 Calcule une matrice de projection frustum. Plus de détails...
 
C3D_API castor::Matrix4x4f getPerspective (castor::Angle const &fovy, float aspect, float zNear, float zFar) const
 Calcule une matrice de projection en perspective. Plus de détails...
 
C3D_API castor::Matrix4x4f getOrtho (float left, float right, float bottom, float top, float zNear, float zFar) const
 Calcule une matrice de projection orthographique. Plus de détails...
 
C3D_API castor::Matrix4x4f getInfinitePerspective (float radiansFovY, float aspect, float zNear) const
 Calcule une matrice de projection en perspective sans clipping d'arrière plan. Plus de détails...
 

Accesseurs.

AshPluginDescription const & getDescription () const
 
GpuInformations const & getGpuInformations () const
 
castor::String getRendererType () const
 
bool hasDevice () const
 
RenderDevice const & getRenderDevice () const
 
OverlayRendererSPtr getOverlayRenderer () const
 
castor::Nanoseconds const & getGpuTime () const
 
bool hasSsbo () const
 
ashes::Instance const & getInstance () const
 
VkPhysicalDeviceProperties const & getProperties () const
 
VkPhysicalDeviceMemoryProperties const & getMemoryProperties () const
 
VkPhysicalDeviceFeatures const & getFeatures () const
 
ashes::PhysicalDevice const & getPhysicalDevice () const
 
bool hasFeature (GpuFeature feature) const
 
bool hasStereoRendering () const
 
bool hasShaderStorageBuffers () const
 
bool hasShaderType (VkShaderStageFlagBits type) const
 
uint32_t getValue (GpuMin index) const
 
uint32_t getValue (GpuMax index) const
 
bool hasLLPV () const
 
template<class Rep , class Period >
void incGpuTime (std::chrono::duration< Rep, Period > const &time)
 
void resetGpuTime ()
 

Fonctions membres publiques statiques

static C3D_API ashes::InstancePtr createInstance (Engine &engine, AshPluginDescription const &desc, Extensions &instanceExtensions)
 Crée une instance Vulkan compatible avec Castor3D. Plus de détails...
 
static C3D_API void completeLayerNames (Engine const &engine, ashes::VkLayerPropertiesArray const &layers, ashes::StringArray &names)
 Ajoute les couches de l'instance aux noms déjà présents dans la liste donnée. Plus de détails...
 

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/3]

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

Compile un shader dans le langage shader nécessaire.

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

◆ compileShader() [2/3]

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

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.
Renvoie
Le shader compilé.

◆ compileShader() [3/3]

C3D_API SpirVShader castor3d::RenderSystem::compileShader ( VkShaderStageFlagBits  stage,
castor::String const &  name,
castor::String 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 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
inline

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
inline

◆ 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
inline

◆ getGpuTime()

castor::Nanoseconds const & castor3d::RenderSystem::getGpuTime ( ) const
inline

◆ getInfinitePerspective()

C3D_API castor::Matrix4x4f castor3d::RenderSystem::getInfinitePerspective ( float  radiansFovY,
float  aspect,
float  zNear 
) const

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

Paramètres
[in]radiansFovYL'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
inline

◆ getMemoryProperties()

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

◆ 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.

◆ getOverlayRenderer()

OverlayRendererSPtr castor3d::RenderSystem::getOverlayRenderer ( ) const
inline

◆ 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
inline

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

◆ getProperties()

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

◆ getRenderDevice()

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

Références hasDevice().

Voici le graphe d'appel pour cette fonction :

◆ getRendererType()

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

Références getDescription().

Voici le graphe d'appel pour cette fonction :

◆ getTopScene()

C3D_API Scene * castor3d::RenderSystem::getTopScene ( ) const
Renvoie
La scène du haut de la pile, nullptr si la pile est vide.

◆ getValue() [1/2]

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

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
inline

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

Voici le graphe d'appel pour cette fonction :

◆ hasDevice()

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

Référencé par getRenderDevice().

Voici le graphe des appelants de cette fonction :

◆ hasFeature()

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

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

Voici le graphe d'appel pour cette fonction :

◆ hasLLPV()

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

◆ hasShaderStorageBuffers()

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

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

Voici le graphe d'appel pour cette fonction :

◆ hasShaderType()

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

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

Voici le graphe d'appel pour cette fonction :

◆ hasSsbo()

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

Références getDescription().

Voici le graphe d'appel pour cette fonction :

◆ hasStereoRendering()

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

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

Voici le graphe d'appel pour cette fonction :

◆ incGpuTime()

template<class Rep , class Period >
void castor3d::RenderSystem::incGpuTime ( std::chrono::duration< Rep, Period > const &  time)
inline

name Mutateurs.

◆ popScene()

C3D_API void castor3d::RenderSystem::popScene ( )

Enlève la scène du haut de la pile.

◆ pushScene()

C3D_API void castor3d::RenderSystem::pushScene ( Scene scene)

Met une scène sur la pile.

Paramètres
[in]sceneLa scène

◆ resetGpuTime()

void castor3d::RenderSystem::resetGpuTime ( )
inline

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