Dandelion 2.0.0
A light-weight 3D builder for educational usage
载入中...
搜索中...
未找到
Mesh结构体 参考

用于同步渲染数据的三角形 Mesh更多...

#include <mesh.hpp>

Public 成员函数

 Mesh ()=default
 Mesh (const Mesh &other)
 Mesh (Mesh &&other)=default
void clear () noexcept
 清空 Mesh 中所有的图元数据。

Public 属性

std::vector< Eigen::Vector3f > positions
std::vector< Eigen::Vector3f > normals
std::vector< std::array< unsigned int, 2 > > edges
std::vector< std::array< unsigned int, 3 > > faces
bool modified
std::string name

详细描述

用于同步渲染数据的三角形 Mesh

这个类负责表示可以直接同步到 GPU 的三角形 Mesh 数据。

外界读取 Mesh 中的顶点坐标、法线,以及边和三角形的索引时一般应该使用 positions/normals 等存储向量或定长数组的容器;而渲染器需要向 GPU 同步数据时,则应该直接使用存储 floatunsigned int 的扁平 vector

构造及析构函数说明

◆ Mesh() [1/3]

Mesh::Mesh ( )
default

默认构造一个空的 Mesh

◆ Mesh() [2/3]

Mesh::Mesh ( const Mesh & other)

复制另一个 Mesh 中所有的数据。

◆ Mesh() [3/3]

Mesh::Mesh ( Mesh && other)
default

调用各成员的移动构造。

成员函数说明

◆ clear()

void Mesh::clear ( )
noexcept

清空 Mesh 中所有的图元数据。

该方法只清空直接保存数据的容器(公有成员),不会清空用于向 GPU 传输数据的 buffer (私有成员)。

类成员变量说明

◆ edges

std::vector<std::array<unsigned int, 2> > Mesh::edges

边的顶点索引。

◆ faces

std::vector<std::array<unsigned int, 3> > Mesh::faces

面片的顶点索引。

◆ modified

bool Mesh::modified

相较于上次渲染,该 Mesh 是否被修改过。

◆ name

std::string Mesh::name

名称。

◆ normals

std::vector<Eigen::Vector3f> Mesh::normals

顶点法线。

◆ positions

std::vector<Eigen::Vector3f> Mesh::positions

顶点坐标。


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