#include <RenderSystem3D.h>
Public 成员函数 | |
| Mesh * | meshForDistance (float distance) const |
Pick LOD mesh for a camera distance; falls back to mesh when LOD disabled. | |
| int | lodLevelForDistance (float distance) const |
| bool | usesParts () const |
| bool | effectiveHair () const |
| bool | effectiveCastShadow () const |
Public 属性 | |
| Mesh * | mesh = nullptr |
| Texture * | texture = nullptr |
| Texture * | normalTexture = nullptr |
| Texture * | heightTexture = nullptr |
| Shader * | shader = nullptr |
| Material * | material = nullptr |
| Optional packed material; when set, overrides texture/shader/PBR fields below. | |
| Shader * | xrayShader = nullptr |
| Optional X-ray shader used to paint this entity's occluded silhouette (see Shader::setXray). When xrayHighlight is set, the entity is skipped from the G-buffer (so its pixels record occluder depth) and drawn a second time over the scene with the X-ray shader. Only the part hidden behind buildings shows the highlight; visible parts render normally. | |
| bool | xrayHighlight = false |
| float | r = 1 |
| float | g = 1 |
| float | b = 1 |
| float | a = 1 |
| float | metallic = 0.f |
| float | roughness = 0.45f |
| float | texBombScale = 4.f |
| float | texBombStrength = 0.f |
| float | texBombRot = 1.f |
| float | parallaxScale = 0.f |
| float | parallaxMinLayers = 8.f |
| float | parallaxMaxLayers = 32.f |
| bool | visible = true |
| bool | receiveLight = true |
| bool | castShadow = true |
| bool | receiveShadow = true |
| bool | castOcclusion = true |
| bool | isHair = false |
| Alpha-blended hair/fur card pass (drawn after opaque meshes, back-to-front). | |
| Camera3D * | camera = nullptr |
| int | partCount = 0 |
Multi-part model slots (one mesh + material per Assimp mesh / body region). When partCount > 0, each part is drawn; otherwise mesh + material/fields. | |
| ModelPart | parts [kMaxParts] = {} |
| int | lodCount = 0 |
Optional geometric LOD. When lodCount > 0, lodMeshes[0..lodCount) are used instead of mesh based on camera distance. lodDistances[i] is the distance at which rendering switches from lodMeshes[i] to lodMeshes[i+1]. | |
| Mesh * | lodMeshes [kMaxLodLevels] = {} |
| float | lodDistances [kMaxLodLevels - 1] = {25.f, 60.f, 120.f} |
静态 Public 属性 | |
| static constexpr int | kMaxLodLevels = 4 |
| static constexpr int | kMaxParts = Material::kMaxPartsHint |
详细描述
在文件 RenderSystem3D.h 第 85 行定义.
成员函数说明
◆ effectiveCastShadow()
|
inline |
在文件 RenderSystem3D.h 第 162 行定义.
引用了 castShadow, eve::graphics::Material::getCastShadow() , 以及 material.
◆ effectiveHair()
|
inline |
在文件 RenderSystem3D.h 第 157 行定义.
引用了 isHair, eve::graphics::Material::isTransparentHair() , 以及 material.
◆ lodLevelForDistance()
|
inline |
在文件 RenderSystem3D.h 第 148 行定义.
引用了 lodCount , 以及 lodDistances.
◆ meshForDistance()
|
inline |
Pick LOD mesh for a camera distance; falls back to mesh when LOD disabled.
在文件 RenderSystem3D.h 第 140 行定义.
引用了 lodCount, lodDistances, lodMeshes , 以及 mesh.
◆ usesParts()
|
inline |
在文件 RenderSystem3D.h 第 155 行定义.
引用了 partCount.
类成员变量说明
◆ a
| float eve::graphics::Renderable3D::MeshRenderer::a = 1 |
在文件 RenderSystem3D.h 第 105 行定义.
◆ b
| float eve::graphics::Renderable3D::MeshRenderer::b = 1 |
在文件 RenderSystem3D.h 第 105 行定义.
◆ camera
| Camera3D* eve::graphics::Renderable3D::MeshRenderer::camera = nullptr |
在文件 RenderSystem3D.h 第 121 行定义.
◆ castOcclusion
| bool eve::graphics::Renderable3D::MeshRenderer::castOcclusion = true |
在文件 RenderSystem3D.h 第 118 行定义.
◆ castShadow
| bool eve::graphics::Renderable3D::MeshRenderer::castShadow = true |
在文件 RenderSystem3D.h 第 116 行定义.
被这些函数引用 effectiveCastShadow().
◆ g
| float eve::graphics::Renderable3D::MeshRenderer::g = 1 |
在文件 RenderSystem3D.h 第 105 行定义.
◆ heightTexture
| Texture* eve::graphics::Renderable3D::MeshRenderer::heightTexture = nullptr |
在文件 RenderSystem3D.h 第 92 行定义.
◆ isHair
| bool eve::graphics::Renderable3D::MeshRenderer::isHair = false |
Alpha-blended hair/fur card pass (drawn after opaque meshes, back-to-front).
在文件 RenderSystem3D.h 第 120 行定义.
被这些函数引用 effectiveHair().
◆ kMaxLodLevels
|
staticconstexpr |
在文件 RenderSystem3D.h 第 86 行定义.
被这些函数引用 eve::graphics::Renderable3D::clearMeshLod() , 以及 eve::graphics::Renderable3D::setMeshLod().
◆ kMaxParts
|
staticconstexpr |
在文件 RenderSystem3D.h 第 87 行定义.
被这些函数引用 eve::graphics::Renderable3D::clearParts() , 以及 eve::graphics::Renderable3D::setPart().
◆ lodCount
| int eve::graphics::Renderable3D::MeshRenderer::lodCount = 0 |
Optional geometric LOD. When lodCount > 0, lodMeshes[0..lodCount) are used instead of mesh based on camera distance. lodDistances[i] is the distance at which rendering switches from lodMeshes[i] to lodMeshes[i+1].
在文件 RenderSystem3D.h 第 135 行定义.
被这些函数引用 lodLevelForDistance() , 以及 meshForDistance().
◆ lodDistances
| float eve::graphics::Renderable3D::MeshRenderer::lodDistances[kMaxLodLevels - 1] = {25.f, 60.f, 120.f} |
在文件 RenderSystem3D.h 第 137 行定义.
被这些函数引用 lodLevelForDistance() , 以及 meshForDistance().
◆ lodMeshes
| Mesh* eve::graphics::Renderable3D::MeshRenderer::lodMeshes[kMaxLodLevels] = {} |
在文件 RenderSystem3D.h 第 136 行定义.
被这些函数引用 meshForDistance().
◆ material
| Material* eve::graphics::Renderable3D::MeshRenderer::material = nullptr |
Optional packed material; when set, overrides texture/shader/PBR fields below.
在文件 RenderSystem3D.h 第 95 行定义.
被这些函数引用 effectiveCastShadow() , 以及 effectiveHair().
◆ mesh
| Mesh* eve::graphics::Renderable3D::MeshRenderer::mesh = nullptr |
在文件 RenderSystem3D.h 第 89 行定义.
被这些函数引用 meshForDistance().
◆ metallic
| float eve::graphics::Renderable3D::MeshRenderer::metallic = 0.f |
在文件 RenderSystem3D.h 第 106 行定义.
◆ normalTexture
| Texture* eve::graphics::Renderable3D::MeshRenderer::normalTexture = nullptr |
在文件 RenderSystem3D.h 第 91 行定义.
◆ parallaxMaxLayers
| float eve::graphics::Renderable3D::MeshRenderer::parallaxMaxLayers = 32.f |
在文件 RenderSystem3D.h 第 113 行定义.
◆ parallaxMinLayers
| float eve::graphics::Renderable3D::MeshRenderer::parallaxMinLayers = 8.f |
在文件 RenderSystem3D.h 第 112 行定义.
◆ parallaxScale
| float eve::graphics::Renderable3D::MeshRenderer::parallaxScale = 0.f |
在文件 RenderSystem3D.h 第 111 行定义.
◆ partCount
| int eve::graphics::Renderable3D::MeshRenderer::partCount = 0 |
Multi-part model slots (one mesh + material per Assimp mesh / body region). When partCount > 0, each part is drawn; otherwise mesh + material/fields.
在文件 RenderSystem3D.h 第 127 行定义.
被这些函数引用 usesParts().
◆ parts
在文件 RenderSystem3D.h 第 128 行定义.
◆ r
| float eve::graphics::Renderable3D::MeshRenderer::r = 1 |
在文件 RenderSystem3D.h 第 105 行定义.
◆ receiveLight
| bool eve::graphics::Renderable3D::MeshRenderer::receiveLight = true |
在文件 RenderSystem3D.h 第 115 行定义.
◆ receiveShadow
| bool eve::graphics::Renderable3D::MeshRenderer::receiveShadow = true |
在文件 RenderSystem3D.h 第 117 行定义.
◆ roughness
| float eve::graphics::Renderable3D::MeshRenderer::roughness = 0.45f |
在文件 RenderSystem3D.h 第 107 行定义.
◆ shader
| Shader* eve::graphics::Renderable3D::MeshRenderer::shader = nullptr |
在文件 RenderSystem3D.h 第 93 行定义.
◆ texBombRot
| float eve::graphics::Renderable3D::MeshRenderer::texBombRot = 1.f |
在文件 RenderSystem3D.h 第 110 行定义.
◆ texBombScale
| float eve::graphics::Renderable3D::MeshRenderer::texBombScale = 4.f |
在文件 RenderSystem3D.h 第 108 行定义.
◆ texBombStrength
| float eve::graphics::Renderable3D::MeshRenderer::texBombStrength = 0.f |
在文件 RenderSystem3D.h 第 109 行定义.
◆ texture
| Texture* eve::graphics::Renderable3D::MeshRenderer::texture = nullptr |
在文件 RenderSystem3D.h 第 90 行定义.
◆ visible
| bool eve::graphics::Renderable3D::MeshRenderer::visible = true |
在文件 RenderSystem3D.h 第 114 行定义.
◆ xrayHighlight
| bool eve::graphics::Renderable3D::MeshRenderer::xrayHighlight = false |
在文件 RenderSystem3D.h 第 104 行定义.
◆ xrayShader
| Shader* eve::graphics::Renderable3D::MeshRenderer::xrayShader = nullptr |
Optional X-ray shader used to paint this entity's occluded silhouette (see Shader::setXray). When xrayHighlight is set, the entity is skipped from the G-buffer (so its pixels record occluder depth) and drawn a second time over the scene with the X-ray shader. Only the part hidden behind buildings shows the highlight; visible parts render normally.
在文件 RenderSystem3D.h 第 103 行定义.
该结构体的文档由以下文件生成:
- src/modules/graphics/RenderSystem3D.h