Declarative, compilable 3D render control. 更多...
#include <RenderControl.h>
Public 成员函数 | |
| RenderControl () | |
| ~RenderControl ()=default | |
| RenderControl (const RenderControl &)=delete | |
| RenderControl & | operator= (const RenderControl &)=delete |
| void | attach (Graphics *gfx) |
| Graphics * | getGraphics () 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 |
| GBuffer * | getGBuffer () |
| const GBuffer * | getGBuffer () 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.h 第 43 行定义.
构造及析构函数说明
◆ RenderControl() [1/2]
| eve::graphics::RenderControl::RenderControl | ( | ) |
在文件 RenderControl.cpp 第 19 行定义.
◆ ~RenderControl()
|
default |
◆ RenderControl() [2/2]
|
delete |
成员函数说明
◆ attach()
| void eve::graphics::RenderControl::attach | ( | Graphics * | gfx | ) |
在文件 RenderControl.cpp 第 37 行定义.
◆ compile()
| void eve::graphics::RenderControl::compile | ( | ) |
Rebuild the executable pass list from current feature flags.
在文件 RenderControl.cpp 第 75 行定义.
引用了 isEnabled().
被这些函数引用 ensureCompiled().
◆ disable()
| void eve::graphics::RenderControl::disable | ( | const std::string & | feature | ) |
在文件 RenderControl.cpp 第 68 行定义.
◆ enable()
| void eve::graphics::RenderControl::enable | ( | const std::string & | feature | ) |
在文件 RenderControl.cpp 第 66 行定义.
◆ ensureCompiled()
| void eve::graphics::RenderControl::ensureCompiled | ( | ) |
Ensure compiled; no-op when already clean.
在文件 RenderControl.cpp 第 86 行定义.
引用了 compile() , 以及 isCompiled().
◆ getGBuffer() [1/2]
|
inline |
在文件 RenderControl.h 第 69 行定义.
◆ getGBuffer() [2/2]
|
inline |
在文件 RenderControl.h 第 70 行定义.
◆ getGraphics()
|
inline |
在文件 RenderControl.h 第 52 行定义.
◆ getPassCount()
|
inline |
在文件 RenderControl.h 第 64 行定义.
◆ getPassName()
| std::string eve::graphics::RenderControl::getPassName | ( | int | index | ) | const |
Pass names: "shadow" | "gbuffer" | "forward" | "hair"
在文件 RenderControl.cpp 第 90 行定义.
◆ hasPass()
| bool eve::graphics::RenderControl::hasPass | ( | const std::string & | name | ) | const |
◆ isCompiled()
|
inline |
在文件 RenderControl.h 第 61 行定义.
被这些函数引用 ensureCompiled().
◆ isDirty()
|
inline |
在文件 RenderControl.h 第 62 行定义.
◆ isEnabled()
| bool eve::graphics::RenderControl::isEnabled | ( | const std::string & | feature | ) | const |
在文件 RenderControl.cpp 第 70 行定义.
被这些函数引用 compile() , 以及 eve::graphics::RenderSystem3D::render().
◆ operator=()
|
delete |
◆ supports()
| bool eve::graphics::RenderControl::supports | ( | const std::string & | feature | ) | const |
在文件 RenderControl.cpp 第 42 行定义.
该类的文档由以下文件生成:
- src/modules/graphics/RenderControl.h
- src/modules/graphics/RenderControl.cpp