载入中...
搜索中...
未找到
eve::graphics::RenderControl类 参考

Declarative, compilable 3D render control. 更多...

#include <RenderControl.h>

Public 成员函数

 RenderControl ()
 
 ~RenderControl ()=default
 
 RenderControl (const RenderControl &)=delete
 
RenderControloperator= (const RenderControl &)=delete
 
void attach (Graphics *gfx)
 
GraphicsgetGraphics () const
 
bool supports (const std::string &feature) const
 
void enable (const std::string &feature)
 
void disable (const std::string &feature)
 
bool isEnabled (const std::string &feature) const
 
void compile ()
 Rebuild the executable pass list from current feature flags.
 
bool isCompiled () const
 
bool isDirty () const
 
int getPassCount () const
 
std::string getPassName (int index) const
 Pass names: "shadow" | "gbuffer" | "forward" | "hair"
 
bool hasPass (const std::string &name) const
 
GBuffergetGBuffer ()
 
const GBuffergetGBuffer () const
 
void ensureCompiled ()
 Ensure compiled; no-op when already clean.
 

详细描述

Declarative, compilable 3D render control.

Callers enable/disable string features, then compile() into an ordered pass list consumed by RenderSystem3D. Unknown feature names are ignored (supports() reports false).

Built-in features: "depthTest" — HW z-buffer on forward/gbuffer draws (default on) "shadow" — directional CSM shadow pass (default on) "gbuffer" — fill sampleable depth + normal buffers (on when ao/gi) "gbufferAlbedo" — also write albedo into GBuffer (implies gbuffer; on when gi) "forward" — lit forward / clustered mesh draws (default on) "hair" — transparent hair pass after opaque (default on) "clustered" — prefer clustered forward when light count > 8 (default on) "ao" — screen-space AO overlay after FXAA resolve (implies gbuffer; default on) "outline" — screen-space model outline from depth+normal (implies gbuffer; default off) "frustumCull" — conservative bounding-sphere frustum culling during the job-ified frame data prep (default off; meshes without bounds are never culled) "gi" — enables gbufferAlbedo; mesh hemispheric GI (fullscreen SSGI is not auto-applied) "aa" — FXAA resolve of the 3D scene color into the swapchain (default on) "msaa" — hardware MSAA on the 3D scene color pass (default on; sample count via Graphics.setMsaaSamples, default 4, clamped to device support)

3D draws into a sampleable scene color target (not the swapchain). Present resolves that target (FXAA when "aa" is on), then composites AO/HUD.

compile() is idempotent; enable/disable mark the control dirty until the next compile(). RenderSystem3D auto-compiles when dirty.

在文件 RenderControl.h43 行定义.

构造及析构函数说明

◆ RenderControl() [1/2]

eve::graphics::RenderControl::RenderControl ( )

在文件 RenderControl.cpp19 行定义.

◆ ~RenderControl()

eve::graphics::RenderControl::~RenderControl ( )
default

◆ RenderControl() [2/2]

eve::graphics::RenderControl::RenderControl ( const RenderControl )
delete

成员函数说明

◆ attach()

void eve::graphics::RenderControl::attach ( Graphics gfx)

在文件 RenderControl.cpp37 行定义.

引用了 eve::graphics::GBuffer::attach().

◆ compile()

void eve::graphics::RenderControl::compile ( )

Rebuild the executable pass list from current feature flags.

在文件 RenderControl.cpp75 行定义.

引用了 isEnabled().

被这些函数引用 ensureCompiled().

◆ disable()

void eve::graphics::RenderControl::disable ( const std::string &  feature)

在文件 RenderControl.cpp68 行定义.

◆ enable()

void eve::graphics::RenderControl::enable ( const std::string &  feature)

在文件 RenderControl.cpp66 行定义.

◆ ensureCompiled()

void eve::graphics::RenderControl::ensureCompiled ( )

Ensure compiled; no-op when already clean.

在文件 RenderControl.cpp86 行定义.

引用了 compile() , 以及 isCompiled().

被这些函数引用 eve::graphics::RenderSystem3D::render().

◆ getGBuffer() [1/2]

GBuffer * eve::graphics::RenderControl::getGBuffer ( )
inline

在文件 RenderControl.h69 行定义.

被这些函数引用 eve::graphics::RenderSystem3D::render().

◆ getGBuffer() [2/2]

const GBuffer * eve::graphics::RenderControl::getGBuffer ( ) const
inline

在文件 RenderControl.h70 行定义.

◆ getGraphics()

Graphics * eve::graphics::RenderControl::getGraphics ( ) const
inline

在文件 RenderControl.h52 行定义.

◆ getPassCount()

int eve::graphics::RenderControl::getPassCount ( ) const
inline

在文件 RenderControl.h64 行定义.

◆ getPassName()

std::string eve::graphics::RenderControl::getPassName ( int  index) const

Pass names: "shadow" | "gbuffer" | "forward" | "hair"

在文件 RenderControl.cpp90 行定义.

◆ hasPass()

bool eve::graphics::RenderControl::hasPass ( const std::string &  name) const

在文件 RenderControl.cpp95 行定义.

引用了 name , 以及 p.

被这些函数引用 eve::graphics::RenderSystem3D::render().

◆ isCompiled()

bool eve::graphics::RenderControl::isCompiled ( ) const
inline

在文件 RenderControl.h61 行定义.

被这些函数引用 ensureCompiled().

◆ isDirty()

bool eve::graphics::RenderControl::isDirty ( ) const
inline

在文件 RenderControl.h62 行定义.

◆ isEnabled()

bool eve::graphics::RenderControl::isEnabled ( const std::string &  feature) const

在文件 RenderControl.cpp70 行定义.

被这些函数引用 compile() , 以及 eve::graphics::RenderSystem3D::render().

◆ operator=()

RenderControl & eve::graphics::RenderControl::operator= ( const RenderControl )
delete

◆ supports()

bool eve::graphics::RenderControl::supports ( const std::string &  feature) const

在文件 RenderControl.cpp42 行定义.


该类的文档由以下文件生成: