Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456789]
 Cph::ApiDatabase
 Cph::ApiHelper
 Cph::IndexedVertexBuffer::AttributeDeclarationInfo for a declared vertex attribute
 Cph::AttributeTags
 Cph::BinaryFileReader
 Cph::BlockFunction
 Cph::BsdfEvalInputInput for BsdfEvalQuery
 Cph::BsdfEvalOutputOutput for BsdfEvalQuery
 Cph::BsdfEvalQueryInformation for obtaining a sample value from BSDF
 Cph::BsdfHelper
 Cph::BsdfPdfInputInput for BsdfPdfQuery
 Cph::BsdfPdfOutputOutput for BsdfPdfQuery
 Cph::BsdfPdfQueryInformation for the probability of generating a specific BSDF sample
 Cph::BsdfQueryContextThe environment a BSDF query is performed under
 Cph::BsdfSampleInputInput for BsdfSampleQuery
 Cph::BsdfSampleOutputOutput for BsdfSampleQuery
 Cph::BsdfSampleQueryInformation for generating a BSDF sample
 Cph::math::TIndexedPointKdtree< Item, Index, PointCalculator, ItemStorage >::BuildCache
 Cph::math::BvhParams
 Cph::ByteBufferAn auto-resizable byte storage
 Cph::ConductiveInterfaceInfoData describing the effects when light hits an conductive interface
 Cph::CookedDataStorage
 Cph::CookedGeometry
 Cph::CookedMotion
 Cph::CookedNamedResource
 Cph::CookingConfig
 Cph::CookingContextInformation about the world being cooked
 Cph::CookOrderControls the order actors are cooked
 Cph::CoreCookingContext
 Cph::CoreResource
 Cph::CsvFile
 Cph::CsvFileRow
 Cph::math::DefaultSpectralSampleProps
 Cph::math::DeterministicSeederConvenient thread-safe seed provider for RNGs. Do not use this for cryptography
 Cph::DielectricInterfaceInfoData describing the effects when light hits an dielectric interface
 Cph::DirectEnergyPdfInputInput for DirectEnergyPdfQuery
 Cph::DirectEnergyPdfOutputOutput for DirectEnergyPdfQuery
 Cph::DirectEnergyPdfQueryInformation for the probability of generating a specific sample for direct energy estimation
 Cph::DirectEnergySampleInputInput for DirectEnergySampleQuery
 Cph::DirectEnergySampleOutputOutput for DirectEnergySampleQuery
 Cph::DirectEnergySampleQueryInformation for generating a sample for direct energy estimation
 Cph::DomeRadianceFunctionInfo
 Cph::EmbeddedPrimitiveMetaGetter
 Cph::EmitFunction
 Cph::EmitterAn electromagnetic energy emitting source. The emitted energy can be captured by a Receiver
 Cph::EmitterSampler
 Cph::EnergyEmissionSampleInputInput for EnergyEmissionSampleQuery
 Cph::EnergyEmissionSampleOutputOutput for EnergyEmissionSampleQuery
 Cph::EnergyEmissionSampleQueryInformation for generating a sample for energy emission
 Cph::EngineThe render engine
 Cph::EngineInitSettingsOptions for initializing core engine. These settings are loaded on engine startup and remains constant till engine exit. Changing the settings will require an engine restart to see the effect
 Cph::ExrFileReader
 Cph::ExrFileWriter
 Cstd::false_type
 Cph::FilesystemFilesystem operations for the native operating system
 Cph::halton_detail::FixedPermuter
 Cph::FixedSizeThreadPoolA thread pool where works are accessed concurrently by blocking other threads. A thread pool that contains fixed number of threads for work processing. It is a blocking pool, i.e., works are enqueued and dequeued concurrently by blocking other threads, in FIFO order. The pool can be used concurrently, namely, it is thread-safe. However, the user must ensure that the pool is properly initialized before subsequent usages
 Cph::FrameOperator
 Cph::FresnelEffectModeling Fresnel effects that occur on interfaces
 Cph::FullRay
 Cstd::hash< ph::math::TAABB2D< T > >
 Cstd::hash< ph::math::TVector2< T > >
 Cph::HdrOperator
 Cph::HitDetailDetailed information regarding a ray-primitive intersection
 Cph::HitInfoGeneral information for a ray-primitive intersection
 Cph::HitProbeLightweight ray intersection testing and reporting object. If an intersection is found, a detailed report can be obtained from the stored information
 Cph::IDataStream
 Cph::IesData
 Cph::IesFile
 Cph::IMoveOnlyMarks the derived class as move only
 Cph::math::IndexedKdtreeParams
 Cph::IndexedTriangle
 Cph::IndexedTriMesh
 Cph::IndexedUIntBufferA general unsigned integer buffer for integers with any number of bits
 Cph::IndexedVertexBufferA general vertex buffer for storing various indexed attributes
 Cph::INoCopyAndMoveMarks the derived class as non-copyable and non-movable
 Cph::VolumeDistanceSample::Input
 Cph::Integrand
 Cph::InterfaceStatistics
 Cph::IntersectableAn object in the scene that a ray can intersect with
 Cph::IntersectorCommonParamsCommon parameters of intersector
 Cph::IReceivedRayProcessor
 Cph::IResourceIdentifierResolver
 Cph::ISdlDataPacketGroupView for a group of named data packets
 Cph::ISdlInstantiable
 Cph::ISdlReferenceGroupView for a group of SDL references
 Cph::ISdlResourceInterface for all SDL resource
 Cph::IUninstantiableMarks the derived class as uninstantiable
 Cph::IWorkDispatcherA manager that distributes work
 Cph::KdtreeAABB
 Cph::KdtreeNode
 Cph::LbLayer
 Cph::Microfacet
 Cph::MicrosurfaceInfo
 Cph::ModelParser
 Cph::MotionCookConfig
 Cph::math::Murmur3BitMixer32
 Cph::field_set_op::NoOpNoticeReceiver
 Cph::VolumeDistanceSample::Output
 Cph::halton_detail::OwenScrambledPermuter
 Cph::PathGeneral path representation. Does not check whether the target actually exists (e.g., on a filesystem). To check target existence, use Filesystem
 Cph::math::detail::Pcg64UInt128
 Cph::lta::PDFA sample from a Probability Density Function (PDF)
 Cph::halton_detail::PerDigitPermuter
 Cph::PeriodicSingleThreadExecutorA single-thread executor that runs specified works periodically. The executor can be used concurrently, namely, it is thread-safe. However, the user must ensure that the pool is properly initialized before subsequent usages
 Cph::PfmFileWriter for Portable FloatMap image format
 Cph::TPhotonMap< Photon, PhotonStorage >::PhotonCenterCalculator
 Cph::PictureData
 Cph::PictureMeta
 Cph::PixelBuffer2D
 Cph::PlyElementPLY element storage
 Cph::PlyFile
 Cph::PlyIOConfig
 Cph::PlyPropertyPLY property storage
 Cph::PlyPropertyListValuesA convenient PLY list property accessor
 Cph::PlyPropertyValuesA convenient PLY property accessor
 Cph::PMAtomicStatisticsThread safe statictics tracking utilities
 Cph::PMCommonParamsCommon parameters of photon mapping
 Cph::PreCookReport
 Cph::PreCookResourceCollectionProxy
 Cph::PrimitiveBuildingMaterial
 Cph::PrimitiveChannel
 Cph::PrimitiveMetadataCollection of attached components to a primitive. This type effectively "glues" various components that helps to describe additional properties related to a primitive
 Cph::PrimitivePosPdfInputInput for PrimitivePosPdfOutput
 Cph::PrimitivePosPdfOutputOutput for PrimitivePosPdfOutput
 Cph::PrimitivePosPdfQueryInformation for the probability of generating a specific sample point on a primitive
 Cph::PrimitivePosSampleInputInput for PrimitivePosSampleQuery
 Cph::PrimitivePosSampleOutputOutput for PrimitivePosSampleQuery
 Cph::PrimitivePosSampleQueryInformation for generating a sample point on a primitive
 Cph::lta::PtVolumetricEstimator
 Cph::RadianceSensor
 Cph::math::RandomGet random values from default RNG
 Cph::RayRepresents a ray in space
 Cph::RayDifferential
 Cph::math::Real
 Cph::ReceiverA target that can receive any physical quantity, typically electromagnetic energy. The received energy is originated from some Emitters
 Cph::Statistics::Record
 Cph::ReferencedPrimitiveMetaGetter
 Cph::RegularPictureRaw representation of common picture types
 Cph::RegularPictureFormatFormat of common pictures. Typically closely related to how the picture is stored natively (e.g., on disk)
 Cph::Renderer
 Cph::RendererProxy
 Cph::RenderObservationInfoMeta information for data related to ongoing render operation
 Cph::RenderProgress
 Cph::RenderRegionStatus
 Cph::RenderStats
 Cph::RenderWork
 Cph::RenderWorker
 Cph::ResourceIdentifierAn general identifier that points to some resource. This is the most general form of a resource identifier, typically refers to as Photon Resource Identifier (PRI) thoughout the engine
 Cph::RoughnessToAlphaMappingMaps roughness value in [0, 1] to the alpha parameter in NDF
 CRuntimeException
 Cph::lta::RussianRouletteRussian roulette random termination scheme
 Cph::Sample
 Cph::SampleContext
 Cph::SampleFilterAn image reconstruction kernel
 Cph::SampleFlowA sample with arbitrary dimensions with fine-grained sampling control
 Cph::SampleGeneratorGenerates samples in [0, 1]. Generators of different types produces samples with different properties. Depending on the implementation, the samples can be fully random, quasi random, or even fully deterministic. Sample generators in Photon have their life cycles. Life cycle begins when the sample generator start producing sample batches, and ends when all sample batches are exhausted
 Cph::SampleLocation
 Cph::SamplesND
 Cph::SamplesNDHandle
 Cph::SamplesNDStream
 Cph::SampleStage
 Cph::SampleStageReviser
 Cph::SamplingFilmDimensions
 Cph::SamplingStatistics
 Cph::ScatterFunction
 Cph::SceneA unified interface for accessing cooked content in a visual world
 Cph::SdlCommandGenerator
 Cph::SdlCommandParser
 Cph::SdlDataPacketInterfaceParsing & generating a group of SDL clauses
 Cph::SdlDependencyResolverResolves dependency between SDL resources and provides a valid initialization order. Optionally provide resource name lookup (if user provides resource name during analyzation)
 Cph::SdlEnumDescribes enum in SDL
 Cph::SdlField
 Cph::SdlInputClauseCarries SDL representation of various data during the input process. Helps to read input data such as command clauses or data packets
 Cph::SdlInputClausesContainer for input clauses
 Cph::SdlIOContextData that SDL input/output process can rely on
 Cph::SdlNamedOutputClauses
 Cph::SdlNativeData
 Cph::SdlOutputClauseCarries SDL representation of various data during the output process. Helps to write output data such as command clauses or data packets
 Cph::SdlOutputClauses
 Cph::PhysicalActor::SdlRotate
 Cph::PhysicalActor::SdlScale
 Cph::SdlStructFieldStump
 Cph::PhysicalActor::SdlTranslate
 Cph::SemanticVersionConvenient software version handling routines. See https://semver.org/ for a detailed explaination of the concept
 Cph::lta::SenseEvent
 Cph::SGUtil
 Cph::lta::SidednessAgreement
 Cph::math::detail::shuffle::StandardSwapper< T >
 Cph::Statistics
 Cph::SurfaceBehavior
 Cph::SurfaceHitGeneral information about a ray-surface intersection event
 Cph::lta::SurfaceHitRefineryAlgorithms for various hit point adjustments. For surface escaping routines, the generated ray is not guaranteed to "actually" avoid the surface. In other words, self-intersection may still happen under different circumstances dpending on the method used
 Cph::SurfaceLayerInfo
 Cph::SurfaceOpticsDescribes how light interacts with a surface
 Cph::lta::SurfaceTracerCommon operations for surface tracing. This class also handles many subtle cases for surface tracing. You may take the implementations here as reference if a more fine-grained control is needed for a custom operation
 Cph::math::TAABB2D< T >A 2-D Axis-Aligned Bounding Box (AABB)
 Cph::math::TAABB2D< float64 >
 Cph::math::TAABB2D< int64 >
 Cph::math::TAABB3D< T >A 3-D Axis-Aligned Bounding Box (AABB)
 Cph::math::TAABB3D< real >
 Cph::TableFGD
 Cph::TableTIR
 Cph::texfunc::TAbsolute< InputType, OutputType >
 Cph::texfunc::TAdd< InputTypeA, InputTypeB, OutputType >
 Cph::math::TAnalyticalIntegrator1D< T >
 Cph::DammertzDispatcher::TAnalyzer< MODE >
 Cph::TAnyPtr< IS_CONST >A type-safe, lightweight wrapper for any raw pointer type. Using std::any with a raw pointer type could achieve similar functionality. However, this class is dedicated for raw pointers and is guaranteed to have no dynamic allocation
 Cph::TAnyPtr< false >
 Cph::math::TArithmeticArrayBase< Derived, T, N >
 Cph::math::TArithmeticArrayBase< TArithmeticArray< T, N >, T, N >
 Cph::math::TArithmeticArrayBase< TQuaternion< real >, real, 4 >
 Cph::math::TArithmeticArrayBase< TQuaternion< T >, T, 4 >
 Cph::math::TArithmeticArrayBase< TSampledSpectrum< COLOR_SPACE, T, Props >, T, N >
 Cph::math::TArithmeticArrayBase< TTristimulusSpectrum< COLOR_SPACE, T >, T, N >
 Cph::math::TArithmeticArrayBase< TVector2< Element >, Element, N >
 Cph::math::TArithmeticArrayBase< TVector2< float64 >, float64, N >
 Cph::math::TArithmeticArrayBase< TVector2< int64 >, int64, N >
 Cph::math::TArithmeticArrayBase< TVector2< real >, real, N >
 Cph::math::TArithmeticArrayBase< TVector2< std::size_t >, std::size_t, N >
 Cph::math::TArithmeticArrayBase< TVector2< T >, T, N >
 Cph::math::TArithmeticArrayBase< TVector2< uint32 >, uint32, N >
 Cph::math::TArithmeticArrayBase< TVector2< Value >, Value, N >
 Cph::math::TArithmeticArrayBase< TVector3< real >, real, N >
 Cph::math::TArithmeticArrayBase< TVector3< T >, T, N >
 Cph::math::TArithmeticArrayBase< TVector4< real >, real, N >
 Cph::math::TArithmeticArrayBase< TVector4< T >, T, N >
 Cph::math::TArithmeticArrayBase< TVectorN< T, N >, T, N >
 Cph::TArrayHeap< T, N, IsLess >A fixed size heap backed by an array. The container inherits the properties of a fixed size array of type T. The container keeps all N elements alive until its lifetime ends, even if elements are popped/removed from the stack. It is guaranteed that no dynamic memory allocation takes place
 Cph::TArrayStack< T, N >A fixed size stack backed by an array. The container inherits the properties of a fixed size array of type T. The container keeps all N elements alive until its lifetime ends, even if elements are popped/removed from the stack. It is guaranteed that no dynamic memory allocation takes place
 Cph::TArrayStack< const Intersectable *, PH_HIT_PROBE_DEPTH >
 Cph::TArrayVector< T, N >A fixed size vector backed by an array. The container inherits the properties of a fixed size array of type T. The container keeps all N elements alive until its lifetime ends, even if elements are popped/removed from the vector. It is guaranteed that no dynamic memory allocation takes place
 Cph::TArrayVector< BasicEnumEntry, 64 >
 Cph::TArrayVector< const SdlFunction *, PH_SDL_MAX_FUNCTIONS >
 Cph::TArrayVector< std::unique_ptr< BaseFieldType >, PH_SDL_MAX_FIELDS >
 Cph::TArrayVector< std::unique_ptr< ph::TSdlOwnedField< MethodStruct > >, PH_SDL_MAX_FIELDS >
 Cph::TArrayVector< std::unique_ptr< ph::TSdlOwnedField< StructType > >, PH_SDL_MAX_FIELDS >
 Cph::TArrayVector< std::unique_ptr< TSdlOwnedField< Owner > >, PH_SDL_MAX_FIELDS >
 Cph::TAtomicQuasiQueue< T >A multi-producer, multi-consumer, lock-free concurrent queue-like structure. For single-thread uses, it is a FIFO queue. For multi-thread uses, it is mostly a FIFO queue. Specifically, items put in by a given producer will all come out in the same order (FIFO). But there is no coordination between items from other producers–two items put in by two different producers will come out in an undefined order relative to each other (the interleaving between different streams of items from different producers is undefined, even with external synchronization). It is possible some items will starve in the queue if more items are enqueued than dequeued. Guarantees aquire-release semantics for items that are enqueued/dequeued
 Cph::TAtomicQuasiQueue< ph::RenderRegionStatus >
 Cph::math::TBasicTriangle< T >Basic 3-D triangle functionalities
 Cph::math::TBasicTriangle< real >
 Cph::math::TBinaryBvhNode< Item, Index >
 Cph::TBitFlags< Value, Input >Manipulate a value type where each bit is a binary flag
 Cph::TBitFlags< EEmitterFeatureSet >
 Cph::TBitFlags< EFaceTopology >
 Cph::TBitFlags< ESurfaceHitReason >
 Cph::TBitFlags< ESurfacePhenomenon >
 Cph::TBlockableAtomicQuasiQueue< T >Blockable version of the TAtomicQuasiQueue. For single-thread uses, it is a FIFO queue. For multi-thread uses, it is mostly a FIFO queue. Specifically, items put in by a given producer will all come out in the same order (FIFO). But there is no coordination between items from other producers–two items put in by two different producers will come out in an undefined order relative to each other (the interleaving between different streams of items from different producers is undefined, even with external synchronization). It is possible some items will starve in the queue if more items are enqueued than dequeued. Guarantees aquire-release semantics for items that are enqueued/dequeued
 Cph::TBlockableAtomicQuasiQueue< Workload >
 Cph::math::TBvhBuilder< N, Item, ItemToAABB >
 Cph::math::TBvhInfoNode< N, Item >General BVH node packed with additional information. This node type is typically used for building other types of BVH or for algorithmic analysis
 Cph::math::TBvhItemInfo< Item >
 Cph::math::TBvhSimdComputingContext< N, Index >A SIMD computing context for BVH. Use isSupported() to check the availability of the required hardware feature
 Cph::math::TChromaticAdaptationDefinition< ALGORITHM, T >Sinkhole for undefined chromatic adaptation routines. Specialize the class to provide definitions for the specified adaptation configuration. Must satisfy CChromaticAdaptationDefinition
 Cph::math::detail::TCIEXYZCmfKernel< T, SampleProps >
 Cph::texfunc::TClamp< InputTypeA, InputTypeB, InputTypeC, OutputType >
 Cph::math::TColorSpaceDefinition< COLOR_SPACE, T >Sinkhole for color spaces without definition. Specialize this class to provide definitions for color space. Must satisfy CTristimulusColorSpaceDefinition or CSpectralColorSpaceDefinition
 Cph::math::detail::TColorSpaceDummy< COLOR_SPACE >
 Cph::TConstIteratorProxy< ContainerType >
 Cph::math::TDecomposedTransform< T >Perform affine transformations in decomposed form
 Cph::texfunc::TDefaultConversion< InputType, OutputType >Constructs output value from input value
 Cph::lta::TDirectLightEstimator< POLICY >Estimate direct lighting for a surface point. This is a lightweight helper type for estimating direct lighting. Do not think "direct light" as lighting from a directional light source, it means the first-bounce lighting for any surface point, and the surface point can be the N-th one in a path
 Cph::math::TDisk< T >A 2-D disk with normal facing up (0, 1, 0)
 Cph::texfunc::TDivide< InputTypeA, InputTypeB, OutputType >
 Cph::TEmbeddedPrimitiveGetter< PrimitiveType >
 Cph::SdlEnum::TEntry< ValueType >
 Cph::TEstimationArray< EstimationType >
 Cph::TestPoint
 Cph::TextFileLoader
 Cph::TextureLoader
 Cph::TFixedMapBase< Entries >
 Cph::TFixedMapEntry< KeyType, KEY_VAL, ValueType >
 Cph::math::detail::bvh::TFloatN< N >
 Cph::math::TFraction< T >
 Cph::TFrame< T, N >
 Cph::TFrame< float32, 3 >
 Cph::TFrame< HdrComponent, 3 >
 Cph::TFrame< uint64, 1 >
 Cph::function_detail::TFunction< T, MIN_SIZE_HINT >
 Cph::function_detail::TFunction< bool(std::size_t elementIdx, SdlSetterVariant input)>
 Cph::function_detail::TFunction< R(Args...), MIN_SIZE_HINT >Lightweight callable target wrapper
 Cph::function_detail::TFunction< SdlGetterVariant(std::size_t elementIdx)>
 Cph::function_detail::TFunction< void(void), 0 >
 Cph::math::THemisphere< T >A hemisphere in 3-D space
 Cph::Time
 Cph::TimerA timer. Measures relative time (not wall clock)
 Cph::math::TIndexedItemEndpoint< Index >
 Cph::math::TIndexedKdtree< IndexToItem, ItemToAABB, Index >
 Cph::math::TIndexedKdtree< IndexedIntersectables, IntersectableAABBCalculator, uint32 >
 Cph::math::TIndexedKdtree< IndexToTriangle, TriangleToAABB, Index >
 Cph::math::TIndexedKdtreeNode< Index, USE_SINGLE_ITEM_OPT >An indexed kD-tree node with compacted memory layout
 Cph::math::TIndexedPointKdtree< Item, Index, PointCalculator, ItemStorage >
 Cph::math::TIndexedPointKdtree< Photon, uint32, PhotonCenterCalculator, std::vector< Photon > >
 Cph::TIndexedPolygonBuffer< N >
 Cph::math::TIndexedVector3< T >
 Cph::lta::TIndirectLightEstimator< POLICY >Estimate indirect lighting for a surface point
 Cph::TIRayEstimator< EstimationType >
 Cph::TIRayEstimator< math::Spectrum >
 Cph::TIRayEstimator< math::Vector3R >
 Cph::TIteratorProxy< ContainerType >
 Cph::math::TLinearDepthFirstBinaryBvh< Item, Index >
 Cph::math::TLinearDepthFirstBinaryBvh< const ph::Intersectable *, Index >
 Cph::math::TLinearDepthFirstWideBvh< N, Item, Index >
 Cph::math::TLinearDepthFirstWideBvh< N, const ph::Intersectable *, Index >
 Cph::math::TLineSegment< T >Represents a line segment in space
 Cph::math::TLineSegment< real >
 Cph::math::TMathFunction2D< Value >
 Cph::math::TMatrix2< T >Represents a 2x2 matrix
 Cph::math::TMatrix4< T >Represents a 4x4 matrix
 Cph::math::TMatrix4< real >
 Cph::math::TMatrixMxNBase< Derived, T, M, N >A base for general M by N row-major matrices
 Cph::math::TMatrixMxNBase< Derived, T, N, N >
 Cph::math::TMatrixMxNBase< TMatrix3< T >, T, N, N >
 Cph::TMergeableFilmProxy< Sample >
 Cph::lta::TMIS< STYLE >Static helper for Multiple Importance Sampling (MIS). See the paper by Veach et al. [17] for more theoretical background
 Cph::texfunc::TMultiply< InputTypeA, InputTypeB, OutputType >
 Cph::TNonTypeTemplateArgDummy< T, VALUE >
 Cph::Tokenizer
 Cph::ToneMapper
 Cph::math::TOrthonormalBasis3< T >Represents a set of orthonormal basis vectors in 3-D space
 Cph::math::TOrthonormalBasis3< real >
 Cph::TPhoton< Derived >
 Cph::TPhoton< FullPhoton >
 Cph::TPhotonMap< Photon, PhotonStorage >Default photon map type. Should be adequate for most cases
 Cph::TPhotonMapInfo< Photon >Carries common informatiom for a photon map
 Cph::math::TPiecewiseLinear1D< T >
 Cph::pixel_buffer::TPixel< T >Represent a pixel from pixel buffer
 Cph::texfunc::TPower< InputTypeA, InputTypeB, OutputType >
 Cph::math::TPwcDistribution1D< T >A 1-D piecewise constant distribution of floating-point type T. The sample weights can be seen as a histogram, and samples are drawn according to each column's relative heights. Each generated sample is guaranteed to have a non-zero PDF
 Cph::math::TPwcDistribution1D< real >
 Cph::math::TPwcDistribution2D< T >
 Cph::math::TPwcDistribution2D< real >
 Cph::math::Transform
 Cph::TransformInfo
 Cph::TransientVisualElementA group of cooked data that represent the visible part of the scene at a specific time. This data block do not persist throughout the rendering process. After cooking is done, all cooked data should be properly interlinked and TransientVisualElement will be cleaned up
 Cph::TReferencedPrimitiveGetter< PrimitiveType >
 Cph::TRelaxedAtomic< T >Wrapper for relaxed atomic read and write. May resort to lock based read/write if atomic read/write for type T is not supported
 Cph::TriFace
 Cstd::true_type
 Cph::TSampler< OutputType >Common settings and operations for sampling a texture
 Cph::TSampler< ph::math::TTristimulusSpectrum >
 Cph::texfunc::TScalarToSpectrum< T >Converts a scalar value to spectrum
 Cph::TSdl< StaticT >
 Cph::TSdl< T >TSdl specialization that accepts static type (T)
 Cph::TSdl< void >TSdl specialization that accepts dynamic type (SdlClass)
 Cph::TSdlAccessorVariant< Variant >
 Cph::TSdlAnyInstance< IS_CONST >References a SDL object. This is a lightweight utility for referencing SDL objects. Following objects are valid targets to be referenced by this type:
 Cph::TSdlEnum< EnumType >A helper for accessing SDL enum properties
 CTSdlValue< std::vector< math::TVector3< real > >, Owner >
 Cph::math::detail::TSmitsSPDBasis< T, SampleProps >
 Cph::TSortedMap< KeyType, ValueType, IsLess >A sorted container that offers fast value lookup & iteration, while modifications are slow. The container has continuous memory allocation. The values are stored in ascending order according to their keys
 Cph::TSortedVector< ValueType, IsLess >A sorted container that offers fast value lookup & iteration, while modifications are slow. The container has continuous memory allocation. The values are stored in ascending order
 Cph::TSortedVector< KeyType >
 Cph::math::TSphere< T >A sphere in 3-D space
 Cph::TSPSCExecutor< Work >A single-producer, single-consumer worker thread. Ctor and dtor are not thread safe. Most of the methods are either producer thread only, or thread-safe. start() must be called before adding work since it also serves as a mean to determine the producer thread. Setters for function callbacks can only be called before start(). Note that if work processor is not set from ctor, setWorkProcessor() must be called with a valid processor function
 Cph::TSPSCRingBuffer< T, N >
 Cph::TStableIndexDenseVector< T, SIndex >A container offering stable index and efficient iteration
 Cph::TStackSentinel< BUFFER_BYTES >
 Cph::texfunc::TSubtract< InputTypeA, InputTypeB, OutputType >
 Cph::TTexture< OutputType >
 Cph::TTexture< math::Spectrum >
 Cph::TTexture< math::TArithmeticArray< T, N > >
 Cph::TTexture< OutputT >
 Cph::TTexture< TTexPixel< T, N > >
 Cph::texfunc::TUnaryFromBinary< InputType, ConstantType, OutputType, BinaryOperatorType >Uses binary operator as a unary one by treating the second input as constant
 Cph::texfunc::TUnaryFromTernary< InputType, ConstantTypeA, ConstantTypeB, OutputType, TernaryOperatorType >Uses ternary operator as a unary one by treating the second and third inputs as constants
 Cph::math::TUniformRandomBitGenerator< Derived, Bits >
 Cph::math::TUniformRandomBitGenerator< Pcg32, uint32 >
 Cph::math::TUniformRandomBitGenerator< Pcg64DXSM, uint64 >
 Cph::math::TUniformRandomBitGenerator< TMt19937< Bits >, Bits >
 Cph::math::TUniformRandomBitGenerator< TUrbg32x2< URBG1, URBG1 >, uint64 >
 Cph::TViewPathHandler< Derived >Process and control a view path tracing process. Derived classes need to implement all methods with "impl_" prefixed names and with the exact signature
 Cph::TViewPathHandler< TPPMViewpointCollector< Viewpoint, Photon > >
 Cph::TViewPathHandler< TSPPMRadianceEvaluator< Viewpoint, Photon > >
 Cph::TViewPathHandler< TVPMRadianceEvaluator< Photon, TPhotonMap< Photon > > >
 Cph::TViewpoint< Derived >
 Cph::TViewpoint< FullViewpoint >
 Cph::math::TWideBvhNode< N, Index >
 Cph::UvwMapper
 Cph::ViewPathTracingPolicySpecifying and querying policies for tracing view path
 Cph::Viewport
 Cph::VolumeBehavior
 Cph::VolumeDistanceSample
 Cph::VolumeOptics
 Cph::Workflow::WorkHandleLightweight handle for an added work
 Cph::WorkUnitRepresents some amount of work
 CItemStorage