Castor3D 0.16.0
Multiplatform 3D engine
|
Classes | |
struct | castor3d::NonTexturedQuad |
A quad without UV. More... | |
struct | castor3d::NonTexturedQuad::Vertex |
struct | castor3d::TexturedQuad |
A quad with UV. More... | |
struct | castor3d::TexturedQuad::Vertex |
struct | castor3d::NonTexturedCube |
A cube without UV. More... | |
struct | castor3d::NonTexturedCube::Quad |
struct | castor3d::NonTexturedCube::Quad::Vertex |
struct | castor3d::TexturedCube |
A cube with UV. More... | |
struct | castor3d::TexturedCube::Quad |
struct | castor3d::TexturedCube::Quad::Vertex |
struct | castor3d::DrawConstants |
Draw constants for one render node. More... | |
struct | castor3d::RenderCounts |
The 3D objects counts. More... | |
struct | castor3d::CulledNodeT< NodeT > |
struct | castor3d::PipelineAndID |
struct | castor3d::ShadowMapLightIds |
struct | castor3d::TechniqueQueues |
struct | castor3d::RenderWindowDesc |
struct | castor3d::RenderPassRegisterInfo |
struct | castor3d::CpuUpdater |
struct | castor3d::CpuUpdater::DirtyObjects |
struct | castor3d::GpuUpdater |
struct | castor3d::TargetDebugConfig |
Namespaces | |
namespace | castor3d |
Functions | |
CU_DeclareExportedOwnedBy (C3D_API, castor3d::RenderSystem, RenderSystem) CU_DeclareExportedOwnedBy(C3D_API | |
Render | |
enum class | castor3d::GlobalBuffersIdx : uint32_t { castor3d::eCamera = 0 , castor3d::eScene = 1 , castor3d::eObjectsNodeID = 2 , castor3d::eModelsData = 3 , castor3d::eMaterials = 4 , castor3d::eSssProfiles = 5 , castor3d::eTexConfigs = 6 , castor3d::eTexAnims = 7 , castor3d::eBillboardsData = 8 , castor3d::eCount , castor3d::eMin = eCamera } |
The render pass UBOs binding index. More... | |
enum class | castor3d::MeshBuffersIdx : uint32_t { castor3d::eCullData = 0 , castor3d::eMeshlets = 1 , castor3d::ePosition = 2 , castor3d::eNormal = 3 , castor3d::eTangent = 4 , castor3d::eBitangent = 5 , castor3d::eTexcoord0 = 6 , castor3d::eTexcoord1 = 7 , castor3d::eTexcoord2 = 8 , castor3d::eTexcoord3 = 9 , castor3d::eColour = 10 , castor3d::ePassMasks = 11 , castor3d::eVelocity = 12 , castor3d::eInstances = 13 , castor3d::eCount , castor3d::eMin = eMeshlets } |
The render pass mesh buffers binding index. More... | |
enum class | castor3d::FrustumCorner { castor3d::eFarLeftBottom = 0 , castor3d::eFarLeftTop = 1 , castor3d::eFarRightTop = 2 , castor3d::eFarRightBottom = 3 , castor3d::eNearLeftBottom = 4 , castor3d::eNearLeftTop = 5 , castor3d::eNearRightTop = 6 , castor3d::eNearRightBottom = 7 , castor3d::eCount , castor3d::eMin = eFarLeftBottom } |
Frustum corners enumeration. More... | |
enum class | castor3d::FrustumPlane { castor3d::eNear = 0 , castor3d::eFar = 1 , castor3d::eLeft = 2 , castor3d::eRight = 3 , castor3d::eTop = 4 , castor3d::eBottom = 5 , castor3d::eCount , castor3d::eMin = eNear } |
Frustum planes enumeration. More... | |
enum class | castor3d::PickNodeType : uint8_t { castor3d::eNone = 0 , castor3d::eSubmesh = 1 , castor3d::eBillboard = 2 , castor3d::eCount , castor3d::eMin = eNone } |
The picking node types. More... | |
enum class | castor3d::TargetType : uint8_t { castor3d::eWindow = 0 , castor3d::eTexture = 1 , castor3d::eCount , castor3d::eMin = eWindow } |
RenderTarget supported types. More... | |
enum class | castor3d::ViewportType : uint8_t { castor3d::eUndefined = 0 , castor3d::eOrtho = 1 , castor3d::ePerspective = 2 , castor3d::eInfinitePerspective = 3 , castor3d::eFrustum = 4 , castor3d::eCount , castor3d::eMin = eUndefined } |
The viewport projection types enumeration. More... | |
enum class | castor3d::ShaderFlag : uint32_t { castor3d::eNone = 0x00000000 , castor3d::eNormal = 0x00000001 , castor3d::eTangent = 0x00000002 , castor3d::eTangentSpace = eTangent | eNormal , castor3d::eVelocity = 0x00000004 , castor3d::eWorldSpace = 0x00000008 , castor3d::eViewSpace = 0x00000010 , castor3d::eDepth = 0x00000020 , castor3d::eVisibility = 0x00000040 , castor3d::ePicking = 0x00000080 , castor3d::eLighting = 0x00000100 , castor3d::eShadowMapDirectional = 0x00000200 , castor3d::eShadowMapSpot = 0x00000400 , castor3d::eShadowMapPoint = 0x00000800 , castor3d::eVsmShadowMap = 0x00001000 , castor3d::eRsmShadowMap = 0x00002000 , castor3d::eEnvironmentMapping = 0x00004000 , castor3d::eOpacity = 0x00008000 , castor3d::eGeometry = 0x00010000 , castor3d::eTessellation = 0x00020000 , castor3d::eForceTexCoords = 0x00040000 , castor3d::eColour = 0x00080000 , castor3d::eAll = 0x000FFFFF } |
The render pass shader flags. More... | |
enum class | castor3d::DeferredLightingFilter : uint8_t { castor3d::eIgnore = 0 , castor3d::eDeferLighting = 1 , castor3d::eDeferredOnly = 2 , castor3d::eCount , castor3d::eMin = eIgnore } |
Determines what kind of lighting the pass handles. More... | |
enum class | castor3d::ParallaxOcclusionFilter : uint8_t { castor3d::eIgnore = 0 , castor3d::eDisabled = 1 , castor3d::eEnabled = 2 , castor3d::eCount , castor3d::eMin = eIgnore } |
Determines what kind of lighting the pass handles. More... | |
enum class | castor3d::RenderFilter : uint8_t { castor3d::eNone = 0x00 , castor3d::eAlphaBlend = 0x01 << 0u , castor3d::eAlphaTest = 0x01 << 1u , castor3d::eTransmission = 0x01 << 2u , castor3d::eOpaque = 0x01 << 3u } |
Filters out the opacity channels a render pass doesn't use. More... | |
enum class | castor3d::TechniquePassEvent { castor3d::eBeforeDepth = 0 , castor3d::eBeforeBackground = 1 , castor3d::eBeforeOpaque = 2 , castor3d::eBeforeTransparent = 3 , castor3d::eBeforePostEffects = 4 , castor3d::eCount , castor3d::eMin = eBeforeDepth } |
using | castor3d::RenderPassTypeID = uint16_t |
using | castor3d::ShaderFlags = castor::FlagCombination< ShaderFlag > |
using | castor3d::RenderFilters = castor::FlagCombination< RenderFilter > |
using | castor3d::RenderQueueArray = castor::Vector< castor::ReferenceWrapper< RenderQueue > > |
using | castor3d::TextureArray = castor::Vector< Texture > |
using | castor3d::ShadowMapRefIds = castor::Pair< castor::ReferenceWrapper< ShadowMap >, UInt32Array > |
using | castor3d::ShadowMapRefArray = castor::Vector< ShadowMapRefIds > |
using | castor3d::ShadowMapLightTypeArray = castor::Array< ShadowMapRefArray, size_t( LightType::eCount ) > |
using | castor3d::LightIdArray = castor::Vector< castor::Pair< Light *, uint32_t > > |
template<typename NodeT > | |
using | castor3d::CulledNodePtrT = castor::RawUniquePtr< CulledNodeT< NodeT > > |
template<typename NodeT , template< typename NodeU > typename NodeWrapperT = CulledNodeT> | |
using | castor3d::NodeArrayT = castor::Vector< NodeWrapperT< NodeT > > |
using | castor3d::ShadowMapLightIdArray = castor::Vector< ShadowMapLightIds > |
using | castor3d::ShadowMapLightArray = castor::Array< ShadowMapLightIdArray, size_t( LightType::eCount ) > |
using | castor3d::RenderNodesPassChangeSignalFunction = castor::Function< void( RenderNodesPass const & ) > |
using | castor3d::RenderNodesPassChangeSignal = castor::SignalT< RenderNodesPassChangeSignalFunction > |
using | castor3d::RenderNodesPassChangeSignalConnection = castor::ConnectionT< RenderNodesPassChangeSignal > |
using | castor3d::TechniquePassVector = castor::Vector< RenderTechniqueNodesPass * > |
using | castor3d::TechniquePasses = castor::Array< TechniquePassVector, size_t( TechniquePassEvent::eCount ) > |
castor::String const | castor3d::RenderTypeUndefined = cuT( "Undefined" ) |
C3D_API castor::String | castor3d::getName (FrustumCorner value) |
C3D_API castor::String | castor3d::getName (FrustumPlane value) |
C3D_API castor::String | castor3d::getName (PickNodeType value) |
C3D_API castor::String | castor3d::getName (TargetType value) |
C3D_API castor::String | castor3d::getName (ViewportType value) |
C3D_API castor::String | castor3d::getName (RenderFilter value) |
castor3d::CU_DeclareSmartPtr (castor3d, Frustum, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, Picking, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderDevice, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderLoop, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderNodesPass, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderPipeline, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderQueue, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderSystem, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderTarget, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderTechnique, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderTechniquePass, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, RenderWindow, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, Viewport, C3D_API) | |
castor3d::CU_DeclareSmartPtr (castor3d, Texture, C3D_API) | |
castor3d::CU_DeclareVector (IntermediateView, IntermediateView) | |
C3D_API uint32_t | castor3d::getSafeBandsSize (castor::Size const &size) |
C3D_API uint32_t | castor3d::getSafeBandSize (castor::Size const &size) |
C3D_API castor::Size | castor3d::getSafeBandedSize (castor::Size const &size) |
C3D_API VkExtent3D | castor3d::getSafeBandedExtent3D (castor::Size const &size) |
C3D_API castor::Angle | castor3d::getSafeBandedFovY (castor::Angle const &fovY, castor::Size const &size) |
C3D_API float | castor3d::getSafeBandedAspect (float aspect, castor::Size const &size) |
C3D_API VkImageMemoryBarrier | castor3d::makeLayoutTransition (VkImage image, VkImageSubresourceRange const &range, VkImageLayout sourceLayout, VkImageLayout destinationLayout, uint32_t srcQueueFamily, uint32_t dstQueueFamily) |
C3D_API VkImageMemoryBarrier | castor3d::makeLayoutTransition (VkImage image, VkImageSubresourceRange const &range, VkImageLayout srcLayout, VkImageLayout dstLayout, VkAccessFlags srcAccessFlags, uint32_t srcQueueFamily, uint32_t dstQueueFamily) |
C3D_API VkImageMemoryBarrier | castor3d::makeLayoutTransition (VkImage image, VkImageSubresourceRange const &range, VkImageLayout srcLayout, VkImageLayout dstLayout, VkAccessFlags srcAccessFlags, VkAccessFlags dstAccessMask, uint32_t srcQueueFamily, uint32_t dstQueueFamily) |
C3D_API void | castor3d::memoryBarrier (crg::RecordContext &context, VkCommandBuffer commandBuffer, ashes::BufferBase const &buffer, crg::BufferSubresourceRange const &range, crg::AccessState after, crg::AccessState before) |
C3D_API ashes::Image | castor3d::makeImage (ashes::Device const &device, VkImage image, crg::ImageId data) |
C3D_API ashes::ImageView | castor3d::makeImageView (ashes::Image const &image, VkImageView view, crg::ImageViewId data) |
C3D_API ashes::ImageView | castor3d::makeTargetImageView (Texture const &texture) |
C3D_API ashes::ImageView | castor3d::makeSampledImageView (Texture const &texture) |
C3D_API ashes::ImageView | castor3d::makeWholeImageView (Texture const &texture) |
C3D_API void | castor3d::printGraph (crg::RunnableGraph const &graph) |
C3D_API void | castor3d::bindImage (VkImageView view, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
Writes the storage image view descriptor to the given writes. | |
C3D_API void | castor3d::bindImage (ashes::ImageView const &view, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
C3D_API void | castor3d::bindImage (crg::RunnableGraph &graph, crg::ImageViewId const &view, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
C3D_API void | castor3d::bindTexture (VkImageView view, VkSampler sampler, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
Writes the image view and sampler descriptor to the given writes. | |
C3D_API void | castor3d::bindTexture (ashes::ImageView const &view, ashes::Sampler const &sampler, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
C3D_API void | castor3d::bindTexture (crg::RunnableGraph &graph, crg::ImageViewId const &view, VkSampler const &sampler, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
C3D_API void | castor3d::bindBuffer (VkBuffer buffer, VkDeviceSize offset, VkDeviceSize range, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
Writes the buffer descriptor to the given writes. | |
C3D_API void | castor3d::bindBuffer (ashes::BufferBase const &buffer, ashes::WriteDescriptorSetArray &writes, uint32_t &index) |
C3D_API ashes::WriteDescriptorSet | castor3d::makeImageViewDescriptorWrite (VkImageView const &view, uint32_t dstBinding, uint32_t dstArrayElement=0u) |
Creates a descriptor write for storage image. | |
C3D_API ashes::WriteDescriptorSet | castor3d::makeImageViewDescriptorWrite (VkImageView const &view, VkSampler const &sampler, uint32_t dstBinding, uint32_t dstArrayElement=0u) |
Creates a descriptor write for combined image sampler. | |
C3D_API ashes::WriteDescriptorSet | castor3d::makeDescriptorWrite (ashes::ImageView const &view, uint32_t dstBinding, uint32_t dstArrayElement=0u) |
Creates a descriptor write for storage image. | |
C3D_API ashes::WriteDescriptorSet | castor3d::makeDescriptorWrite (ashes::ImageView const &view, ashes::Sampler const &sampler, uint32_t dstBinding, uint32_t dstArrayElement=0u) |
Creates a descriptor write for combined image sampler. | |
C3D_API ashes::WriteDescriptorSet | castor3d::makeDescriptorWrite (ashes::UniformBuffer const &buffer, uint32_t dstBinding, VkDeviceSize elemOffset, VkDeviceSize elemRange, uint32_t dstArrayElement=0u) |
Creates a descriptor write for uniform buffer. | |
C3D_API ashes::WriteDescriptorSet | castor3d::makeDescriptorWrite (ashes::BufferBase const &storageBuffer, uint32_t dstBinding, VkDeviceSize byteOffset, VkDeviceSize byteRange, uint32_t dstArrayElement=0u) |
Creates a descriptor write for storage buffer. | |
template<typename DataT > | |
ashes::WriteDescriptorSet | castor3d::makeDescriptorWrite (ashes::Buffer< DataT > const &storageBuffer, uint32_t dstBinding, VkDeviceSize elemOffset, VkDeviceSize elemRange, uint32_t dstArrayElement=0u) |
Creates a descriptor write for storage buffer. | |
C3D_API ashes::WriteDescriptorSet | castor3d::makeDescriptorWrite (ashes::BufferBase const &buffer, ashes::BufferView const &view, uint32_t dstBinding, uint32_t dstArrayElement=0u) |
Creates a descriptor write for buffer texel view. | |
template<typename DataT > | |
ashes::WriteDescriptorSet | castor3d::makeDescriptorWrite (ashes::Buffer< DataT > const &buffer, ashes::BufferView const &view, uint32_t dstBinding, uint32_t dstArrayElement=0u) |
Creates a descriptor write for buffer texel view. | |
CU_DeclareExportedOwnedBy | ( | C3D_API | , |
castor3d::RenderSystem | , | ||
RenderSystem | ) |