类 | |
| struct | PbrUniformBuildInputs |
| Backend-neutral state needed to build one immutable PBR uniform snapshot. 更多... | |
| struct | PbrUniformGpu |
| Canonical std140 payload consumed by both generated PBR shader stages. 更多... | |
| struct | PbrUvInfoGpu |
| std140 texture-coordinate metadata shared by Vulkan and WebGPU PBR shaders. 更多... | |
| struct | SkyAtmosphereLuts |
| Internal owning RGBA32F table candidates, never partially published. 更多... | |
函数 | |
| PbrUniformGpu | buildPbrUniformGpu (const PbrUniformBuildInputs &inputs) |
| Build all material and scene fields; mesh stream offsets remain disabled for the backend to fill. | |
| void | exposeRenderable3DBindings (ssq::Table &table) |
| Expose renderable 3 d bindings. | |
| Result< void > | validateInstancedRenderable (const Renderable3D::MeshRenderer &renderer) |
| Validate instanced renderable. | |
| void | exposeShaderResourceBindings (ssq::Table &table, ssq::Class &cls) |
| Expose shader resource bindings. | |
| Result< void > | validateResourceShaderStages (std::span< const uint32_t > vertex, std::span< const uint32_t > fragment, const ShaderResourceInputs &inputs) |
| Validate resource shader stages. | |
| Result< std::vector< std::uint32_t > > | readShaderStageFile (const std::string &path) |
| Reads shader stage file. | |
| EVENGINE_API_BACKENDS Result< SkyAtmosphereLuts > | bakeSkyAtmosphereLuts (const SkyAtmosphereParameters ¶meters) |
| Bake coefficients using UE's default 10/15-sample, two-direction approximation. | |
| EVENGINE_API_BACKENDS Result< std::array< float, 3 > > | bakeDistantSkyAmbient (const SkyAtmosphereParameters ¶meters, const SkyAtmosphereLuts &tables, const std::array< float, 3 > &lightDirection) |
| Integrate distant-sky ambient radiance per unit incident RGB irradiance at six kilometres. | |
| SkyAtmosphereParameters | opticalSample (SkyAtmosphereParameters p, const SkyDaylightLayer &d, float sunY) |
| Pure clear/manual optical projection. Inputs are validated authored values and sun Y in [-1,1]. | |
| EVENGINE_API_BACKENDS Result< void > | prepareViewResources (Graphics &graphics, const glm::mat4 &viewProjection, const glm::vec3 &eye) |
| Dispatch preparers before opening the destination; no callbacks means success. @thread Graphics thread, non-reentrant. No locks are held while invoking callbacks. @lifetime Borrowed graphics and camera values are valid only through this call. | |
变量 | |
| constexpr unsigned | OpticalLayers = 81 |
| constexpr float | OpticalMinimum = -.08f |
| constexpr float | OpticalMaximum = .32f |
函数说明
◆ bakeDistantSkyAmbient()
| Result< std::array< float, 3 > > eve::graphics::detail::bakeDistantSkyAmbient | ( | const SkyAtmosphereParameters & | parameters, |
| const SkyAtmosphereLuts & | tables, | ||
| const std::array< float, 3 > & | lightDirection | ||
| ) |
Integrate distant-sky ambient radiance per unit incident RGB irradiance at six kilometres.
Uses 64 fixed stratified directions, ten samples per ray, isotropic phase and no ground bounce. The caller must supply tables baked from the same immutable parameters. Direction is Y-up towards the light.
- 返回
- Linear RGB radiance, or a structured invalid-input/numerical failure. @thread CPU-only; no global RNG, provider access or retained references. @cost Hundreds of medium evaluations; run during lighting preparation, never per pixel or draw.
在文件 SkyAtmosphereLuts.cpp 第 181 行定义.
引用了 bottom, direction, end, eve::Diagnostic::error(), eve::Failed, finite, height, eve::InvalidArgument, light, m, eve::graphics::detail::SkyAtmosphereLuts::MultiHeight, eve::graphics::detail::SkyAtmosphereLuts::multiScattering, eve::graphics::detail::SkyAtmosphereLuts::MultiWidth, origin, p, point, radius, seed, source, step, top, eve::graphics::detail::SkyAtmosphereLuts::transmittance, eve::graphics::detail::SkyAtmosphereLuts::TransmittanceHeight, eve::graphics::detail::SkyAtmosphereLuts::TransmittanceWidth, u, v, valid, values , 以及 y.
◆ bakeSkyAtmosphereLuts()
| Result< detail::SkyAtmosphereLuts > eve::graphics::detail::bakeSkyAtmosphereLuts | ( | const SkyAtmosphereParameters & | parameters | ) |
Bake coefficients using UE's default 10/15-sample, two-direction approximation.
- 返回
- Owning table data or a structured validation/baking failure. @thread CPU-only, with no global state or callbacks. Input is borrowed only for this call. @cost Hundreds of thousands of medium evaluations, amortized over a configuration lifetime.
在文件 SkyAtmosphereLuts.cpp 第 135 行定义.
引用了 bottom, depth, direction, distance, error, eve::Diagnostic::error(), eve::Failed, h, height, light, luminance, minimum, eve::graphics::detail::SkyAtmosphereLuts::MultiHeight, eve::graphics::detail::SkyAtmosphereLuts::multiScattering, eve::graphics::detail::SkyAtmosphereLuts::MultiWidth, origin, p, r, step, top, eve::graphics::detail::SkyAtmosphereLuts::transmittance, eve::graphics::detail::SkyAtmosphereLuts::TransmittanceHeight, eve::graphics::detail::SkyAtmosphereLuts::TransmittanceWidth, up, valid, x , 以及 y.
◆ buildPbrUniformGpu()
| PbrUniformGpu eve::graphics::detail::buildPbrUniformGpu | ( | const PbrUniformBuildInputs & | inputs | ) |
◆ exposeRenderable3DBindings()
| void eve::graphics::detail::exposeRenderable3DBindings | ( | ssq::Table & | table | ) |
Expose renderable 3 d bindings.
在文件 Renderable3DBindings.cpp 第 10 行定义.
引用了 eve::graphics::Renderable3D::clearInstanceRange(), eve::graphics::Renderable3D::clearMeshLod(), eve::graphics::Renderable3D::clearParts(), eve::graphics::Renderable3D::clearPartSortPriority(), count, distance, error, eve::Diagnostic::error(), eve::graphics::MeshInstanceRange::first, first, eve::graphics::Renderable3D::getCastOcclusion(), eve::graphics::Renderable3D::getEntityGeneration(), eve::graphics::Renderable3D::getEntityId(), eve::graphics::Renderable3D::getHair(), eve::graphics::Renderable3D::getLayer(), eve::graphics::Renderable3D::getMaterial(), eve::graphics::Renderable3D::getMesh(), eve::graphics::Renderable3D::getMeshLodCount(), eve::graphics::Renderable3D::getMeshLodLevelAtDistance(), eve::graphics::Renderable3D::getParallaxMaxLayers(), eve::graphics::Renderable3D::getParallaxMinLayers(), eve::graphics::Renderable3D::getParallaxScale(), eve::graphics::Renderable3D::getPartCount(), eve::graphics::Renderable3D::getPartMaterial(), eve::graphics::Renderable3D::getPartMesh(), eve::graphics::Renderable3D::getPartName(), eve::graphics::Renderable3D::getPartSortPriority(), eve::graphics::Renderable3D::getReflectionCaptureMask(), eve::graphics::Renderable3D::getRoughness(), eve::graphics::Renderable3D::getTexCellBombRotation(), eve::graphics::Renderable3D::getTexCellBombScale(), eve::graphics::Renderable3D::getTexCellBombStrength(), eve::graphics::Renderable3D::getTintB(), eve::graphics::Renderable3D::getTintG(), eve::graphics::Renderable3D::getTintR(), eve::graphics::Renderable3D::getVisible(), eve::graphics::Renderable3D::getYaw(), eve::InvalidArgument, maximum, minimum, eve::script::projectResult(), range, eve::graphics::Renderable3D::setCamera(), eve::graphics::Renderable3D::setCastOcclusion(), eve::graphics::Renderable3D::setCastShadow(), eve::graphics::Renderable3D::setHair(), eve::graphics::Renderable3D::setHeightTexture(), eve::graphics::Renderable3D::setInstanceRange(), eve::graphics::Renderable3D::setLayer(), eve::graphics::Renderable3D::setMaterial(), eve::graphics::Renderable3D::setMesh(), eve::graphics::Renderable3D::setMeshLod(), eve::graphics::Renderable3D::setMetallic(), eve::graphics::Renderable3D::setNormalTexture(), eve::graphics::Renderable3D::setPackedNormalMask(), eve::graphics::Renderable3D::setParallax(), eve::graphics::Renderable3D::setPart(), eve::graphics::Renderable3D::setPartSortPriority(), eve::graphics::Renderable3D::setPosition(), eve::graphics::Renderable3D::setReceiveLight(), eve::graphics::Renderable3D::setReceiveShadow(), eve::graphics::Renderable3D::setReflectionCaptureMask(), eve::graphics::Renderable3D::setRotation(), eve::graphics::Renderable3D::setRoughness(), eve::graphics::Renderable3D::setScale(), eve::graphics::Renderable3D::setShader(), eve::graphics::Renderable3D::setTexCellBomb(), eve::graphics::Renderable3D::setTexture(), eve::graphics::Renderable3D::setTint(), eve::graphics::Renderable3D::setVisible(), eve::graphics::Renderable3D::setYaw() , 以及 vm.
◆ exposeShaderResourceBindings()
| void eve::graphics::detail::exposeShaderResourceBindings | ( | ssq::Table & | table, |
| ssq::Class & | cls | ||
| ) |
Expose shader resource bindings.
在文件 ShaderResourceScriptBindings.cpp 第 140 行定义.
引用了 eve::graphics::Graphics::Aces, eve::graphics::Graphics::Auto, cls, eve::graphics::Bloom::configureFilter(), eve::Diagnostic::error(), eve::graphics::Graphics::Filmic, eve::graphics::BloomFilterSettings::filter, eve::graphics::Bloom::filterSettings(), eve::graphics::GaussianPyramid, eve::graphics::GaussianScatter, eve::graphics::Graphics::getActiveDisplayColorSpace(), eve::graphics::Graphics::getDisplayOutputMode(), eve::graphics::Graphics::getDisplayPaperWhiteNits(), eve::graphics::Graphics::getDisplayPeakNits(), eve::graphics::Graphics::getScenePhotographicVignette(), eve::graphics::Graphics::getSceneToneMapping(), eve::graphics::Graphics::Hdr10, eve::InvalidArgument, eve::graphics::Graphics::isDisplayHdrActive(), iterations, eve::graphics::KarisTent, eve::graphics::Graphics::None, eve::graphics::Graphics::pipelineBloom(), eve::script::projectResult(), eve::graphics::Graphics::queryDisplayOutputSupport(), eve::graphics::Graphics::ScRgb, eve::graphics::Graphics::Sdr, eve::graphics::Graphics::setDisplayHdrCalibration(), eve::graphics::Graphics::setDisplayOutputMode(), eve::graphics::Graphics::setScenePhotographicVignette(), eve::graphics::Graphics::setSceneToneMapping(), settings, valid, eve::graphics::validateBloomFilterSettings(), value , 以及 vm.
◆ opticalSample()
|
inline |
Pure clear/manual optical projection. Inputs are validated authored values and sun Y in [-1,1].
在文件 SkyOpticalCycle.h 第 7 行定义.
◆ prepareViewResources()
| Result< void > eve::graphics::detail::prepareViewResources | ( | Graphics & | graphics, |
| const glm::mat4 & | viewProjection, | ||
| const glm::vec3 & | eye | ||
| ) |
Dispatch preparers before opening the destination; no callbacks means success. @thread Graphics thread, non-reentrant. No locks are held while invoking callbacks. @lifetime Borrowed graphics and camera values are valid only through this call.
- 返回
- First failure; no remaining preparers or destination draw are executed. @cost Sum of registered preparation costs; unchanged inputs may use provider caches.
在文件 ViewPreparation.cpp 第 36 行定义.
引用了 entries, error, eye, eve::Result< T >::failure() , 以及 eve::Result< T >::success().
被这些函数引用 eve::graphics::RenderSystem3D::render() , 以及 eve::graphics::RenderSystem3D::renderToCanvas().
◆ readShaderStageFile()
| Result< std::vector< std::uint32_t > > eve::graphics::detail::readShaderStageFile | ( | const std::string & | path | ) |
Reads shader stage file.
在文件 ShaderScriptBindings.cpp 第 35 行定义.
引用了 bytes, error, eve::Diagnostic::error(), eve::Failed, eve::ParseError , 以及 path.
◆ validateInstancedRenderable()
| Result< void > eve::graphics::detail::validateInstancedRenderable | ( | const Renderable3D::MeshRenderer & | mr | ) |
Validate instanced renderable.
在文件 RenderableInstances.cpp 第 7 行定义.
引用了 eve::graphics::Shader::eMesh3D, eve::Diagnostic::error(), eve::Result< T >::failure(), mr, shader, eve::Result< T >::success() , 以及 eve::Unsupported.
被这些函数引用 eve::graphics::RenderSystem3D::render(), eve::graphics::RenderSystem3D::renderToCanvas() , 以及 eve::graphics::Renderable3D::setInstanceRange().
◆ validateResourceShaderStages()
| Result< void > eve::graphics::detail::validateResourceShaderStages | ( | std::span< const uint32_t > | vertex, |
| std::span< const uint32_t > | fragment, | ||
| const ShaderResourceInputs & | inputs | ||
| ) |
Validate resource shader stages.
在文件 ShaderResourceValidation.cpp 第 128 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), inputs, eve::ParseError , 以及 eve::Unsupported.
被这些函数引用 eve::graphics::vulkan::Graphics::replaceMeshShaderResources() , 以及 eve::graphics::vulkan::validateMeshResourceShaderReload().
变量说明
◆ OpticalLayers
|
inlineconstexpr |
在文件 SkyOpticalCycle.h 第 24 行定义.
◆ OpticalMaximum
| constexpr float eve::graphics::detail::OpticalMaximum = .32f |
在文件 SkyOpticalCycle.h 第 25 行定义.
◆ OpticalMinimum
|
inlineconstexpr |
在文件 SkyOpticalCycle.h 第 25 行定义.