Castor3D 0.16.0
Multiplatform 3D engine
|
#include <RenderSystem.hpp>
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 |
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 |
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. | |
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 SpirVShader const & castor3d::RenderSystem::compileShader | ( | ProgramModule & | shaderModule, |
ast::EntryPointConfig const & | entryPoint ) |
Compile un shader dans le langage shader nécessaire.
[in] | shaderModule | Le shader à compiler. |
[in] | entryPoint | Le point d'entrée de shader à compiler. |
C3D_API SpirVShader const & castor3d::RenderSystem::compileShader | ( | ShaderModule & | shaderModule | ) |
Compile un shader dans le langage shader nécessaire.
[in] | shaderModule | Le shader à compiler. |
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.
[in] | stage | Le stage du shader. |
[in] | name | Le nom du shader. |
[in] | shader | Le shader à compiler. |
[in] | entryPoint | Le point d'entrée de shader à compiler. |
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.
[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. |
|
inlinenoexcept |
Références castor3d::Renderer::desc.
Référencé par getRendererType(), et hasSsbo().
|
inlinenoexcept |
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. |
|
inlinenoexcept |
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.
[in] | fovy | L'angle d'ouverture verticale. |
[in] | aspect | Le ratio largeur / hauteur. |
[in] | zNear | La position du premier plan (pour le clipping). |
|
inlinenoexcept |
Références castor3d::Renderer::instance.
|
inlinenoexcept |
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). |
|
inlinenoexcept |
Références castor3d::Renderer::gpu.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Références castor3d::GpuInformations::hasShaderStorageBuffers().
|
inlinenoexcept |
Références castor3d::GpuInformations::hasShaderType().
|
inlinenoexcept |
|
inlinenoexcept |
Références castor3d::GpuInformations::hasStereoRendering().