Castor3D  ..
Classes | Espaces de nommage | Macros | Fonctions | Variables
Référence du fichier Castor3DPrerequisites.hpp
+ Graphe des dépendances par inclusion de Castor3DPrerequisites.hpp:

Classes

struct  Castor3D::CacheTraits< ElementType, KeyType >
 Structure permettant de spécialiser le comportement d'un cache. Plus de détails...
 
class  Castor3D::CacheBase< ElementType, KeyType >
 Classe de base pour un cache d'éléments. Plus de détails...
 
class  Castor3D::Cache< ElementType, KeyType >
 Classe de base pour un cache d'éléments. Plus de détails...
 
struct  Castor3D::ElementProducer< ElementType, KeyType >
 
struct  Castor3D::ObjectCacheTraits< ElementType, KeyType >
 Structure permettant de spécialiser le comportement d'un cache. Plus de détails...
 
class  Castor3D::ObjectCacheBase< ElementType, KeyType >
 Classe de base pour un cache d'éléments de scène. Plus de détails...
 
class  Castor3D::ObjectCache< ElementType, KeyType >
 Classe de base pour un cache d'éléments de scène. Plus de détails...
 
class  Castor3D::CacheView< ResourceType, CacheType, EventType >
 Vue sur un cache de ressources. Plus de détails...
 

Espaces de nommage

 Castor3D
 

Macros

#define C3D_API
 
#define MAKE_CACHE_NAME(className)   Cache< className, Castor::String >
 
#define DECLARE_CACHE_MEMBER(memberName, className)
 
#define DECLARE_NAMED_CACHE_MEMBER(memberName, className)
 
#define MAKE_OBJECT_CACHE_NAME(className)   ObjectCache< className, Castor::String >
 
#define DECLARE_OBJECT_CACHE_MEMBER(memberName, className)
 
#define DECLARE_CACHE_VIEW_MEMBER(memberName, className, eventType)
 
#define DECLARE_CACHE_VIEW_MEMBER_CU(memberName, className, eventType)
 
#define DECLARE_CACHE_VIEW_MEMBER_EX(memberName, mgrName, className, eventType)
 

Fonctions

C3D_API void Castor3D::ComputePreLightingMapContributions (GLSL::GlslWriter &p_writer, GLSL::Vec3 &p_normal, GLSL::Float &p_shininess, TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags)
 
C3D_API void Castor3D::ComputePostLightingMapContributions (GLSL::GlslWriter &p_writer, GLSL::Vec3 &p_ambient, GLSL::Vec3 &p_diffuse, GLSL::Vec3 &p_specular, GLSL::Vec3 &p_emissive, TextureChannels const &p_textureFlags, ProgramFlags const &p_programFlags, SceneFlags const &p_sceneFlags)
 
Importer
 Castor3D::DECLARE_SMART_PTR (Importer)
 

Variables

Castor::String const Castor3D::RENDERER_TYPE_UNDEFINED = cuT( "Undefined" )
 

General

enum  Castor3D::MovableType : uint8_t {
  Castor3D::MovableType::eCamera, Castor3D::MovableType::eGeometry, Castor3D::MovableType::eLight, Castor3D::MovableType::eBillboard,
  Castor3D::MovableType::eParticleEmitter
}
 Enumération des types de MovableObject. Plus de détails...
 
enum  Castor3D::TargetType : uint8_t { Castor3D::TargetType::eWindow, Castor3D::TargetType::eTexture }
 Types de RenderTarget supportés. Plus de détails...
 
enum  Castor3D::PluginType : uint8_t {
  Castor3D::PluginType::eRenderer, Castor3D::PluginType::eImporter, Castor3D::PluginType::eDivider, Castor3D::PluginType::eGenerator,
  Castor3D::PluginType::eTechnique, Castor3D::PluginType::eToneMapping, Castor3D::PluginType::ePostEffect, Castor3D::PluginType::eGeneric,
  Castor3D::PluginType::eParticle
}
 Enumération des types de plug-ins. Plus de détails...
 
enum  Castor3D::BufferComponent : uint8_t { Castor3D::BufferComponent::eNone = 0, Castor3D::BufferComponent::eColour = 1 << 0, Castor3D::BufferComponent::eDepth = 1 << 1, Castor3D::BufferComponent::eStencil = 1 << 2 }
 Enumération des composantes de tampon d'image. Plus de détails...
 
enum  Castor3D::WindowBuffer : uint8_t {
  Castor3D::WindowBuffer::eNone, Castor3D::WindowBuffer::eFrontLeft, Castor3D::WindowBuffer::eFrontRight, Castor3D::WindowBuffer::eBackLeft,
  Castor3D::WindowBuffer::eBackRight, Castor3D::WindowBuffer::eFront, Castor3D::WindowBuffer::eBack, Castor3D::WindowBuffer::eLeft,
  Castor3D::WindowBuffer::eRight, Castor3D::WindowBuffer::eFrontAndBack
}
 Enumération des composantes de tampon d'image. Plus de détails...
 
enum  Castor3D::FrameBufferTarget : uint8_t { Castor3D::FrameBufferTarget::eDraw, Castor3D::FrameBufferTarget::eRead, Castor3D::FrameBufferTarget::eBoth }
 Enumération des cibles d'activation de tampon d'image. Plus de détails...
 
enum  Castor3D::FrameBufferMode : uint8_t { Castor3D::FrameBufferMode::eConfig, Castor3D::FrameBufferMode::eAutomatic, Castor3D::FrameBufferMode::eManual }
 Enumération des modes d'activation de tampon d'image. Plus de détails...
 
enum  Castor3D::AttachmentPoint : uint8_t {
  Castor3D::AttachmentPoint::eNone, Castor3D::AttachmentPoint::eColour, Castor3D::AttachmentPoint::eDepth, Castor3D::AttachmentPoint::eStencil,
  Castor3D::AttachmentPoint::eDepthStencil
}
 Enumération des points d'attache pour un tampon d'image. Plus de détails...
 
enum  Castor3D::AttachmentType : uint8_t { Castor3D::AttachmentType::eTexture, Castor3D::AttachmentType::eBuffer }
 Enumération des types d'attache pour un tampon d'image. Plus de détails...
 
enum  Castor3D::ViewportType : uint8_t { Castor3D::ViewportType::eOrtho, Castor3D::ViewportType::ePerspective, Castor3D::ViewportType::eFrustum }
 Enumération des types de projection de viewport. Plus de détails...
 
enum  Castor3D::FrustumPlane {
  Castor3D::FrustumPlane::eNear, Castor3D::FrustumPlane::eFar, Castor3D::FrustumPlane::eLeft, Castor3D::FrustumPlane::eRight,
  Castor3D::FrustumPlane::eTop, Castor3D::FrustumPlane::eBottom
}
 Enumération des plans du frustum de vue. Plus de détails...
 
enum  Castor3D::EventType : uint8_t { Castor3D::EventType::ePreRender, Castor3D::EventType::eQueueRender, Castor3D::EventType::ePostRender }
 Enumération des types d'évènement de frame. Plus de détails...
 
enum  Castor3D::Culling : uint8_t { Castor3D::Culling::eNone, Castor3D::Culling::eFront, Castor3D::Culling::eBack, Castor3D::Culling::eFrontAndBack }
 Enumération des faces supprimées. Plus de détails...
 
enum  Castor3D::FillMode : uint8_t { Castor3D::FillMode::ePoint, Castor3D::FillMode::eLine, Castor3D::FillMode::eSolid }
 Enumération des mode de rastérisation des polygones. Plus de détails...
 
enum  Castor3D::QueryType : uint32_t {
  Castor3D::QueryType::eTimeElapsed, Castor3D::QueryType::eSamplesPassed, Castor3D::QueryType::eAnySamplesPassed, Castor3D::QueryType::ePrimitivesGenerated,
  Castor3D::QueryType::eTransformFeedbackPrimitivesWritten, Castor3D::QueryType::eAnySamplesPassedConservative, Castor3D::QueryType::eTimestamp
}
 Enumération des types de requêtes GPU supportés. Plus de détails...
 
enum  Castor3D::QueryInfo : uint32_t { Castor3D::QueryInfo::eResult, Castor3D::QueryInfo::eResultAvailable, Castor3D::QueryInfo::eResultNoWait }
 Enumération des informations de requêtes GPU supportés. Plus de détails...
 
enum  Castor3D::MemoryBarrier : uint32_t {
  Castor3D::MemoryBarrier::eVertexBuffer = 0x01 << 0, Castor3D::MemoryBarrier::eIndexBuffer = 0x01 << 1, Castor3D::MemoryBarrier::eUniformBuffer = 0x01 << 2, Castor3D::MemoryBarrier::eAtomicCounterBuffer = 0x01 << 3,
  Castor3D::MemoryBarrier::eQueryBuffer = 0x01 << 4, Castor3D::MemoryBarrier::eShaderStorageBuffer = 0x01 << 5, Castor3D::MemoryBarrier::eAll = 0xFFFFFFFF
}
 Enumération des types de barrières supportées. Plus de détails...
 
using Castor3D::ParticleFactory = Castor::Factory< CpuParticleSystem, Castor::String, CpuParticleSystemUPtr, std::function< CpuParticleSystemUPtr(ParticleSystem &) > >
 
template<typename ElementType >
using Castor3D::ElementInitialiser = std::function< void(std::shared_ptr< ElementType >) >
 
template<typename ElementType >
using Castor3D::ElementCleaner = std::function< void(std::shared_ptr< ElementType >) >
 
template<typename ElementType , typename KeyType >
using Castor3D::ElementMerger = std::function< void(CacheBase< ElementType, KeyType > const &, Castor::Collection< ElementType, KeyType > &, std::shared_ptr< ElementType >) >
 
using Castor3D::ListenerCache = Cache< FrameListener, Castor::String >
 
using Castor3D::MeshCache = Cache< Mesh, Castor::String >
 
using Castor3D::SamplerCache = Cache< Sampler, Castor::String >
 
using Castor3D::SceneCache = Cache< Scene, Castor::String >
 
using Castor3D::RenderTechniqueCache = Cache< RenderTechnique, Castor::String >
 
using Castor3D::RenderWindowCache = Cache< RenderWindow, Castor::String >
 
template<typename ElementType >
using Castor3D::ElementAttacher = std::function< void(std::shared_ptr< ElementType >, SceneNodeSPtr, SceneNodeSPtr, SceneNodeSPtr, SceneNodeSPtr) >
 
template<typename ElementType >
using Castor3D::ElementDetacher = std::function< void(std::shared_ptr< ElementType >) >
 
using Castor3D::AnimatedObjectGroupCache = Cache< AnimatedObjectGroup, Castor::String >
 
using Castor3D::BillboardListCache = ObjectCache< BillboardList, Castor::String >
 
using Castor3D::CameraCache = ObjectCache< Camera, Castor::String >
 
typedef std::map< Castor::String, RenderWindowSPtr > Castor3D::WindowPtrStrMap
 
 Castor3D::DECLARE_SMART_PTR (RenderBuffer)
 
 Castor3D::DECLARE_SMART_PTR (ColourRenderBuffer)
 
 Castor3D::DECLARE_SMART_PTR (DepthStencilRenderBuffer)
 
 Castor3D::DECLARE_SMART_PTR (FrameBufferAttachment)
 
 Castor3D::DECLARE_SMART_PTR (RenderBufferAttachment)
 
 Castor3D::DECLARE_SMART_PTR (TextureAttachment)
 
 Castor3D::DECLARE_SMART_PTR (FrameBuffer)
 
 Castor3D::DECLARE_SMART_PTR (BackBuffers)
 
 Castor3D::DECLARE_SMART_PTR (Engine)
 
 Castor3D::DECLARE_SMART_PTR (Plugin)
 
 Castor3D::DECLARE_SMART_PTR (RendererPlugin)
 
 Castor3D::DECLARE_SMART_PTR (ImporterPlugin)
 
 Castor3D::DECLARE_SMART_PTR (DividerPlugin)
 
 Castor3D::DECLARE_SMART_PTR (GenericPlugin)
 
 Castor3D::DECLARE_SMART_PTR (PostFxPlugin)
 
 Castor3D::DECLARE_SMART_PTR (ParticlePlugin)
 
 Castor3D::DECLARE_SMART_PTR (FrameEvent)
 
 Castor3D::DECLARE_SMART_PTR (FrameListener)
 
 Castor3D::DECLARE_SMART_PTR (IWindowHandle)
 
 Castor3D::DECLARE_SMART_PTR (GpuQuery)
 
 Castor3D::DECLARE_SMART_PTR (PickingPass)
 
 Castor3D::DECLARE_SMART_PTR (TransformFeedback)
 
 Castor3D::DECLARE_SMART_PTR (ComputePipeline)
 
 Castor3D::DECLARE_SMART_PTR (ListenerCache)
 
 Castor3D::DECLARE_SMART_PTR (ShaderProgramCache)
 
 Castor3D::DECLARE_SMART_PTR (RenderTargetCache)
 
 Castor3D::DECLARE_SMART_PTR (BillboardListCache)
 
 Castor3D::DECLARE_VECTOR (real, Real)
 real array Plus de détails...
 
 Castor3D::DECLARE_VECTOR (RenderWindowSPtr, RenderWindowPtr)
 RenderWindow pointer array. Plus de détails...
 
 Castor3D::DECLARE_VECTOR (RenderBufferSPtr, RenderBufferPtr)
 RenderBuffer pointer array. Plus de détails...
 
 Castor3D::DECLARE_VECTOR (FrameEventUPtr, FrameEventPtr)
 FrameEvent pointer array. Plus de détails...
 
 Castor3D::DECLARE_MAP (Castor::String, FrameListenerSPtr, FrameListenerPtrStr)
 FrameListener pointer map, sorted by name. Plus de détails...
 
 Castor3D::DECLARE_MAP (uint32_t, RenderWindowSPtr, RenderWindow)
 RenderWindow pointer map, sorted by index. Plus de détails...
 
 Castor3D::DECLARE_MAP (Castor::String, PluginSPtr, PluginStr)
 Plugin map, sorted by name. Plus de détails...
 
 Castor3D::DECLARE_MAP (int, Castor::String, StrInt)
 
 Castor3D::DECLARE_VECTOR (PostEffectSPtr, PostEffectPtr)
 
 Castor3D::DECLARE_VECTOR (BillboardListSPtr, BillboardList)
 
 Castor3D::DECLARE_MAP (Castor::String, RendererPluginSPtr, RendererPtr)
 
 Castor3D::DECLARE_ARRAY (PluginStrMap, PluginType::eCount, PluginStrMap)
 
 Castor3D::DECLARE_MAP (Castor::Path, Castor::DynamicLibrarySPtr, DynamicLibraryPtrPath)
 
 Castor3D::DECLARE_ARRAY (DynamicLibraryPtrPathMap, PluginType::eCount, DynamicLibraryPtrPathMap)
 
 Castor3D::DECLARE_MAP (Castor::Path, PluginType, PluginTypePath)
 
 Castor3D::DECLARE_MAP (Castor::String, BillboardListSPtr, BillboardListStr)
 

Documentation des macros

◆ C3D_API

#define C3D_API

Référencé par Castor3D::ObjectCache< Light, Castor::String >::Add(), Castor3D::BufferDeclaration::BufferDeclaration(), Castor3D::BorderPanelOverlay::CreateTextWriter(), Castor3D::PointLight::CreateTextWriter(), Castor3D::SpotLight::CreateTextWriter(), Castor3D::TextOverlay::CreateTextWriter(), Castor3D::UniformBuffer::CreateUniform(), Castor3D::ShaderProgram::CreateUniform(), Castor3D::BinaryParserBase< Skeleton >::DoGetSubChunk(), Castor3D::Generator::DoGetThreadsCount(), Castor3D::UserInputListener::DoRemoveHandler(), Castor3D::BinaryWriterBase< Skeleton >::DoWriteChunk(), Castor3D::ProgramInputLayout::end(), Castor3D::UniformBufferBinding::end(), Castor3D::ShaderProgramCache::end(), Castor3D::Pass::end(), Castor3D::TextureLayout::end(), Castor3D::Geometry::EndRender(), Castor3D::ShaderProgram::FindUniform(), Castor3D::FrameBufferAttachment::GetAttachmentIndex(), Castor3D::PointLight::GetAttenuation(), Castor3D::Vertex::GetBitangent(), Castor3D::BorderPanelOverlay::GetBorderInnerUV(), Castor3D::Version::GetBuild(), Castor3D::SkeletonAnimationInstanceObject::GetChildren(), Castor3D::SpotLight::GetCutOff(), Castor3D::Cube::GetDepth(), Castor3D::Torus::GetExternalRadius(), Castor3D::Projection::GetFaceCount(), Castor3D::UserInputListener::GetFocusedControl(), Castor3D::RenderSystem::GetGpuTime(), Castor3D::Generator::GetHeight(), Castor3D::GpuQuery::GetInfos(), Castor3D::LightCategory::GetLight(), Castor3D::DirectionalLight::GetLightSpaceTransform(), Castor3D::Vertex::GetNormal(), Castor3D::PanelOverlay::GetPanelVertex(), Castor3D::ShaderObject::GetParent(), Castor3D::ShadowMap::GetPasses(), Castor3D::PickingPass::GetPickedFace(), Castor3D::Vertex::GetPosition(), Castor3D::PushUniform::GetProgram(), Castor3D::Sphere::GetRadius(), Castor3D::Icosahedron::GetRadius(), Castor3D::Cone::GetRadius(), Castor3D::Cylinder::GetRadius(), Castor3D::SkeletonAnimation::GetRootObjects(), Castor3D::Vertex::GetSizeTex(), Castor3D::ShaderProgram::GetStatus(), Castor3D::Plane::GetSubDivisionsY(), Castor3D::MeshAnimation::GetSubmesh(), Castor3D::Vertex::GetTangent(), Castor3D::RenderTarget::GetToneMapping(), Castor3D::RenderTechnique::GetTransparentPass(), Castor3D::Context::GetWindow(), Castor3D::TransformFeedback::GetWrittenPrimitives(), Castor3D::AnimatedObject::HasAnimation(), Castor3D::RenderLoop::HasDebugOverlays(), Castor3D::BackBuffers::IsComplete(), Castor3D::RenderPass::IsMultisampling(), Castor3D::IWindowHandle::IWindowHandle(), Castor3D::EventHandler::ProcessHandlerEvent(), Castor3D::BufferDeclaration::push_back(), Castor3D::SceneFileParser::ScenesEnd(), Castor3D::Vertex::SetBitangent(), Castor3D::TextureSource::SetBuffer(), Castor3D::TextOverlay::SetLineSpacingMode(), Castor3D::Vertex::SetNormal(), Castor3D::Vertex::SetPosition(), Castor3D::Subdivider::SetSubdivisionEndCallback(), Castor3D::Vertex::SetTangent(), Castor3D::Vertex::SetTexCoord(), Castor3D::GeometryBuffers::SetTopology(), Castor3D::OverlayCategory::TextWriter::WriteInto(), Castor3D::Cache< Material, Castor::String >::~Cache(), et Castor3D::Interpolator< Castor::Quaternion >::~Interpolator().

◆ DECLARE_CACHE_MEMBER

#define DECLARE_CACHE_MEMBER (   memberName,
  className 
)
Valeur :
public:\
inline MAKE_CACHE_NAME( className ) & Get##className##Cache()\
{\
return *m_##memberName##Cache;\
}\
inline MAKE_CACHE_NAME( className ) const & Get##className##Cache()const\
{\
return *m_##memberName##Cache;\
}\
private:\
std::unique_ptr< MAKE_CACHE_NAME( className ) > m_##memberName##Cache
#define MAKE_CACHE_NAME(className)
Definition: Castor3DPrerequisites.hpp:654

◆ DECLARE_CACHE_VIEW_MEMBER

#define DECLARE_CACHE_VIEW_MEMBER (   memberName,
  className,
  eventType 
)
Valeur :
public:\
inline CacheView< className, MAKE_CACHE_NAME( className ), eventType > & Get##className##View()\
{\
return *m_##memberName##CacheView;\
}\
inline CacheView< className, MAKE_CACHE_NAME( className ), eventType > const & Get##className##View()const\
{\
return *m_##memberName##CacheView;\
}\
private:\
std::unique_ptr< CacheView< className, MAKE_CACHE_NAME( className ), eventType > > m_##memberName##CacheView

◆ DECLARE_CACHE_VIEW_MEMBER_CU

#define DECLARE_CACHE_VIEW_MEMBER_CU (   memberName,
  className,
  eventType 
)
Valeur :
public:\
inline CacheView< Castor::className, Castor::className##Cache, eventType > & Get##className##View()\
{\
return *m_##memberName##CacheView;\
}\
inline CacheView< Castor::className, Castor::className##Cache, eventType > const & Get##className##View()const\
{\
return *m_##memberName##CacheView;\
}\
private:\
std::unique_ptr< CacheView< Castor::className, Castor::className##Cache, eventType > > m_##memberName##CacheView

◆ DECLARE_CACHE_VIEW_MEMBER_EX

#define DECLARE_CACHE_VIEW_MEMBER_EX (   memberName,
  mgrName,
  className,
  eventType 
)
Valeur :
public:\
inline CacheView< MAKE_CACHE_NAME( className ), mgrName##Cache, eventType > & Get##className##View()\
{\
return *m_##memberName##CacheView;\
}\
inline CacheView< MAKE_CACHE_NAME( className ), mgrName##Cache, eventType > const & Get##className##View()const\
{\
return *m_##memberName##CacheView;\
}\
private:\
std::unique_ptr< CacheView< MAKE_CACHE_NAME( className ), mgrName##Cache, eventType > > m_##memberName##CacheView

◆ DECLARE_NAMED_CACHE_MEMBER

#define DECLARE_NAMED_CACHE_MEMBER (   memberName,
  className 
)
Valeur :
public:\
inline className##Cache & Get##className##Cache()\
{\
return *m_##memberName##Cache;\
}\
inline className##Cache const & Get##className##Cache()const\
{\
return *m_##memberName##Cache;\
}\
private:\
std::unique_ptr< className##Cache > m_##memberName##Cache

◆ DECLARE_OBJECT_CACHE_MEMBER

#define DECLARE_OBJECT_CACHE_MEMBER (   memberName,
  className 
)
Valeur :
public:\
inline MAKE_OBJECT_CACHE_NAME( className ) & Get##className##Cache()\
{\
return *m_##memberName##Cache;\
}\
inline MAKE_OBJECT_CACHE_NAME( className ) const & Get##className##Cache()const\
{\
return *m_##memberName##Cache;\
}\
private:\
Castor::Connection< MAKE_OBJECT_CACHE_NAME( className )::OnChanged > m_on##className##Changed;\
std::unique_ptr< MAKE_OBJECT_CACHE_NAME( className ) > m_##memberName##Cache
#define MAKE_OBJECT_CACHE_NAME(className)
Definition: Castor3DPrerequisites.hpp:683

◆ MAKE_CACHE_NAME

#define MAKE_CACHE_NAME (   className)    Cache< className, Castor::String >

◆ MAKE_OBJECT_CACHE_NAME

#define MAKE_OBJECT_CACHE_NAME (   className)    ObjectCache< className, Castor::String >