|
class | AAreaLight |
|
class | AbradedOpaque |
|
class | AbradedSurface |
|
class | AbradedTranslucent |
|
class | Actor |
|
class | ActorCookException |
| General exception thrown on cook error for actors. More...
|
|
class | AdaptiveSamplingRenderer |
|
class | ADome |
| An actor that models the sky of the scene. Model the sky in latitude-longitude format. Effectively a large energy emitting source encompassing the whole scene. More...
|
|
class | AGeometricLight |
|
class | AIesAttenuatedLight |
|
class | AImageDome |
| Model the sky of the scene with an image. Using a background image to represent the energy emitted from far away. More...
|
|
class | ALight |
|
class | AMaskedModel |
|
class | AModel |
|
class | AModelLight |
|
class | AnisoTrowbridgeReitz |
|
class | APhantomModel |
|
class | ApiDatabase |
|
class | ApiHelper |
|
class | APointLight |
|
class | APreethamDome |
| Model the sky of the scene with an image. More...
|
|
class | ARectangleLight |
|
class | ASphereLight |
|
class | ATransformedInstance |
|
class | AttributeRenderer |
|
class | AttributeTags |
|
class | BfConstant |
|
class | BinaryFileInputStream |
|
class | BinaryFileOutputStream |
|
class | BinaryFileReader |
|
class | BinaryMixedImage |
|
class | BinaryMixedSurfaceMaterial |
|
class | BlackBodyRadiationImage |
|
class | BlockFunction |
|
class | BNEEPTEstimator |
|
class | BruteForceIntersector |
|
class | BsdfEvalInput |
| Input for BsdfEvalQuery . More...
|
|
class | BsdfEvalOutput |
| Output for BsdfEvalQuery . More...
|
|
class | BsdfEvalQuery |
| Information for obtaining a sample value from BSDF. More...
|
|
class | BsdfHelper |
|
class | BsdfPdfInput |
| Input for BsdfPdfQuery . More...
|
|
class | BsdfPdfOutput |
| Output for BsdfPdfQuery . More...
|
|
class | BsdfPdfQuery |
| Information for the probability of generating a specific BSDF sample. More...
|
|
class | BsdfQueryContext |
| The environment a BSDF query is performed under. More...
|
|
class | BsdfSampleInput |
| Input for BsdfSampleQuery . More...
|
|
class | BsdfSampleOutput |
| Output for BsdfSampleQuery . More...
|
|
class | BsdfSampleQuery |
| Information for generating a BSDF sample. More...
|
|
class | BVPTDLEstimator |
| A direct lighting only estimator using path tracing. More...
|
|
class | BVPTEstimator |
| A GI estimator using pure path tracing. More...
|
|
class | ByteBuffer |
| An auto-resizable byte storage. More...
|
|
class | ByteBufferInputStream |
| An in-memory byte stream designed for I/O performance. More...
|
|
class | CheckerboardImage |
|
class | ConductiveInterfaceInfo |
| Data describing the effects when light hits an conductive interface. More...
|
|
class | ConductorFresnel |
| Conductor-dielectric interface Fresnel effect. More...
|
|
class | ConstantImage |
|
class | ConstantVelocityMotion |
|
class | CookedDataStorage |
|
class | CookedGeometry |
|
class | CookedMotion |
|
class | CookedNamedResource |
|
class | CookedResourceCollection |
| Provides thread-safe cooked data creation and storage. All methods are thread-safe to call, however manipulating the created data is not thread-safe unless stated explicitly. More...
|
|
class | CookedResourceCollectionBase |
| Provides thread-safe cooked data creation and storage. All methods are thread-safe to call, however manipulating the created data is not thread-safe unless stated explicitly. More...
|
|
class | CookException |
| General exception thrown on cook error. More...
|
|
class | CookingConfig |
|
class | CookingContext |
| Information about the world being cooked. More...
|
|
class | CookOrder |
| Controls the order actors are cooked. More...
|
|
class | CoreCookedUnit |
|
class | CoreCookingContext |
|
class | CoreResource |
|
class | CoreSdlResource |
| Core SDL resource abstraction. This class does not provide static/dynamic category information. The work is left for derived classes. See SdlResourceBase for more implementation requirements. More...
|
|
class | CsvFile |
|
class | CsvFileRow |
|
class | DammertzDispatcher |
|
class | DielectricFresnel |
| Dielectric-dielectric interface Fresnel effect. More...
|
|
class | DielectricInterfaceInfo |
| Data describing the effects when light hits an dielectric interface. More...
|
|
class | DiffuseSurfaceEmitter |
| Diffusive surface emitter. More...
|
|
class | DiffuseSurfaceEmitterBase |
| Base for diffusive surface emitters. More...
|
|
class | DirectEnergyPdfInput |
| Input for DirectEnergyPdfQuery . More...
|
|
class | DirectEnergyPdfOutput |
| Output for DirectEnergyPdfQuery . More...
|
|
class | DirectEnergyPdfQuery |
| Information for the probability of generating a specific sample for direct energy estimation. More...
|
|
class | DirectEnergySampleInput |
| Input for DirectEnergySampleQuery . More...
|
|
class | DirectEnergySampleOutput |
| Output for DirectEnergySampleQuery . More...
|
|
class | DirectEnergySampleQuery |
| Information for generating a sample for direct energy estimation. More...
|
|
struct | DomeRadianceFunctionInfo |
|
struct | EmbeddedPrimitiveMetaGetter |
|
class | EmitFunction |
|
class | Emitter |
| An electromagnetic energy emitting source. The emitted energy can be captured by a Receiver . More...
|
|
class | EmitterSampler |
|
class | EnergyEmissionSampleInput |
| Input for EnergyEmissionSampleQuery . More...
|
|
class | EnergyEmissionSampleOutput |
| Output for EnergyEmissionSampleQuery . More...
|
|
class | EnergyEmissionSampleQuery |
| Information for generating a sample for energy emission. More...
|
|
class | Engine |
| The render engine. More...
|
|
class | EngineInitSettings |
| Options 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. More...
|
|
class | EqualSamplingRenderer |
|
class | ESPowerFavoring |
|
class | ESUniformRandom |
|
class | ExactConductorFresnel |
| Conductor-dielectric interface Fresnel effect. More...
|
|
class | ExactDielectricFresnel |
| Dielectric-dielectric interface Fresnel effect. More...
|
|
class | ExrFileReader |
|
class | ExrFileWriter |
|
class | Filesystem |
| Filesystem operations for the native operating system. More...
|
|
class | Film |
| A camera film that receives any quantity. More...
|
|
class | FilteredInputStream |
|
class | FixedSizeThreadPool |
| A 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. More...
|
|
class | FormattedTextInputStream |
| Read text with basic auto formatting applied. More...
|
|
class | FormattedTextOutputStream |
| Write text with basic auto formatting applied. More...
|
|
class | FrameOperator |
|
class | FrameProcessingPipeline |
| Process frames with a series of operations. More...
|
|
class | FrameProcessor |
| Manages and executes frame processing pipelines. More...
|
|
class | FrameVisualizer |
|
class | FresnelEffect |
| Modeling Fresnel effects that occur on interfaces. More...
|
|
class | FullMaterial |
|
class | FullPhoton |
| This photon type stores all possible photon data without any loss of information. It is unrecommended to use this kind of photon if low memory usage is desired. More...
|
|
class | FullRay |
|
class | FullRayEnergyEstimator |
|
class | FullViewpoint |
| This viewpoint type stores all possible viewpoint data without any loss of information. It is unrecommended to use this kind of viewpoint if low memory usage is desired. More...
|
|
class | GammaCorrection |
|
class | GCuboid |
|
class | GEmpty |
|
class | Geometry |
|
class | GeometrySoup |
|
class | GIndexedTriangleMesh |
|
class | GMengerSponge |
|
class | GPlyPolygonMesh |
| Mesh stored as a .ply file. More...
|
|
class | GradientImage |
|
class | GRectangle |
|
class | GridScheduler |
|
class | GroupedDiffuseSurfaceEmitter |
| Diffusive surface emitter comprised of multiple surface fragments. All surface fragments use the same energy texture. More...
|
|
class | GSphere |
|
class | GTriangle |
|
class | GTriangleMesh |
| Basic triangle mesh. More...
|
|
class | GWave |
|
class | HaltonSampleSource |
|
class | HdrOperator |
|
class | HdrRgbFilm |
| A film that records RGB values internally. Although film samples are added as spectral values, they are automatically converted to linear sRGB values for storage. More...
|
|
class | HdrRgbTexture2D |
|
class | HenyeyGreenstein |
|
class | HitDetail |
| Detailed information regarding a ray-primitive intersection. More...
|
|
class | HitInfo |
| General information for a ray-primitive intersection. More...
|
|
class | HitProbe |
| Lightweight ray intersection testing and reporting object. If an intersection is found, a detailed report can be obtained from the stored information. More...
|
|
class | IDataStream |
|
class | IdealAbsorber |
|
class | IdealDielectric |
|
class | IdealDielectricTransmitter |
|
class | IdealReflector |
|
class | IdealSubstance |
|
class | IesData |
|
class | IesFile |
|
class | IInputStream |
|
class | Image |
|
class | IMoveOnly |
| Marks the derived class as move only. More...
|
|
class | IndexedTriangle |
|
class | IndexedTriMesh |
|
class | IndexedUIntBuffer |
| A general unsigned integer buffer for integers with any number of bits. More...
|
|
class | IndexedVertexBuffer |
| A general vertex buffer for storing various indexed attributes. More...
|
|
class | InitiallyPausedThread |
|
class | INoCopyAndMove |
| Marks the derived class as non-copyable and non-movable. More...
|
|
class | Integrand |
|
class | InterfaceStatistics |
|
class | Intersectable |
| An object in the scene that a ray can intersect with. More...
|
|
class | Intersector |
|
class | IntersectorCommonParams |
| Common parameters of intersector. More...
|
|
class | IOutputStream |
|
class | IRayEnergyEstimator |
|
class | IReceivedRayProcessor |
|
class | IResourceIdentifierResolver |
|
struct | IsBuildable |
| Check if object conversion can be made. More...
|
|
struct | IsBuildable< Built, From, std::enable_if_t< std::is_convertible_v< From, Built >||std::is_constructible_v< Built, From > > > |
| Return type if the result is true. More...
|
|
class | ISdlDataPacketGroup |
| View for a group of named data packets. More...
|
|
class | ISdlInstantiable |
|
class | ISdlReferenceGroup |
| View for a group of SDL references. More...
|
|
class | ISdlResource |
| Interface for all SDL resource. More...
|
|
class | IsoBeckmann |
| Isotropic Beckmann distribution. See the paper "Microfacet Models for Refraction through Rough Surfaces" by Walter et al. [18]. More...
|
|
class | IsoTrowbridgeReitz |
| Isotropic Trowbridge-Reitz distribution (GGX). More...
|
|
class | IsoTrowbridgeReitzConstant |
|
class | IsoTrowbridgeReitzTextured |
|
class | IUninstantiable |
| Marks the derived class as uninstantiable. More...
|
|
class | IWorkDispatcher |
| A manager that distributes work. More...
|
|
class | JRToneMapping |
| Maps HDR values to LDR. More...
|
|
class | KdtreeAABB |
|
class | KdtreeIntersector |
|
class | KdtreeNode |
|
class | LambertianReflector |
| Lambertian diffuse model for an opaque surface. This model is double-sided. More...
|
|
class | LatLongEnvEmitter |
| Models energy coming from background. More...
|
|
class | LayeredSurface |
|
class | LbLayer |
|
class | LbLayeredSurface |
| Laurent Belcour's layered BSDF model. This is the symmetric model as described in Section 6.2 of the paper [1]. Laurent Belcour's project page: https://belcour.github.io/blog/research/2018/05/05/brdf-realtime-layered.html. More...
|
|
class | LdrRgbTexture2D |
|
class | LerpedSurfaceOptics |
| Linearly interpolate between two surface optics. More...
|
|
class | MaskedIntersectable |
| Carve out some part of an intersectable. This is a masking approach based on intersection routine. Another common approach to shape masking is BSDF-based, where the mask determines whether the incoming light simply passes through (a no-op, perfectly transmitting BSDF). There is a trade-off between these approaches: masking in intersection routine samples the mask texture (usually a slower operation) in the tight loop of acceleration structure traversal, while masking in BSDF will need to re-enter the acceleration structure multiple times (such as when rendering a forest) which can also be slow. More...
|
|
class | Material |
|
class | MathImage |
|
class | MatteOpaque |
|
class | MemoryArena |
| A general purpose bump allocator. More...
|
|
class | MetaRecordingProcessor |
|
class | Microfacet |
|
class | MicrosurfaceInfo |
|
class | mipmapgen |
|
class | ModelParser |
|
class | MotionCookConfig |
|
class | MotionSource |
|
class | NaiveReinhardToneMapping |
|
class | Object |
|
class | Observer |
|
class | OmniModulatedEmitter |
|
class | OpaqueMicrofacet |
| Microfacet based opaque surface model. Microfacet optical behavior modeled using Cook-Torrance BRDF [4]. This model is double-sided. More...
|
|
class | Option |
|
class | OrenNayar |
|
class | OrientedRasterObserver |
|
class | PartialRayEnergyEstimator |
|
class | Path |
| General path representation. Does not check whether the target actually exists (e.g., on a filesystem). To check target existence, use Filesystem . More...
|
|
class | PathTracingVisualizer |
|
class | PBasicSphere |
|
class | PEmpty |
|
class | PeriodicSingleThreadExecutor |
| A 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. More...
|
|
class | PfmFile |
| Writer for Portable FloatMap image format. More...
|
|
class | PhotonMappingVisualizer |
|
class | PhysicalActor |
|
class | PictureData |
|
class | PictureMeta |
|
class | PinholeCamera |
|
class | PixelBuffer2D |
|
class | PlateScheduler |
|
class | PLatLong01Sphere |
|
class | PLatLongEnvSphere |
| A sphere specifically built for environment lighting. This primitive is for environment map with latitude-longitude format. Unlike regular primitives, transformations are done locally rather than wrapping the primitive by another to allow a wider set of custom operations. Note that the UV for the environment sphere is based on the direction of incident ray. More...
|
|
struct | PlyElement |
| PLY element storage. More...
|
|
class | PlyFile |
|
struct | PlyIOConfig |
|
struct | PlyProperty |
| PLY property storage. More...
|
|
class | PlyPropertyListValues |
| A convenient PLY list property accessor. More...
|
|
class | PlyPropertyValues |
| A convenient PLY property accessor. More...
|
|
class | PMAtomicStatistics |
| Thread safe statictics tracking utilities. More...
|
|
class | PMCommonParams |
| Common parameters of photon mapping. More...
|
|
class | PMRendererBase |
|
class | PreCookReport |
|
class | PreCookResourceCollectionProxy |
|
class | PreethamTexture |
|
class | Primitive |
| A physical shape in the scene. More...
|
|
class | PrimitiveBuildingMaterial |
|
class | PrimitiveChannel |
|
class | PrimitiveMetadata |
| Collection of attached components to a primitive. This type effectively "glues" various components that helps to describe additional properties related to a primitive. More...
|
|
class | PrimitivePosPdfInput |
| Input for PrimitivePosPdfOutput . More...
|
|
class | PrimitivePosPdfOutput |
| Output for PrimitivePosPdfOutput . More...
|
|
class | PrimitivePosPdfQuery |
| Information for the probability of generating a specific sample point on a primitive. More...
|
|
class | PrimitivePosSampleInput |
| Input for PrimitivePosSampleQuery . More...
|
|
class | PrimitivePosSampleOutput |
| Output for PrimitivePosSampleQuery . More...
|
|
class | PrimitivePosSampleQuery |
| Information for generating a sample point on a primitive. More...
|
|
class | ProbabilisticProgressivePMRenderer |
|
class | ProgressivePMRenderer |
|
class | PTriangle |
| A single triangle. This triangle type is for constructing simple shapes such as a quad or box. For more complex shapes, it is better to use a more space efficient primitive type for them. More...
|
|
class | RadianceSensor |
|
class | RasterFileImage |
|
class | RasterImageBase |
|
class | RawResourceCollection |
|
class | Ray |
| Represents a ray in space. More...
|
|
class | RayDifferential |
|
class | Receiver |
| A target that can receive any physical quantity, typically electromagnetic energy. The received energy is originated from some Emitter s. More...
|
|
class | ReceiverSamplingWork |
|
class | RectangularSensorReceiver |
| A receiver with a rectangular sensor installed. More...
|
|
struct | ReferencedPrimitiveMetaGetter |
|
class | RegularPicture |
| Raw representation of common picture types. More...
|
|
class | RegularPictureFormat |
| Format of common pictures. Typically closely related to how the picture is stored natively (e.g., on disk). More...
|
|
class | Renderer |
|
class | RendererProxy |
|
class | RenderObservationInfo |
| Meta information for data related to ongoing render operation. More...
|
|
class | RenderProgress |
|
class | RenderRegionStatus |
|
class | RenderSession |
|
class | RenderStats |
|
class | RenderWork |
|
class | RenderWorker |
|
class | ResourceIdentifier |
| An 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. More...
|
|
class | RoughnessToAlphaMapping |
| Maps roughness value in [0, 1] to the alpha parameter in NDF. More...
|
|
class | RuntimeSampleSource |
|
class | Sample |
|
class | SampleContext |
|
class | SampleFilter |
| An image reconstruction kernel. More...
|
|
class | SampleFlow |
| A sample with arbitrary dimensions with fine-grained sampling control. More...
|
|
class | SampleGenerator |
| Generates 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. More...
|
|
class | SampleLocation |
|
class | SamplesND |
|
class | SamplesNDHandle |
|
class | SamplesNDStream |
|
class | SampleSource |
|
class | SampleStage |
|
class | SampleStageReviser |
|
struct | SamplingFilmDimensions |
|
class | SamplingRenderer |
|
struct | SamplingStatistics |
|
class | ScatterFunction |
|
class | Scene |
| A unified interface for accessing cooked content in a visual world. More...
|
|
class | SceneDescription |
| Data that describe a scene. Represents the result of running SDL commands. More...
|
|
class | SchlickApproxConductorFresnel |
| Conductor-dielectric interface Fresnel effect. More...
|
|
class | SchlickApproxDielectricFresnel |
| Dielectric-dielectric interface Fresnel effect. More...
|
|
class | SdlClass |
|
class | SdlCommandGenerator |
|
class | SdlCommandParser |
|
class | SdlDataPacketCollection |
|
class | SdlDataPacketInterface |
| Parsing & generating a group of SDL clauses. More...
|
|
class | SdlDependencyResolver |
| Resolves dependency between SDL resources and provides a valid initialization order. Optionally provide resource name lookup (if user provides resource name during analyzation). More...
|
|
class | SdlEnum |
| Describes enum in SDL. More...
|
|
class | SdlException |
| General exception thrown on error related to SDL. More...
|
|
class | SdlField |
|
class | SdlFunction |
|
class | SdlInlinePacketInterface |
| Supports the case where the packet command stores SDL clauses directly. More...
|
|
class | SdlInputClause |
| Carries SDL representation of various data during the input process. Helps to read input data such as command clauses or data packets. More...
|
|
class | SdlInputClauses |
| Container for input clauses. More...
|
|
class | SdlInputContext |
| Data that SDL input process can rely on. More...
|
|
class | SdlIOContext |
| Data that SDL input/output process can rely on. More...
|
|
class | SdlLoadError |
| Error on the SDL input process. More...
|
|
class | SdlNamedOutputClauses |
|
class | SdlNativeData |
|
class | SdlOutputClause |
| Carries SDL representation of various data during the output process. Helps to write output data such as command clauses or data packets. More...
|
|
class | SdlOutputClauses |
|
class | SdlOutputContext |
| Data that SDL output process can rely on. More...
|
|
class | SdlResourceBase |
| A convenient ISdlResource with some core requirements implemented. This class does not provide static/dynamic category information. The work is left for derived classes. See ISdlResource for more implementation requirements. More...
|
|
class | SdlResourceLocator |
|
class | SdlSaveError |
| Error on the SDL output process. More...
|
|
class | SdlSceneFileReader |
| Loading utility for renderer scene. Loads .p2 (Photon-v2) file. More...
|
|
class | SdlSceneFileWriter |
| Saving utility for renderer scene. Writes .p2 (Photon-v2) file. More...
|
|
class | SdlStruct |
|
class | SdlStructFieldStump |
|
class | SemanticVersion |
| Convenient software version handling routines. See https://semver.org/ for a detailed explaination of the concept. More...
|
|
class | SGHalton |
|
class | SGStratified |
|
class | SGUniformRandom |
|
class | SGUtil |
|
class | ShapeInvariantMicrofacet |
|
class | SingleFrameRenderSession |
|
class | SingleLensObserver |
|
class | SphericalMapper |
|
class | SpiralGridScheduler |
|
class | SpiralScheduler |
|
class | Statistics |
|
class | StdInputStream |
|
class | StdOutputStream |
|
class | StochasticProgressivePMRenderer |
|
class | StratifiedSampleSource |
|
class | StripeScheduler |
|
class | SurfaceAttributeEstimator |
|
class | SurfaceBehavior |
|
class | SurfaceEmitter |
|
class | SurfaceHit |
| General information about a ray-surface intersection event. More...
|
|
class | SurfaceLayerInfo |
|
class | SurfaceMaterial |
|
class | SurfaceOptics |
| Describes how light interacts with a surface. More...
|
|
class | SwizzledImage |
| An image whose primary purpose is to swizzle the output of a source image. More...
|
|
class | TableFGD |
|
class | TableTIR |
|
class | TAbstractPixelTex2D |
|
class | TAnyPtr |
| 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. More...
|
|
class | TAosTriMesh |
|
class | TArrayHeap |
| 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. More...
|
|
class | TArrayStack |
| 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. More...
|
|
class | TArrayVector |
| 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. More...
|
|
class | TAtomicQuasiQueue |
| 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. More...
|
|
class | TBilinearPixelTex2D |
|
class | TBinaryBvhIntersector |
| Classic binary BVH acceleration structure. More...
|
|
class | TBinaryTextureOperator |
|
class | TBitFlags |
| Manipulate a value type where each bit is a binary flag. More...
|
|
class | TBlockableAtomicQuasiQueue |
| 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. More...
|
|
class | TCheckerboardTexture |
| Texture representing checker patterns. More...
|
|
class | TColorPixelTexture2D |
|
class | TConstantSpectralTexture |
| A constant color texture that can adapt spectral values to spectrum. Converts spectral values to spectrum based on parameters obtained during rendering. More...
|
|
class | TConstantTexture |
| Texture storing one single constant of arbitrary type. This texture provides only a constant value. Input color usages are ignored. For color-related constants, consider using TConstantTristimulusTexture or TConstantSpectralTexture ; otherwise, it is recommended to bake color-related side effects (e.g., color usages) into the constant. More...
|
|
class | TConstantTristimulusTexture |
| A constant color texture that can adapt values in tristimulus color space to spectrum. Converts tristimulus values to spectrum based on parameters obtained during rendering. More...
|
|
class | TConstIteratorProxy |
|
struct | TEmbeddedPrimitiveGetter |
|
class | TEstimationArray |
|
class | TestPoint |
|
class | TextFileLoader |
|
class | TextureLoader |
|
class | TFixedMapBase |
|
class | TFixedMapEntry |
|
class | TFrame |
|
class | TFrameBuffer2D |
|
class | ThinDielectricFilm |
|
class | ThinDielectricShell |
|
class | ThinDielectricSurface |
|
class | ThinFilm |
|
class | ThinLensCamera |
|
class | TileScheduler |
|
class | Time |
|
class | Timer |
| A timer. Measures relative time (not wall clock). More...
|
|
class | TIndexedKdtreeIntersector |
|
class | TIndexedPolygonBuffer |
|
class | TIRayEstimator |
|
class | TIteratorProxy |
|
class | TLinearGradientTexture |
|
class | TMergeableFilmProxy |
|
class | TMetaInjectionPrimitive |
|
class | TMipmap |
|
class | TMRSWResource |
| A resource wrapper that facilitates Multiple-Readers Single-Writer (MRSW) usages. More...
|
|
class | TNearestPixelTex2D |
|
struct | TNonTypeTemplateArgDummy |
|
class | TNumericPixelTexture2D |
|
class | Tokenizer |
|
class | ToneMapper |
|
class | TPhoton |
|
class | TPhotonMap |
| Default photon map type. Should be adequate for most cases. More...
|
|
class | TPhotonMapInfo |
| Carries common informatiom for a photon map. More...
|
|
class | TPhotonPathTracingWork |
|
class | TPIndexedKdTreeTriangleMesh |
|
class | TPixelTex2D |
|
class | TPixelTexture2D |
|
class | TPPMRadianceEvaluationWork |
|
class | TPPMViewpointCollector |
|
class | TransformedIntersectable |
| Applies general transformation to an intersectable. More...
|
|
class | TransformedPrimitive |
| Applies rigid transformation to a primitive. A transformed primitive accepts only rigid transformations. This way, properties such as surface area and volume are guaranteed to be the same during transformations. More...
|
|
class | TransformInfo |
|
class | TransientResourceCache |
| Provides thread-safe cooked data creation and storage. Similar to TransientVisualElement , this cache will be cleared before rendering starts. All methods are thread-safe to call, however manipulating the created data is not thread-safe unless stated explicitly. More...
|
|
class | TransientVisualElement |
| A 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. More...
|
|
class | TranslucentMicrofacet |
| Microfacet based translucent surface model. Microfacet optical behavior modeled using the dielectric variant [18] of the Cook-Torrance BRDF [4]. This model is double-sided. More...
|
|
class | TReceiverMeasurementEstimator |
|
struct | TReferencedPrimitiveGetter |
|
class | TRelaxedAtomic |
| Wrapper for relaxed atomic read and write. May resort to lock based read/write if atomic read/write for type T is not supported. More...
|
|
class | TriFace |
|
class | TrowbridgeReitz |
| Trowbridge-Reitz distribution (GGX). See the original paper by Trowbridge et al. [16]. The paper "Microfacet Models for Refraction through Rough Surfaces" by Walter et al. [18] provides a nice explanation, too. More...
|
|
class | TSampler |
| Common settings and operations for sampling a texture. More...
|
|
class | TSamplingFilm |
| A camera film that receives any quantity, for sampling-based rendering techniques. More...
|
|
class | TScalarPixelTexture2D |
|
class | TSdl |
|
class | TSdl< T > |
| TSdl specialization that accepts static type (T ). More...
|
|
class | TSdl< void > |
| TSdl specialization that accepts dynamic type (SdlClass ). More...
|
|
class | TSdlAbstractValue |
| General concept of a SDL value type. More...
|
|
class | TSdlAccessorVariant |
|
class | TSdlAnyInstance |
| References a SDL object. This is a lightweight utility for referencing SDL objects. Following objects are valid targets to be referenced by this type: More...
|
|
class | TSdlBool |
| A field class that binds a bool member variable. More...
|
|
class | TSdlBruteForceFieldSet |
| A set of fields, with basic functionalities. More...
|
|
class | TSdlEnum |
| A helper for accessing SDL enum properties. More...
|
|
class | TSdlEnumField |
|
class | TSdlGeneralEnum |
| SDL enum implementation with common features. Enum value and string mapping are done in a brute-force way. This SDL enum type supports enum entries with identical value or name, which is useful for giving the user more tolerance on specifying inputs (e.g., case inconsistency). See getTypedEntry() for more details. More...
|
|
class | TSdlInteger |
| A field class that binds a integral member variable. More...
|
|
class | TSdlMethod |
| SDL binding type for a canonical SDL method. More...
|
|
class | TSdlNestedField |
| A field that lives within an inner object. More...
|
|
class | TSdlOptionalValue |
| Abstractions for a SDL value type that can be empty. More...
|
|
class | TSdlOwnedField |
| Abstraction for a value that is owned by some owner type. Governs how a field should be initialized on the policy level. More...
|
|
class | TSdlOwnerClass |
| SDL binding type for a canonical SDL resource class. More...
|
|
class | TSdlOwnerStruct |
| SDL binding type for a typical C++ struct. More...
|
|
class | TSdlPath |
| A field class that binds a Path member variable. More...
|
|
class | TSdlQuaternion |
|
class | TSdlReal |
| A field class that binds a floating point member variable. More...
|
|
class | TSdlRealArray |
|
class | TSdlReference |
| A value that points to a SDL resource. More...
|
|
class | TSdlReferenceArray |
| A value that points to an array of SDL resources. More...
|
|
class | TSdlResourceBase |
| A convenient ISdlResource with core requirements implemented. This class is similar to SdlResourceBase, except that it provides a way for derived classes to supply static category information. Dynamic category is directly obtained from it. More...
|
|
class | TSdlResourceIdentifier |
| A field class that binds a resource identifier member. Though the member type that is binded by default can handle any types of identifier (the ResourceIdentifier class, which represents a PRI), this class treat it as a SDL Resource Identifier (SRI) which has a more specific form. On some circumstances it may be desirable to accept any identifier, and this can be achieved by specifying IS_SRI=false . More...
|
|
class | TSdlSpectrum |
|
class | TSdlString |
|
class | TSdlStructArray |
|
class | TSdlValue |
| Abstractions for a SDL value type. More...
|
|
class | TSdlVector2 |
|
class | TSdlVector3 |
|
class | TSdlVector3Array |
|
class | TSdlVector4 |
|
class | TSortedMap |
| 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. More...
|
|
class | TSortedVector |
| 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. More...
|
|
class | TSPPMRadianceEvaluator |
|
class | TSPSCExecutor |
| 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. More...
|
|
class | TSPSCRingBuffer |
|
class | TStableIndexDenseVector |
| A container offering stable index and efficient iteration. More...
|
|
class | TStackSentinel |
|
class | TStepperReceiverMeasurementEstimator |
|
class | TSwizzledTexture |
| Swizzle an array-like input type to the other array-like output type. Output type OutputT can have any number of elements (no need to be the same as input type InputT ). For any elements in OutputT that is not part of the swizzle, the value will be as if the element is zero-initialized (or default-initialized depending on the actual type). More...
|
|
class | TTernaryTextureOperator |
|
class | TTexture |
|
class | TTrilinearPixelTex2D |
|
class | TUnaryTextureOperator |
|
class | TUniquePtrVector |
|
class | TViewPathHandler |
| Process and control a view path tracing process. Derived classes need to implement all methods with "impl_" prefixed names and with the exact signature. More...
|
|
class | TViewPathTracingWork |
|
class | TViewpoint |
|
class | TVPMRadianceEvaluator |
|
class | TWideBvhIntersector |
| Wide BVH acceleration structure supporting arbitrary branch factor. More...
|
|
class | UniformRandomSampleSource |
|
class | UvwMapper |
|
class | VAbsorptionOnly |
|
class | VanillaPMRenderer |
|
class | Vector3Film |
| A film that records 3-D vectors. More...
|
|
class | ViewPathTracingPolicy |
| Specifying and querying policies for tracing view path. More...
|
|
class | Viewport |
|
class | Visualizer |
|
class | VisualWorld |
| A virtual world for image synthesis. More...
|
|
class | VoHomoAbsorption |
|
class | VolumeBehavior |
|
class | VolumeDistanceSample |
|
class | VolumeMaterial |
|
class | VolumeOptics |
|
class | Workflow |
|
class | WorkScheduler |
| A manager that distributes a fixed amount of work to workers. More...
|
|
class | WorkUnit |
| Represents some amount of work. More...
|
|
|
template<typename Owner > |
using | TSdlOptionalSpectrum = TSdlSpectrum<Owner, TSdlOptionalValue<math::Spectrum, Owner>> |
|
using | EmitterFeatureSet = TEnumFlags<EEmitterFeatureSet> |
|
using | FaceTopology = TEnumFlags<EFaceTopology> |
|
using | IndexedTriangleBuffer = TIndexedPolygonBuffer<3> |
|
using | IndexedQuadBuffer = TIndexedPolygonBuffer<4> |
|
using | Region = math::TAABB2D<int64> |
|
using | SurfacePhenomena = TEnumFlags<ESurfacePhenomenon> |
|
using | SurfaceElemental = int |
|
using | SurfaceHitReason = TEnumFlags<ESurfaceHitReason> |
|
template<typename InputType , typename OutputType > |
using | TConversionTexture = TUnaryTextureOperator<InputType, OutputType, texfunc::TDefaultConversion<InputType, OutputType>> |
|
template<typename T , std::size_t N> |
using | TTexPixel = math::TArithmeticArray<T, N> |
|
using | LdrComponent = uint8 |
|
using | HdrComponent = float32 |
|
using | LdrRgbFrame = TFrame<LdrComponent, 3> |
|
using | HdrRgbFrame = TFrame<HdrComponent, 3> |
|
using | SdlGetterVariant |
|
using | SdlSetterVariant |
|
template<typename Owner , typename EnumType > |
using | TSdlOptionalEnumField = TSdlEnumField<Owner, EnumType, TSdlOptionalValue<EnumType, Owner>> |
|
template<typename Owner , typename IntType = integer> |
using | TSdlOptionalInteger = TSdlInteger<Owner, IntType, TSdlOptionalValue<IntType, Owner>> |
| A field class that binds an optional integral member variable.
|
|
template<typename Owner > |
using | TSdlInt8 = TSdlInteger<Owner, int8> |
|
template<typename Owner > |
using | TSdlUint8 = TSdlInteger<Owner, uint8> |
|
template<typename Owner > |
using | TSdlInt16 = TSdlInteger<Owner, int16> |
|
template<typename Owner > |
using | TSdlUint16 = TSdlInteger<Owner, uint16> |
|
template<typename Owner > |
using | TSdlInt32 = TSdlInteger<Owner, int32> |
|
template<typename Owner > |
using | TSdlUInt32 = TSdlInteger<Owner, uint32> |
|
template<typename Owner > |
using | TSdlInt64 = TSdlInteger<Owner, int64> |
|
template<typename Owner > |
using | TSdlUInt64 = TSdlInteger<Owner, uint64> |
|
template<typename Owner > |
using | TSdlSize = TSdlInteger<Owner, std::size_t> |
|
template<typename Owner > |
using | TSdlOptionalInt8 = TSdlOptionalInteger<Owner, int8> |
|
template<typename Owner > |
using | TSdlOptionalUint8 = TSdlOptionalInteger<Owner, uint8> |
|
template<typename Owner > |
using | TSdlOptionalInt16 = TSdlOptionalInteger<Owner, int16> |
|
template<typename Owner > |
using | TSdlOptionalUint16 = TSdlOptionalInteger<Owner, uint16> |
|
template<typename Owner > |
using | TSdlOptionalInt32 = TSdlOptionalInteger<Owner, int32> |
|
template<typename Owner > |
using | TSdlOptionalUint32 = TSdlOptionalInteger<Owner, uint32> |
|
template<typename Owner > |
using | TSdlOptionalInt64 = TSdlOptionalInteger<Owner, int64> |
|
template<typename Owner > |
using | TSdlOptionalUint64 = TSdlOptionalInteger<Owner, uint64> |
|
template<typename Owner > |
using | TSdlOptionalSize = TSdlOptionalInteger<Owner, std::size_t> |
|
template<typename Owner , typename Element = real> |
using | TSdlOptionalQuaternion = TSdlQuaternion<Owner, Element, TSdlOptionalValue<math::TQuaternion<Element>, Owner>> |
|
template<typename Owner , typename FloatType = real> |
using | TSdlOptionalReal = TSdlReal<Owner, FloatType, TSdlOptionalValue<FloatType, Owner>> |
| A field class that binds an optional floating point member variable.
|
|
template<typename Owner > |
using | TSdlFloat = TSdlReal<Owner, float> |
|
template<typename Owner > |
using | TSdlDouble = TSdlReal<Owner, double> |
|
template<typename Owner > |
using | TSdlFloat32 = TSdlReal<Owner, float32> |
|
template<typename Owner > |
using | TSdlFloat64 = TSdlReal<Owner, float64> |
|
template<typename Owner > |
using | TSdlOptionalFloat = TSdlOptionalReal<Owner, float> |
|
template<typename Owner > |
using | TSdlOptionalDouble = TSdlOptionalReal<Owner, double> |
|
template<typename Owner > |
using | TSdlOptionalFloat32 = TSdlOptionalReal<Owner, float32> |
|
template<typename Owner > |
using | TSdlOptionalFloat64 = TSdlOptionalReal<Owner, float64> |
|
template<typename Owner , typename Element > |
using | TSdlOptionalVector2 = TSdlVector2<Owner, Element, TSdlOptionalValue<math::TVector2<Element>, Owner>> |
|
template<typename Owner > |
using | TSdlVector2R = TSdlVector2<Owner, real> |
|
template<typename Owner > |
using | TSdlVector2S = TSdlVector2<Owner, std::size_t> |
|
template<typename Owner > |
using | TSdlOptionalVector2R = TSdlOptionalVector2<Owner, real> |
|
template<typename Owner > |
using | TSdlOptionalVector2S = TSdlOptionalVector2<Owner, std::size_t> |
|
template<typename Owner , typename Element = real> |
using | TSdlOptionalVector3 = TSdlVector3<Owner, Element, TSdlOptionalValue<math::TVector3<Element>, Owner>> |
| SDL binding type of an optional Vector3.
|
|
template<typename Owner , typename Element = real> |
using | TSdlOptionalVector4 = TSdlVector4<Owner, Element, TSdlOptionalValue<math::TVector4<Element>, Owner>> |
| SDL binding type of an optional Vector4.
|
|
using | SdlConstInstance = TSdlAnyInstance<true> |
|
using | SdlNonConstInstance = TSdlAnyInstance<false> |
|
using | SdlResourceId = std::uint64_t |
|
using | AnyConstPtr = TAnyPtr<true> |
| A type-safe, lightweight wrapper for any const raw pointer type.
|
|
using | AnyNonConstPtr = TAnyPtr<false> |
| A type-safe, lightweight wrapper for any non-const raw pointer type.
|
|
template<CEnum EnumType> |
using | TEnumFlags = TBitFlags<std::underlying_type_t<EnumType>, EnumType> |
| Convenient type for using scoped/unscoped enum for bit flags.
|
|
template<auto KEY, typename Value > |
using | TFixedEnumMapEntry = TFixedMapEntry<decltype(KEY), KEY, Value> |
|
template<typename... Entries> |
using | TFixedEnumMap = TFixedMapBase<Entries...> |
|
template<fixed_integer_map_detail::Key KEY, typename Value > |
using | TFixedIntegerMapEntry = TFixedMapEntry<fixed_integer_map_detail::Key, KEY, Value> |
|
template<typename... Entries> |
using | TFixedIntegerMap = TFixedMapBase<Entries...> |
|
template<typename Func , std::size_t MIN_SIZE_HINT = PH_TFUNCTION_DEFAULT_MIN_SIZE_IN_BYTES> |
using | TFunction = function_detail::TFunction<Func, MIN_SIZE_HINT> |
|
template<CSubscriptable Ts> |
using | TSubscriptedTypeOf = decltype(std::declval<Ts>()[0]) |
|
template<typename T , std::size_t EXTENT = std::dynamic_extent> |
using | TSpan = std::span<T, EXTENT> |
| A contiguous sequence of objects of type T . Effectively the same as std::span .
|
|
template<typename T , std::size_t EXTENT = std::dynamic_extent> |
using | TSpanView = std::span<const T, EXTENT> |
| Same as TSpan , except that the objects are const-qualified. Note that for pointer types, the const is applied on the pointer itself. For example, when T is const int* , the accessed type will be const int* const .
|
|
using | CookPriority = uint8 |
|
using | CookLevel = uint8 |
|
|
enum class | EEngineProject {
Engine
, EngineTest
, SDLGen
, SDLGenCLI
,
PhotonCLI
, Editor
, EditorLib
, EditorTest
,
IntersectError
} |
|
enum class | ESurfaceRefineMode { Manual
, Empirical
, Iterative
, Default = Iterative
} |
|
enum class | EMathImageOp {
Add = 0
, Subtract
, Multiply
, Divide
,
Power
, Absolute
, Clamp
} |
|
enum class | EImageSampleMode { Unspecified = 0
, Bilinear
, Nearest
, Trilinear
} |
|
enum class | EImageWrapMode { Unspecified = 0
, ClampToEdge
, Repeat
, FlippedClampToEdge
} |
|
enum class | ESurfaceMaterialMixMode { Lerp = 0
} |
|
enum class | EInterfaceFresnel { Unspecified = 0
, Schlick
, Exact
} |
|
enum class | EInterfaceMicrosurface { Unspecified = 0
, TrowbridgeReitz
, Beckmann
} |
|
enum class | ERoughnessToAlpha { Unspecified = 0
, Equaled
, Squared
, PbrtV3
} |
|
enum class | EIdealSubstance {
Absorber = 0
, DielectricReflector
, DielectricTransmitter
, MetallicReflector
,
Dielectric
} |
|
enum class | ECoordSys : int { World = 0
, Local = 1
, SIZE = 2
} |
|
enum class | EEmitterFeatureSet : detail::EmitterFlagIntType {
ZeroBounceSample = detail::efs_zero_bounce_sample_bits
, BsdfSample = detail::efs_bsdf_sample_bits
, DirectSample = detail::efs_direct_sample_bits
, EmissionSample = detail::efs_emission_sample_bits
,
Default
} |
| Runtime features of an emitter. More...
|
|
enum class | EFaceTopology : uint8 {
General = math::flag_bit<uint8, 0>()
, Planar = math::flag_bit<uint8, 1>()
, Convex = math::flag_bit<uint8, 2>()
, Concave = math::flag_bit<uint8, 3>()
,
Triangular = math::flag_bit<uint8, 4>()
, Quadrilateral = math::flag_bit<uint8, 5>()
} |
| Categorizing face topology. More...
|
|
enum class | EVertexAttribute : uint8 {
Position_0 = 0
, Normal_0
, Tangent_0
, TexCoord_0
,
TexCoord_1
, Color_0
, SIZE
} |
|
enum class | EVertexElement : uint8 {
Float32 = 0
, Float16
, Int32
, Int16
,
OctahedralUnitVec3_32
, OctahedralUnitVec3_24
, SIZE
} |
|
enum class | EAttribute : unsigned int {
LIGHT_ENERGY = 0
, LIGHT_ENERGY_HALF_EFFORT
, LIGHT_ENERGY_INDEXED
, NORMAL
,
DEPTH
, TEXTURE_COORDINATE
, POSITION
, SIZE
} |
|
enum class | ERegionStatus { Invalid
, Finished
, Updating
} |
| Status of a rendering region. Note that when adding new entries, the order is important: later entries will take precedence when multiple regions are merged together. For example, merging Invalid and Updating regions will result in an Updating region. More...
|
|
enum class | EPhotonData {
ThroughputRadiance
, Pos
, FromDir
, GeometryNormal
,
PathLength
} |
|
enum class | EViewpointData {
SurfaceHit
, RasterCoord
, Radius
, NumPhotons
,
Tau
, ViewThroughput
, ViewDir
, ViewRadiance
} |
|
enum class | EViewPathSampleMode { SinglePath
, ElementalBranch
} |
| Directives on how to trace the next path. More...
|
|
enum class | EHaltonPermutation { None = 0
, Fixed
, PerDigit
, Owen
} |
| Permutation schemes available for a Halton sequence. See sdl_halton_randomization_types.h for detailed explanation. More...
|
|
enum class | EHaltonSequence { Original = 0
, Leap
, RandomLeap
, RandomStart
} |
|
enum class | EScheduler {
Unspecified = 0
, Bulk
, Stripe
, Grid
,
Tile
, Spiral
, SpiralGrid
} |
|
enum class | EMaskingShadowing { HightCorrelated = 0
, Separable
, DirectionCorrelated
, HeightDirectionCorrelated
} |
| Different types of masking and shadowing terms for microfacet distributions. Eric Heitz has published a detailed explanation [10], which is excellent and definitely worth a read in my opinion. More...
|
|
enum class | ESurfacePhenomenon : uint32 {
DiffuseReflection = math::flag_bit<uint32, 0>()
, NearDiffuseReflection = math::flag_bit<uint32, 1>()
, DeltaReflection = math::flag_bit<uint32, 2>()
, GlossyReflection = math::flag_bit<uint32, 3>()
,
DiffuseTransmission = math::flag_bit<uint32, 4>()
, NearDiffuseTransmission = math::flag_bit<uint32, 5>()
, DeltaTransmission = math::flag_bit<uint32, 6>()
, GlossyTransmission = math::flag_bit<uint32, 7>()
} |
| Available surface phenomena. More...
|
|
enum class | ESurfaceHitReason : detail::SurfaceHitReasonIntType {
Invalid = 0
, Unknown = detail::shr_unknown_bits
, IncidentRay = detail::shr_incident_ray_bits
, SampledPos = detail::shr_sampled_pos_bits
,
SampledDir = detail::shr_sampled_dir_bits
, SampledPosDir = detail::shr_sampled_pos_bits | detail::shr_sampled_dir_bits
} |
|
enum class | ETexWrapMode { REPEAT
, CLAMP_TO_EDGE
} |
|
enum class | EPictureFile {
Unknown = 0
, PNG
, JPG
, BMP
,
TGA
, HDR
, EXR
, HighPrecisionEXR
,
PFM
} |
|
enum class | EPlyDataFormat { ASCII = 0
, BinaryLittleEndian
, BinaryBigEndian
, NUM
} |
|
enum class | EPlyDataType {
Unspecified = 0
, Int8
, UInt8
, Int16
,
UInt16
, Int32
, UInt32
, Float32
,
Float64
, NUM
} |
|
enum class | EAccelerator {
Unspecified = 0
, BruteForce
, BVH
, BVH4
,
BVH8
, Kdtree
, IndexedKdtree
} |
|
enum class | EPhotonMappingMode { Vanilla = 0
, Progressive
, StochasticProgressive
, ProbabilisticProgressive
} |
|
enum class | ERayEnergyEstimator { Unspecified = 0
, BVPT
, BNEEPT
, BVPTDL
} |
|
enum class | ESampleFilter {
Unspecified = 0
, Box
, Gaussian
, MitchellNetravali
,
BlackmanHarris
} |
|
enum class | EPicturePixelComponent {
Empty = 0
, Int8
, UInt8
, Int16
,
UInt16
, Int32
, UInt32
, Int64
,
UInt64
, Float16
, Float32
, Float64
} |
|
enum class | ESdlDataFormat : uint8 {
None = 0
, Single
, Vector2
, Vector3
,
Vector4
, Quaternion
, Vector
, Vector2Vector
,
Vector3Vector
, QuaternionVector
, SharedPtrVector
, SharedPointer
,
UniquePointer
, SIZE
} |
| Format of the data used by SDL. Each listed data format tells how a group of data is arranged internally as well as its meaning. Useful for code that require some determinable runtime behavior. More...
|
|
enum class | ESdlDataType : uint8 {
None = 0
, Int8
, UInt8
, Int16
,
UInt16
, Int32
, UInt32
, Int64
,
UInt64
, Float32
, Float64
, Bool
,
String
, Path
, ResourceIdentifier
, Spectrum
,
Enum
, Struct
, Geometry
, Material
,
Motion
, Actor
, Image
, FrameProcessor
,
Observer
, SampleSource
, Visualizer
, Option
,
Object
, SIZE
} |
| Common data types used by SDL. Each listed data type has some form of one to one mapping to a specific runtime type. Useful for code that require some determinable runtime behavior. More...
|
|
enum class | ESdlTypeCategory {
Unspecified = 0
, Ref_Geometry
, Ref_Material
, Ref_Motion
,
Ref_Image
, Ref_Actor
, Ref_FrameProcessor
, Ref_Observer
,
Ref_SampleSource
, Ref_Visualizer
, Ref_Option
, Ref_Object
,
SIZE
} |
|
enum class | EFieldImportance { Optional
, NiceToHave
, Required
} |
|
enum | ESdlClauseValue { General = 0
, PersistentTargetName
, CachedTargetName
} |
| Meta information for the value in a clause. More...
|
|
enum class | ESdlCommandType {
Unknown = 0
, Directive
, Load
, Removal
,
Update
, Execution
, NamedDataPacket
, Phantom
} |
|
enum class | ESriType { Unknown = 0
, Bundle
, External
} |
| Type of the SDL Resource Identifier (SRI). More...
|
|
enum class | ECookPriority : CookPriority { High = 1
, Normal = std::numeric_limits<CookPriority>::max() / 2
, Low
} |
|
enum class | ECookLevel : CookLevel { First = 0
, Normal = std::numeric_limits<CookLevel>::max() / 2
, Last
} |
|
|
std::string_view | to_string (EEngineProject project) |
|
std::string_view | refine_mode_to_str (const ESurfaceRefineMode mode) |
|
ESurfaceRefineMode | str_to_refine_mode (std::string_view mode) |
|
bool | init_render_engine (std::optional< EngineInitSettings > settings=std::nullopt) |
| Initialize the render engine.
|
|
bool | exit_render_engine () |
| Exit the render engine. Must be called before leaving the engine. Using the engine after this call returned is prohibited (except some cleanup operations such as destruction).
|
|
std::span< const SdlClass *const > | get_registered_engine_classes () |
| Get a list of registered SDL classes from the engine.
|
|
std::span< const SdlEnum *const > | get_registered_engine_enums () |
| Get a list of registered SDL enums from the engine.
|
|
Path | get_config_directory (EEngineProject project) |
|
Path | get_internal_resource_directory (EEngineProject project) |
| Directory to resources required by the project.
|
|
Path | get_resource_directory (EEngineProject project) |
| Directory to additional/optional resources used by the project.
|
|
Path | get_script_directory (EEngineProject project) |
| Directory to scripts for the project.
|
|
| PH_DEFINE_LOG_GROUP (ActorCooking, Actor) |
|
| PH_DECLARE_LOG_GROUP (ActorCooking) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (DomeActor, Actor) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (AModel, Actor) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (TransformedInstanceActor, Actor) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PreethamDomeActor, Actor) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (Geometry, Geometry) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (GPlyPolygonMesh, Geometry) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (BinaryMixedImage, Image) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (BlackBodyRadiationImage, Image) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (CheckerboardImage, Image) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (ConstantImage, Image) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (MathImage, Image) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EMathImageOp >) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (RasterFileImage, Image) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EImageSampleMode >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EImageWrapMode >) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SwizzledImage, Image) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (AGeometricLight, Actor) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (BinaryMixedSurfaceMaterial, Material) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< ESurfaceMaterialMixMode >) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (ConductiveInterfaceInfo, BSDF) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (DielectricInterfaceInfo, BSDF) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (MicrosurfaceInfo, BSDF) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EInterfaceFresnel >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EInterfaceMicrosurface >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< ERoughnessToAlpha >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EMaskingShadowing >) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (FullMaterial, Material) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (IdealSubstance, Material) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EIdealSubstance >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< math::EColorSpace >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< math::EColorUsage >) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (ApiDatabase, Core) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (InitAndExit, Engine) |
|
bool | init_engine_core (const EngineInitSettings &settings) |
|
bool | init_engine_IO_infrastructure (const EngineInitSettings &settings) |
|
void | after_engine_init (const EngineInitSettings &settings) |
|
void | before_engine_exit () |
|
bool | exit_API_database () |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (CppAPI, Engine) |
|
void | loadTestScene (VisualWorld *const out_world) |
|
void | loadCornellBox (VisualWorld *const out_world, const real boxSize) |
|
void | loadCbox3ObjScene (VisualWorld *const out_world) |
|
void | load5bScene (VisualWorld *const out_world) |
|
| PH_DEFINE_INLINE_ENUM_FLAG_OPERATORS (EEmitterFeatureSet) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (LatLongEnvEmitter, Emitter) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PowerFavoringEmitterSampler, EmitterSampler) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (Engine, Core) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (Update, Engine) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (Render, Engine) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (LoadCommands, Engine) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (FullEstimation, Render_BNEEPTEstimator) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (ZeroBounceDirect, Render_BNEEPTEstimator) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (DirectLightSampling, Render_BNEEPTEstimator) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (BSDFAndIndirectLightSampling, Render_BNEEPTEstimator) |
|
| PH_DEFINE_INLINE_ENUM_FLAG_OPERATORS (EFaceTopology) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (IndexedUIntBuffer, Core) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (IndexedVertexBuffer, Core) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PrimitiveMetadata, Primitive) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (Receiver, Receiver) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (AttributeRenderer, Renderer) |
|
template<CPhoton Photon> |
bool | accept_photon_by_surface_topology (const Photon &photon, const math::Vector3R &Ng, const math::Vector3R &Ns, const math::Vector3R &L, const math::Vector3R &V, const lta::SidednessAgreement &sidedness) |
|
template<CPhoton Photon> |
math::Spectrum | estimate_certainly_lost_energy (const std::size_t viewPathLength, const SurfaceHit &X, const math::Spectrum &viewPathThroughput, const TPhotonMapInfo< Photon > &photonMapInfo, const Scene *scene, const std::size_t minFullPathLength=1, const std::size_t maxFullPathLength=PMCommonParams::DEFAULT_MAX_PATH_LENGTH) |
| Estimate the energy that can never be obtained by utilizing a photon map. The estimation is for the current hit point only. To account for lost energy along a path with multiple hit points, call this function for each hit point and sum the results.
|
|
template<CPhoton Photon> |
math::Spectrum | estimate_lost_energy_for_extending (const std::size_t viewPathLength, const SurfaceHit &X, const math::Spectrum &viewPathThroughput, const TPhotonMapInfo< Photon > &photonMapInfo, const Scene *scene, const std::size_t minFullPathLength=1, const std::size_t maxFullPathLength=PMCommonParams::DEFAULT_MAX_PATH_LENGTH) |
| Estimate the energy that is otherwise lost forever if the path is extended. The estimation is for the current hit point only. To account for lost energy along an extended path with multiple hit points, call this function for each hit point and sum the results. For a hit point, only one of estimate_lost_energy_for_extending() and estimate_lost_energy_for_merging() can be called.
|
|
template<CPhoton Photon> |
math::Spectrum | estimate_lost_energy_for_merging (const std::size_t viewPathLength, const SurfaceHit &X, const math::Spectrum &viewPathThroughput, const TPhotonMapInfo< Photon > &photonMapInfo, const Scene *scene, const std::size_t minFullPathLength=1, const std::size_t maxFullPathLength=PMCommonParams::DEFAULT_MAX_PATH_LENGTH) |
| Estimate the energy that is otherwise lost forever if the path is merged. The estimation is for the current hit point only and is expected to be called when the path ended (merged). For a hit point, only one of estimate_lost_energy_for_extending() and estimate_lost_energy_for_merging() can be called.
|
|
| PH_DEFINE_LOG_GROUP (PMRenderer, Renderer) |
|
| PH_DECLARE_LOG_GROUP (PMRenderer) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (Renderer, Renderer) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (EqualSamplingRenderer, Renderer) |
|
| PH_DEFINE_INLINE_ENUM_FLAG_OPERATORS (ESurfacePhenomenon) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (TableFGD, BSDF) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (TableTIR, BSDF) |
|
| PH_DEFINE_INLINE_ENUM_FLAG_OPERATORS (ESurfaceHitReason) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PreethamTexture, Texture) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (BinaryFileReader, DataIO) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (IesData, DataIO) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (IesFile, DataIO) |
|
EPictureFile | picture_file_type_from_extension (std::string_view ext) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (ExrFileReader, DataIO) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PfmFile, DataIO) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PlyFile, DataIO) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EPictureFile >) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (FormattedTextInputStream, DataIO) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (TextFileLoader, DataIO) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (CoreCookedUnit, Core) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (OrientedRasterObserver, Observer) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EHaltonPermutation >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EHaltonSequence >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EAccelerator >) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SingleFrameRenderSession, RenderSession) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PathTracingVisualizer, Visualizer) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (PhotonMappingVisualizer, Visualizer) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EPhotonMappingMode >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< ERayEnergyEstimator >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< ESampleFilter >) |
|
| PH_DEFINE_SDL_ENUM (TSdlGeneralEnum< EScheduler >) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (FrameUtilities, Frame) |
|
std::size_t | num_bytes_in_component (const EPicturePixelComponent componentType) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (SdlClass, SDL) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (SdlField, SDL) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (SdlFunction, SDL) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (SdlStruct, SDL) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (RawResourceCollection, SDL) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SceneDescription, SDL) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SdlCommandGenerator, SDL) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SdlCommandParser, SDL) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (ParseCommandTotal, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (ParseLoadCommand, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (ParseExecutionCommand, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (ParseDirectiveCommand, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (ParseNamedDataPacketCommand, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (GetCommandHeader, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (GetClauses, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (GetSDLClass, SdlCommandParser) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SdlDataPacketCollection, SDL) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SdlDependencyResolver, SDL) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SdlNamedOutputClauses, SDL) |
|
SdlResourceId | gen_sdl_resource_id () |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SdlSceneFileReader, SDL) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (SdlSceneFileWriter, SDL) |
|
void | parallel_work (const std::size_t numWorkers, std::function< void(std::size_t workerIdx) > work) |
| Runs specified works in parallel. The function will block the calling thread until all works are complete.
|
|
void | parallel_work (const std::size_t totalWorkSize, const std::size_t numWorkers, std::function< void(std::size_t workerIdx, std::size_t workBegin, std::size_t workEnd) > work) |
| Runs specified works in parallel. The function will block the calling thread until all works are complete. Note that 0-sized works are not executed (work is not called in this case).
|
|
void | parallel_work (FixedSizeThreadPool &workers, const std::size_t totalWorkSize, std::function< void(std::size_t workerIdx, std::size_t workBegin, std::size_t workEnd) > work) |
| Runs specified works in parallel using a thread pool. The function will block the calling thread until all works are complete. Note that 0-sized works are not executed (work is not called in this case).
|
|
| PH_DEFINE_INTERNAL_LOG_GROUP (Workflow, Concurrent) |
|
template<typename Target , typename Source > |
Target | bitwise_cast (const Source &source) |
|
consteval bool | is_big_endian () |
|
template<CEnum EnumType> |
constexpr auto | enum_to_value (const EnumType enumValue) |
|
template<CEnum EnumType> |
std::string | enum_to_string (const EnumType enumValue) |
|
template<CEnumWithSizeInfo EnumType> |
constexpr auto | enum_size () |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (CookedNamedResource, World) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (CookedResourceCollection, World) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (CookedResourceCollectionBase, World) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (CookingContext, World) |
|
| PH_DEFINE_EXTERNAL_LOG_GROUP (TransientResourceCache, World) |
|
| PH_DEFINE_INTERNAL_LOG_GROUP (VisualWorld, World) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (CookActorLevels, VisualWorld) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (UpdateAccelerators, VisualWorld) |
|
| PH_DEFINE_INTERNAL_TIMER_STAT (UpdateLightSamplers, VisualWorld) |
|
|
template<typename T > |
T * | ptr_access (T *const ptr) |
| Access a target's member consistently using . or -> operators. Note that these functions treat smart pointers as regular objects (ptr_access() and ref_access() will refer to the object itself, not its managed data). A nice discussion for the topic: https://stackoverflow.com/questions/14466620/c-template-specialization-calling-methods-on-types-that-could-be-pointers-or.
|
|
template<typename T > |
T * | ptr_access (T &ref) |
|
template<typename T > |
T * | ptr_access (T &&ref)=delete |
|
template<typename T > |
T & | ref_access (T &ref) |
|
template<typename T > |
T & | ref_access (T *const ptr) |
|
void | ref_access (std::nullptr_t)=delete |
|
template<typename T > |
T & | ref_access (T &&ref)=delete |
|