Owning material parameter snapshot; texture pointers remain borrowed. Base color/metallic/roughness continue to be owned by Material's existing fields. This value owns extension parameters and all eleven texture bindings. 更多...
#include <PbrSurface.h>
Public 属性 | |
| std::array< PbrTextureBinding, std::size_t(PbrTextureSlot::Count)> | textures {} |
| std::array< float, 3 > | emissive {0, 0, 0} |
| std::array< float, 3 > | specularColor {1, 1, 1} |
| float | normalScale = 1 |
| float | occlusionStrength = 1 |
| float | emissiveStrength = 1 |
| float | specularFactor = 1 |
| float | ior = 1.5f |
| float | anisotropyStrength = 0 |
| float | anisotropyRotation = 0 |
| float | clearcoatFactor = 0 |
| float | clearcoatRoughness = 0 |
| float | clearcoatNormalScale = 1 |
| bool | unlit = false |
| bool | colorMaskEnabled = false |
| Optional per-fragment RGB blend using projected ORM alpha as the color mask. Primary RGB remains Material's tint; alpha/clipping remain unchanged. The secondary RGB is linear HDR. Remap uses the TVE epsilon contract after texture filtering. Requires a linear MetallicRoughness binding when enabled. | |
| std::array< float, 3 > | colorMaskSecondary {1, 1, 1} |
| float | colorMaskMin = 0 |
| float | colorMaskMax = 0 |
| float | albedoTextureStrength = 1 |
| Interpolate texture RGB from white; texture alpha is unaffected. Range [0,1]. | |
| PbrNormalMode | normalMode = PbrNormalMode::TangentXYZ |
| Normal reconstruction; vegetation modes require a linear Normal texture and normalScale in [-8,8]. This owns only a value; texture lifetime follows textures[]. | |
| PbrCullMode | cullMode = PbrCullMode::Inherit |
| bool | alphaToCoverage = false |
| Enable alpha-to-coverage for masked rendering when the active target is multisampled. | |
| PbrTranslucency | translucency {} |
| Per-light vegetation backlighting. Native ambient RGB supplies the GI term. Positive maskAmount with enabled intensity requires a linear ORM texture; its alpha uses translucency.maskMinimum/Maximum remapping independently of colorMaskEnabled. | |
| PbrVegetationColorStages | vegetationColor {} |
| PbrVegetationDetail | vegetationDetail {} |
| PbrVegetationExtras | vegetationExtras {} |
| PbrVegetationColors | vegetationColors {} |
| PbrVegetationVertex | vegetationVertex {} |
| PbrVegetationMotion | vegetationMotion {} |
| PbrVegetationAlpha | vegetationAlpha {} |
| PbrVegetationEmission | vegetationEmission {} |
| PbrVegetationGradient | vegetationGradient {} |
| std::array< float, 3 > | motionHighlightColor {0, 0, 0} |
| Owning linear nonnegative motion-highlight RGB; zero disables the effect. Multiplies final albedo by 1+color*interpolated mesh highlight, after the translucency albedo snapshot. Render-thread snapshot, no retained borrows. | |
详细描述
Owning material parameter snapshot; texture pointers remain borrowed. Base color/metallic/roughness continue to be owned by Material's existing fields. This value owns extension parameters and all eleven texture bindings.
在文件 PbrSurface.h 第 218 行定义.
类成员变量说明
◆ albedoTextureStrength
| float eve::graphics::PbrSurface::albedoTextureStrength = 1 |
Interpolate texture RGB from white; texture alpha is unaffected. Range [0,1].
在文件 PbrSurface.h 第 237 行定义.
◆ alphaToCoverage
| bool eve::graphics::PbrSurface::alphaToCoverage = false |
Enable alpha-to-coverage for masked rendering when the active target is multisampled.
在文件 PbrSurface.h 第 245 行定义.
◆ anisotropyRotation
| float eve::graphics::PbrSurface::anisotropyRotation = 0 |
在文件 PbrSurface.h 第 223 行定义.
◆ anisotropyStrength
| float eve::graphics::PbrSurface::anisotropyStrength = 0 |
在文件 PbrSurface.h 第 223 行定义.
◆ clearcoatFactor
| float eve::graphics::PbrSurface::clearcoatFactor = 0 |
在文件 PbrSurface.h 第 224 行定义.
◆ clearcoatNormalScale
| float eve::graphics::PbrSurface::clearcoatNormalScale = 1 |
在文件 PbrSurface.h 第 224 行定义.
◆ clearcoatRoughness
| float eve::graphics::PbrSurface::clearcoatRoughness = 0 |
在文件 PbrSurface.h 第 224 行定义.
◆ colorMaskEnabled
| bool eve::graphics::PbrSurface::colorMaskEnabled = false |
Optional per-fragment RGB blend using projected ORM alpha as the color mask. Primary RGB remains Material's tint; alpha/clipping remain unchanged. The secondary RGB is linear HDR. Remap uses the TVE epsilon contract after texture filtering. Requires a linear MetallicRoughness binding when enabled.
在文件 PbrSurface.h 第 233 行定义.
◆ colorMaskMax
| float eve::graphics::PbrSurface::colorMaskMax = 0 |
在文件 PbrSurface.h 第 235 行定义.
◆ colorMaskMin
| float eve::graphics::PbrSurface::colorMaskMin = 0 |
在文件 PbrSurface.h 第 235 行定义.
◆ colorMaskSecondary
| std::array<float, 3> eve::graphics::PbrSurface::colorMaskSecondary {1, 1, 1} |
在文件 PbrSurface.h 第 234 行定义.
◆ cullMode
| PbrCullMode eve::graphics::PbrSurface::cullMode = PbrCullMode::Inherit |
在文件 PbrSurface.h 第 243 行定义.
◆ emissive
| std::array<float, 3> eve::graphics::PbrSurface::emissive {0, 0, 0} |
在文件 PbrSurface.h 第 220 行定义.
◆ emissiveStrength
| float eve::graphics::PbrSurface::emissiveStrength = 1 |
在文件 PbrSurface.h 第 221 行定义.
◆ ior
| float eve::graphics::PbrSurface::ior = 1.5f |
在文件 PbrSurface.h 第 222 行定义.
◆ motionHighlightColor
| std::array<float, 3> eve::graphics::PbrSurface::motionHighlightColor {0, 0, 0} |
Owning linear nonnegative motion-highlight RGB; zero disables the effect. Multiplies final albedo by 1+color*interpolated mesh highlight, after the translucency albedo snapshot. Render-thread snapshot, no retained borrows.
在文件 PbrSurface.h 第 269 行定义.
◆ normalMode
| PbrNormalMode eve::graphics::PbrSurface::normalMode = PbrNormalMode::TangentXYZ |
Normal reconstruction; vegetation modes require a linear Normal texture and normalScale in [-8,8]. This owns only a value; texture lifetime follows textures[].
在文件 PbrSurface.h 第 242 行定义.
◆ normalScale
| float eve::graphics::PbrSurface::normalScale = 1 |
在文件 PbrSurface.h 第 221 行定义.
◆ occlusionStrength
| float eve::graphics::PbrSurface::occlusionStrength = 1 |
在文件 PbrSurface.h 第 221 行定义.
◆ specularColor
| std::array<float, 3> eve::graphics::PbrSurface::specularColor {1, 1, 1} |
在文件 PbrSurface.h 第 220 行定义.
◆ specularFactor
| float eve::graphics::PbrSurface::specularFactor = 1 |
在文件 PbrSurface.h 第 222 行定义.
◆ textures
| std::array<PbrTextureBinding, std::size_t(PbrTextureSlot::Count)> eve::graphics::PbrSurface::textures {} |
◆ translucency
| PbrTranslucency eve::graphics::PbrSurface::translucency {} |
Per-light vegetation backlighting. Native ambient RGB supplies the GI term. Positive maskAmount with enabled intensity requires a linear ORM texture; its alpha uses translucency.maskMinimum/Maximum remapping independently of colorMaskEnabled.
在文件 PbrSurface.h 第 253 行定义.
◆ unlit
| bool eve::graphics::PbrSurface::unlit = false |
◆ vegetationAlpha
| PbrVegetationAlpha eve::graphics::PbrSurface::vegetationAlpha {} |
◆ vegetationColor
| PbrVegetationColorStages eve::graphics::PbrSurface::vegetationColor {} |
在文件 PbrSurface.h 第 254 行定义.
◆ vegetationColors
| PbrVegetationColors eve::graphics::PbrSurface::vegetationColors {} |
◆ vegetationDetail
| PbrVegetationDetail eve::graphics::PbrSurface::vegetationDetail {} |
◆ vegetationEmission
| PbrVegetationEmission eve::graphics::PbrSurface::vegetationEmission {} |
在文件 PbrSurface.h 第 261 行定义.
◆ vegetationExtras
| PbrVegetationExtras eve::graphics::PbrSurface::vegetationExtras {} |
◆ vegetationGradient
| PbrVegetationGradient eve::graphics::PbrSurface::vegetationGradient {} |
在文件 PbrSurface.h 第 262 行定义.
◆ vegetationMotion
| PbrVegetationMotion eve::graphics::PbrSurface::vegetationMotion {} |
在文件 PbrSurface.h 第 259 行定义.
被这些函数引用 eve::graphics::webgpu::planPbrVariant(), eve::asset_graphics::VegetationSceneGpuRuntime::release(), eve::graphics::Material::setFoliageWind(), eve::graphics::Material::setFoliageWindTime(), eve::graphics::vulkan::Graphics::setMesh3DPbrSurface() , 以及 eve::graphics::webgpu::Graphics::setMesh3DPbrSurface().
◆ vegetationVertex
| PbrVegetationVertex eve::graphics::PbrSurface::vegetationVertex {} |
该结构体的文档由以下文件生成:
- src/modules/graphics/PbrSurface.h