slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
BaseMesh.h
浏览该文件的文档.
1//
2// Created by zhou_zhengming on 2026/5/11.
3//
4
5#pragma once
6
7#include "BuiltinResource.h"
9#include "Vertex.h"
10#include <string>
11#include <vector>
12
13namespace z8 {
14enum class NormalTy {
17};
18
23class BaseMesh : public Resource{
24public:
26 std::vector<Vertex> V;
27 std::vector<IndexTy> I;
28
29 // 导入 FBX 模型的法线不能再做跨顶点平均,否则会破坏硬边或精确曲率
31
36
37 unsigned VertexByteSize() const { return V.size() * sizeof(Vertex); }
38 unsigned VertexElementSize() const { return sizeof(Vertex); }
39 unsigned VertexCount() const { return V.size(); }
40 unsigned IndexByteSize() const { return I.size() * sizeof(IndexTy); }
41 unsigned IndexCount() const { return I.size(); }
42 void ComputeNormals();
43 bool Validate(std::string* error = nullptr) const;
44 virtual void Update(){}
45};
46
48 BaseMesh Parse(std::string FileName);
49};
50} // namespace z8
Definition BaseMesh.h:23
BaseMesh()
Definition BaseMesh.h:32
std::vector< IndexTy > I
Definition BaseMesh.h:27
virtual void Update()
Definition BaseMesh.h:44
bool Validate(std::string *error=nullptr) const
Definition BaseMesh.cpp:72
void ComputeNormals()
Definition BaseMesh.cpp:13
unsigned IndexCount() const
Definition BaseMesh.h:41
unsigned IndexByteSize() const
Definition BaseMesh.h:40
NormalTy NormalMode
Definition BaseMesh.h:30
std::vector< Vertex > V
Definition BaseMesh.h:26
unsigned VertexElementSize() const
Definition BaseMesh.h:38
unsigned VertexCount() const
Definition BaseMesh.h:39
uint16_t IndexTy
Definition BaseMesh.h:25
unsigned VertexByteSize() const
Definition BaseMesh.h:37
Definition ResourceRef.h:20
std::string Id
Definition ResourceRef.h:22
ResourceTy Type
Definition ResourceRef.h:23
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
constexpr std::string_view MeshPrefix
Definition BuiltinResource.h:6
世界矩阵 描述坐标系,左手坐标系 使用 DirectX12 坐标系的描述
Definition Application.h:15
NormalTy
Definition BaseMesh.h:14
Definition BaseMesh.h:47
BaseMesh Parse(std::string FileName)