Castor3D  ..
Classes | Espaces de nommage | Macros | 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

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::FrustumCorner {
  castor3d::FrustumCorner::eFarLeftBottom, castor3d::FrustumCorner::eFarLeftTop, castor3d::FrustumCorner::eFarRightTop, castor3d::FrustumCorner::eFarRightBottom,
  castor3d::FrustumCorner::eNearLeftBottom, castor3d::FrustumCorner::eNearLeftTop, castor3d::FrustumCorner::eNearRightTop, castor3d::FrustumCorner::eNearRightBottom
}
 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::eTextureFetch = 0x01 << 6, castor3d::MemoryBarrier::eTextureUpdate = 0x01 << 7,
  castor3d::MemoryBarrier::eFrameBuffer = 0x01 << 8, castor3d::MemoryBarrier::ePixelBuffer = 0x01 << 9, 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 (RenderPassTimer)
 
 castor3d::DECLARE_SMART_PTR (GaussianBlur)
 
 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::GpuBuffer::bind(), castor3d::BufferDeclaration::BufferDeclaration(), castor3d::BorderPanelOverlay::createTextWriter(), castor3d::TextOverlay::createTextWriter(), castor3d::PointLight::createTextWriter(), castor3d::SpotLight::createTextWriter(), castor3d::UniformBuffer::createUniform(), castor3d::ShaderObject::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::TextureLayout::end(), castor3d::ShaderObject::findUniform(), castor3d::ShaderProgram::findUniform(), castor3d::FrameBufferAttachment::getAttachmentIndex(), castor3d::PointLight::getAttenuation(), castor3d::Vertex::getBitangent(), castor3d::BorderPanelOverlay::getBorderInnerUV(), castor3d::LightCategory::getBoundingBox(), castor3d::Version::getBuild(), castor3d::SpotLight::getCutOff(), castor3d::ShadowMap::getDepth(), castor3d::UserInputListener::getFocusedControl(), castor3d::RenderSystem::getGpuTime(), castor3d::Generator::getHeight(), castor3d::GpuQuery::getInfos(), castor3d::DirectionalLight::getLightSpaceTransform(), castor3d::Vertex::getNormal(), castor3d::SkeletonAnimationInstanceObject::getObject(), castor3d::PanelOverlay::getPanelVertex(), castor3d::ShaderObject::getParent(), castor3d::Vertex::getPosition(), castor3d::PushUniform::getProgram(), castor3d::RenderPass::getSceneUbo(), castor3d::Vertex::getSizeTex(), castor3d::ShaderProgram::getStatus(), castor3d::Vertex::getTangent(), castor3d::Context::getWindow(), castor3d::TransformFeedback::getWrittenPrimitives(), castor3d::AnimatedObject::hasAnimation(), castor3d::RenderLoop::hasDebugOverlays(), castor3d::PostEffect::isAfterToneMapping(), castor3d::BackBuffers::isComplete(), castor3d::FrameBuffer::isSRGB(), castor3d::IWindowHandle::IWindowHandle(), castor3d::SubmeshComponent::needsUpdate(), castor3d::shader::LegacyMaterial::operator=(), castor3d::shader::MetallicRoughnessMaterial::operator=(), castor3d::shader::SpecularGlossinessMaterial::operator=(), castor3d::EventHandler::processHandlerEvent(), castor3d::BufferDeclaration::push_back(), castor3d::SceneFileParser::scenesEnd(), castor3d::Vertex::setBitangent(), castor3d::RenderTarget::setJitter(), castor3d::TextOverlay::setLineSpacingMode(), castor3d::Vertex::setNormal(), castor3d::Vertex::setPosition(), castor3d::Subdivider::setSubdivisionEndCallback(), castor3d::Vertex::setTangent(), castor3d::Vertex::setTexCoord(), castor3d::OverlayCategory::TextWriter::writeInto(), castor3d::Cache< Material, castor::String >::~Cache(), castor3d::Interpolator< castor::Quaternion >::~Interpolator(), et castor3d::TextureSource::~TextureSource().

◆ 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:681

◆ 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:710

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