Class GlobalSignDistanceFieldPass
Global Sign Distance Field (SDF) rendering pass. Composites scene geometry into series of 3D volume textures that cover the world around the camera for global distance field sampling.
Assembly: FlaxEngine.dll
File: Engine/Renderer/GlobalSignDistanceFieldPass.h
Syntax
public class GlobalSignDistanceFieldPass : public RendererPass
Constructors
GPU_CB_STRUCT(ConstantsData { Float4 CascadePosDistance[4];Float4 CascadeVoxelSize;Float4 CascadeMaxDistance;Float4 CascadeMaxDistanceMip;Float2 Padding;uint32 CascadesCount;float Resolution;})
Declaration
public GPU_CB_STRUCT(ConstantsData { Float4 CascadePosDistance[4];Float4 CascadeVoxelSize;Float4 CascadeMaxDistance;Float4 CascadeMaxDistanceMip;Float2 Padding;uint32 CascadesCount;float Resolution;})
Parameters
Constants
|
Methods
Dispose()
Cleanup service data.
Declaration
public virtual void Dispose() override
Overrides
Get(const RenderBuffers* buffers, BindingData& result)
Gets the Global SDF (only if enabled in Graphics Settings).
Declaration
public bool Get(const RenderBuffers* buffers, BindingData& result)
Parameters
Render The rendering context buffers. |
Binding The result Global SDF data for binding to the shaders. |
Returns
bool
True if there is no valid Global SDF rendered during this frame, otherwise false. |
GetCullingData(BoundingBox& bounds)
Init()
Initialize service.
Declaration
public virtual bool Init() override
Returns
bool
|
Overrides
OnCollectDrawCalls(RenderContextBatch& renderContextBatch)
Calls drawing scene objects in async early in the frame.
Declaration
public void OnCollectDrawCalls(RenderContextBatch& renderContextBatch)
Parameters
Render The rendering context batch. |
RasterizeHeightfield(Actor* actor, GPUTexture* heightfield, const Transform& localToWorld, const BoundingBox& objectBounds, const Float4& localToUV)
Declaration
public void RasterizeHeightfield(Actor* actor, GPUTexture* heightfield, const Transform& localToWorld, const BoundingBox& objectBounds, const Float4& localToUV)
Parameters
Actor
actor
|
GPUTexture
heightfield
|
Transform
localToWorld
|
Bounding
|
Float4
localToUV
|
RasterizeModelSDF(Actor* actor, const ModelBase::SDFData& sdf, const Transform& localToWorld, const BoundingBox& objectBounds)
Declaration
public void RasterizeModelSDF(Actor* actor, const ModelBase::SDFData& sdf, const Transform& localToWorld, const BoundingBox& objectBounds)
Parameters
Actor
actor
|
Model
|
Transform
localToWorld
|
Bounding
|
Render(RenderContext& renderContext, GPUContext* context, BindingData& result)
Renders the Global SDF.
Declaration
public bool Render(RenderContext& renderContext, GPUContext* context, BindingData& result)
Parameters
Render The rendering context. |
GPUContext
context
The GPU context. |
Binding The result Global SDF data for binding to the shaders. |
Returns
bool
True if failed to render (platform doesn't support it, out of video memory, disabled feature or effect is not ready), otherwise false. |
RenderDebug(RenderContext& renderContext, GPUContext* context, GPUTexture* output)
Renders the debug view.
Declaration
public void RenderDebug(RenderContext& renderContext, GPUContext* context, GPUTexture* output)
Parameters
Render The rendering context. |
GPUContext
context
The GPU context. |
GPUTexture
output
The output buffer. |
setupResources()
Declaration
protected virtual bool setupResources() override
Returns
bool
|
Overrides
ToString()
Gets the string representation of this object.
Declaration
public virtual String ToString() const override