载入中...
搜索中...
未找到
eve::graphics::Renderable3D::MeshRenderer结构体 参考

#include <RenderSystem3D.h>

Public 成员函数

MeshmeshForDistance (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 属性

Meshmesh = nullptr
 
Texturetexture = nullptr
 
TexturenormalTexture = nullptr
 
TextureheightTexture = nullptr
 
Shadershader = nullptr
 
Materialmaterial = nullptr
 Optional packed material; when set, overrides texture/shader/PBR fields below.
 
ShaderxrayShader = 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).
 
Camera3Dcamera = 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].
 
MeshlodMeshes [kMaxLodLevels] = {}
 
float lodDistances [kMaxLodLevels - 1] = {25.f, 60.f, 120.f}
 

静态 Public 属性

static constexpr int kMaxLodLevels = 4
 
static constexpr int kMaxParts = Material::kMaxPartsHint
 

详细描述

在文件 RenderSystem3D.h85 行定义.

成员函数说明

◆ effectiveCastShadow()

bool eve::graphics::Renderable3D::MeshRenderer::effectiveCastShadow ( ) const
inline

在文件 RenderSystem3D.h162 行定义.

引用了 castShadow, eve::graphics::Material::getCastShadow() , 以及 material.

◆ effectiveHair()

bool eve::graphics::Renderable3D::MeshRenderer::effectiveHair ( ) const
inline

在文件 RenderSystem3D.h157 行定义.

引用了 isHair, eve::graphics::Material::isTransparentHair() , 以及 material.

◆ lodLevelForDistance()

int eve::graphics::Renderable3D::MeshRenderer::lodLevelForDistance ( float  distance) const
inline

在文件 RenderSystem3D.h148 行定义.

引用了 lodCount , 以及 lodDistances.

◆ meshForDistance()

Mesh * eve::graphics::Renderable3D::MeshRenderer::meshForDistance ( float  distance) const
inline

Pick LOD mesh for a camera distance; falls back to mesh when LOD disabled.

在文件 RenderSystem3D.h140 行定义.

引用了 lodCount, lodDistances, lodMeshes , 以及 mesh.

◆ usesParts()

bool eve::graphics::Renderable3D::MeshRenderer::usesParts ( ) const
inline

在文件 RenderSystem3D.h155 行定义.

引用了 partCount.

类成员变量说明

◆ a

float eve::graphics::Renderable3D::MeshRenderer::a = 1

在文件 RenderSystem3D.h105 行定义.

◆ b

float eve::graphics::Renderable3D::MeshRenderer::b = 1

在文件 RenderSystem3D.h105 行定义.

◆ camera

Camera3D* eve::graphics::Renderable3D::MeshRenderer::camera = nullptr

在文件 RenderSystem3D.h121 行定义.

◆ castOcclusion

bool eve::graphics::Renderable3D::MeshRenderer::castOcclusion = true

在文件 RenderSystem3D.h118 行定义.

◆ castShadow

bool eve::graphics::Renderable3D::MeshRenderer::castShadow = true

在文件 RenderSystem3D.h116 行定义.

被这些函数引用 effectiveCastShadow().

◆ g

float eve::graphics::Renderable3D::MeshRenderer::g = 1

在文件 RenderSystem3D.h105 行定义.

◆ heightTexture

Texture* eve::graphics::Renderable3D::MeshRenderer::heightTexture = nullptr

在文件 RenderSystem3D.h92 行定义.

◆ isHair

bool eve::graphics::Renderable3D::MeshRenderer::isHair = false

Alpha-blended hair/fur card pass (drawn after opaque meshes, back-to-front).

在文件 RenderSystem3D.h120 行定义.

被这些函数引用 effectiveHair().

◆ kMaxLodLevels

constexpr int eve::graphics::Renderable3D::MeshRenderer::kMaxLodLevels = 4
staticconstexpr

◆ kMaxParts

constexpr int eve::graphics::Renderable3D::MeshRenderer::kMaxParts = Material::kMaxPartsHint
staticconstexpr

◆ 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.h135 行定义.

被这些函数引用 lodLevelForDistance() , 以及 meshForDistance().

◆ lodDistances

float eve::graphics::Renderable3D::MeshRenderer::lodDistances[kMaxLodLevels - 1] = {25.f, 60.f, 120.f}

在文件 RenderSystem3D.h137 行定义.

被这些函数引用 lodLevelForDistance() , 以及 meshForDistance().

◆ lodMeshes

Mesh* eve::graphics::Renderable3D::MeshRenderer::lodMeshes[kMaxLodLevels] = {}

在文件 RenderSystem3D.h136 行定义.

被这些函数引用 meshForDistance().

◆ material

Material* eve::graphics::Renderable3D::MeshRenderer::material = nullptr

Optional packed material; when set, overrides texture/shader/PBR fields below.

在文件 RenderSystem3D.h95 行定义.

被这些函数引用 effectiveCastShadow() , 以及 effectiveHair().

◆ mesh

Mesh* eve::graphics::Renderable3D::MeshRenderer::mesh = nullptr

在文件 RenderSystem3D.h89 行定义.

被这些函数引用 meshForDistance().

◆ metallic

float eve::graphics::Renderable3D::MeshRenderer::metallic = 0.f

在文件 RenderSystem3D.h106 行定义.

◆ normalTexture

Texture* eve::graphics::Renderable3D::MeshRenderer::normalTexture = nullptr

在文件 RenderSystem3D.h91 行定义.

◆ parallaxMaxLayers

float eve::graphics::Renderable3D::MeshRenderer::parallaxMaxLayers = 32.f

在文件 RenderSystem3D.h113 行定义.

◆ parallaxMinLayers

float eve::graphics::Renderable3D::MeshRenderer::parallaxMinLayers = 8.f

在文件 RenderSystem3D.h112 行定义.

◆ parallaxScale

float eve::graphics::Renderable3D::MeshRenderer::parallaxScale = 0.f

在文件 RenderSystem3D.h111 行定义.

◆ 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.h127 行定义.

被这些函数引用 usesParts().

◆ parts

ModelPart eve::graphics::Renderable3D::MeshRenderer::parts[kMaxParts] = {}

在文件 RenderSystem3D.h128 行定义.

◆ r

float eve::graphics::Renderable3D::MeshRenderer::r = 1

在文件 RenderSystem3D.h105 行定义.

◆ receiveLight

bool eve::graphics::Renderable3D::MeshRenderer::receiveLight = true

在文件 RenderSystem3D.h115 行定义.

◆ receiveShadow

bool eve::graphics::Renderable3D::MeshRenderer::receiveShadow = true

在文件 RenderSystem3D.h117 行定义.

◆ roughness

float eve::graphics::Renderable3D::MeshRenderer::roughness = 0.45f

在文件 RenderSystem3D.h107 行定义.

◆ shader

Shader* eve::graphics::Renderable3D::MeshRenderer::shader = nullptr

在文件 RenderSystem3D.h93 行定义.

◆ texBombRot

float eve::graphics::Renderable3D::MeshRenderer::texBombRot = 1.f

在文件 RenderSystem3D.h110 行定义.

◆ texBombScale

float eve::graphics::Renderable3D::MeshRenderer::texBombScale = 4.f

在文件 RenderSystem3D.h108 行定义.

◆ texBombStrength

float eve::graphics::Renderable3D::MeshRenderer::texBombStrength = 0.f

在文件 RenderSystem3D.h109 行定义.

◆ texture

Texture* eve::graphics::Renderable3D::MeshRenderer::texture = nullptr

在文件 RenderSystem3D.h90 行定义.

◆ visible

bool eve::graphics::Renderable3D::MeshRenderer::visible = true

在文件 RenderSystem3D.h114 行定义.

◆ xrayHighlight

bool eve::graphics::Renderable3D::MeshRenderer::xrayHighlight = false

在文件 RenderSystem3D.h104 行定义.

◆ 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.h103 行定义.


该结构体的文档由以下文件生成: