Castor3D 0.14.0
Multiplatform 3D engine
|
#include <RenderSystem.hpp>
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 | ~RenderSystem () |
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 Scene * | getTopScene () 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. | |
C3D_API Texture const & | getPrefilteredBrdfTexture () const |
AshPluginDescription const & | getDescription () const |
GpuInformations const & | getGpuInformations () const |
castor::String | getRendererType () const |
bool | hasDevice () const |
RenderDevice & | getRenderDevice () 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... | |
C3D_API castor3d::RenderSystem::RenderSystem | ( | Engine & | engine, |
AshPluginDescription | desc, | ||
Extensions | instanceExtensions = {} , |
||
Extensions | deviceExtensions = {} |
||
) |
Constructeur.
[in] | engine | Le moteur. |
[in] | desc | The Ashes plugin description. |
[in] | instanceExtensions | Les extensions d'instance. |
[in] | deviceExtensions | Les extensions de device. |
C3D_API castor3d::RenderSystem::RenderSystem | ( | Engine & | engine, |
Renderer | renderer, | ||
Extensions | deviceExtensions = {} |
||
) |
Constructeur.
[in] | engine | Le moteur. |
[in] | renderer | Le renderer sélectionné. |
[in] | deviceExtensions | Les extensions de device. |
C3D_API castor3d::RenderSystem::~RenderSystem | ( | ) |
C3D_API SpirVShader castor3d::RenderSystem::compileShader | ( | ShaderModule const & | module | ) | const |
Compile un shader dans le langage shader nécessaire.
[in] | module | Le shader à compiler. |
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.
[in] | stage | Le stage du shader. |
[in] | name | Le nom du shader. |
[in] | shader | Le shader à compiler. |
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.
[in] | stage | Le stage du shader. |
[in] | name | Le nom du shader. |
[in] | glsl | Le shader à compiler. |
|
static |
Ajoute les couches de l'instance aux noms déjà présents dans la liste donnée.
[in] | engine | Le moteur. |
[in,out] | layers | Les couches présentes. |
[in,out] | names | La liste à compléter. |
|
static |
Crée une instance Vulkan compatible avec Castor3D.
[in] | engine | Le moteur. |
[in] | desc | La description du plugin Ashes. |
[in] | instanceExtensions | Les extensions d'instance. |
|
inline |
Références castor3d::Renderer::desc.
Référencé par getRendererType(), et hasSsbo().
|
inline |
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.
[in] | left,right | La position des plans gauche et droite. |
[in] | top,bottom | La position des plans haut et bas. |
[in] | zNear,zFar | La position des premier et arrière plans. |
|
inline |
|
inline |
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.
[in] | radiansFovY | L'angle d'ouverture verticale. |
[in] | aspect | Le ratio largeur / hauteur. |
[in] | zNear | La position du premier plan (pour le clipping). |
|
inline |
Références castor3d::Renderer::instance.
|
inline |
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.
[in] | left,right | La position des plans gauche et droite. |
[in] | top,bottom | La position des plans haut et bas. |
[in] | zNear,zFar | La position des premier et arrière plans. |
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.
[in] | fovy | L'angle d'ouverture verticale. |
[in] | aspect | Le ratio largeur / hauteur. |
[in] | zNear | La position du premier plan (pour le clipping). |
[in] | zFar | La position de l'arrière plan (pour le clipping). |
|
inline |
Références castor3d::Renderer::gpu.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Références castor3d::GpuInformations::hasShaderStorageBuffers().
|
inline |
Références castor3d::GpuInformations::hasShaderType().
|
inline |
|
inline |
Références castor3d::GpuInformations::hasStereoRendering().
|
inline |
name Mutateurs.
C3D_API void castor3d::RenderSystem::popScene | ( | ) |
Enlève la scène du haut de la pile.
Met une scène sur la pile.
[in] | scene | La scène |
|
inline |