载入中...
搜索中...
未找到
eve::graphics::detail 命名空间参考

类

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 &parameters)
 Bake coefficients using UE's default 10/15-sample, two-direction approximation.
 
EVENGINE_API_BACKENDS Result< std::array< float, 3 > > 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.
 
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.

被这些函数引用 eve::graphics::SkyAtmospherePass::prepare().

◆ buildPbrUniformGpu()

PbrUniformGpu eve::graphics::detail::buildPbrUniformGpu ( const PbrUniformBuildInputs &  inputs)

Build all material and scene fields; mesh stream offsets remain disabled for the backend to fill.

在文件 PbrGpuUniform.cpp 第 7 行定义.

引用了 binding, color, colors, d, index, inputs, eve::graphics::detail::PbrUniformGpu::mvp, s , 以及 u.

◆ 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 
)

◆ opticalSample()

SkyAtmosphereParameters eve::graphics::detail::opticalSample ( SkyAtmosphereParameters  p,
const SkyDaylightLayer &  d,
float  sunY 
)
inline

Pure clear/manual optical projection. Inputs are validated authored values and sun Y in [-1,1].

在文件 SkyOpticalCycle.h 第 7 行定义.

引用了 d, p , 以及 scale.

被这些函数引用 eve::graphics::SkyAtmospherePass::prepare().

◆ 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()

◆ validateResourceShaderStages()

Result< void > eve::graphics::detail::validateResourceShaderStages ( std::span< const uint32_t >  vertex,
std::span< const uint32_t >  fragment,
const ShaderResourceInputs &  inputs 
)

变量说明

◆ OpticalLayers

constexpr unsigned eve::graphics::detail::OpticalLayers = 81
inlineconstexpr

在文件 SkyOpticalCycle.h 第 24 行定义.

被这些函数引用 eve::graphics::SkyAtmospherePass::prepare().

◆ OpticalMaximum

constexpr float eve::graphics::detail::OpticalMaximum = .32f

在文件 SkyOpticalCycle.h 第 25 行定义.

被这些函数引用 eve::graphics::SkyAtmospherePass::prepare().

◆ OpticalMinimum

constexpr float eve::graphics::detail::OpticalMinimum = -.08f
inlineconstexpr

在文件 SkyOpticalCycle.h 第 25 行定义.

被这些函数引用 eve::graphics::SkyAtmospherePass::prepare().