PixelBullet
0.0.1
A C++ game engine
Loading...
Searching...
No Matches
engine
src
assets
static_mesh_internal.h
1
#pragma once
2
3
#include "pixelbullet/graphics/mesh_types.h"
4
5
#include <cstdint>
6
#include <filesystem>
7
#include <optional>
8
#include <string>
9
#include <vector>
10
11
namespace
pixelbullet
12
{
13
class
Filesystem
;
14
class
VirtualPath
;
15
16
namespace
static_mesh_internal
17
{
18
struct
LoadData
19
{
20
std::vector<MeshVertex> vertices;
21
std::vector<uint32_t> indices;
22
MeshBounds
bounds;
23
bool
has_bounds =
false
;
24
};
25
26
void
ResetLoadData(
LoadData
& data)
noexcept
;
27
void
IncludeBoundsPosition(
LoadData
& data,
const
glm::vec3& position)
noexcept
;
28
void
GenerateTangents(std::vector<MeshVertex>& vertices,
const
std::vector<uint32_t>& indices,
const
std::filesystem::path& resolved_path,
29
uint32_t texcoord_index = 0u);
30
31
[[nodiscard]]
bool
LoadStaticMeshData(
const
Filesystem
& filesystem,
const
VirtualPath
& asset_path,
LoadData
& data);
32
[[nodiscard]] std::optional<MeshBounds> LoadStaticMeshBounds(
const
Filesystem
& filesystem,
const
VirtualPath
& asset_path);
33
[[nodiscard]]
bool
SaveStaticMeshData(
const
Filesystem
& filesystem,
const
VirtualPath
& asset_path,
const
LoadData
& data,
34
std::string* error_message =
nullptr
);
35
}
// namespace static_mesh_internal
36
}
// namespace pixelbullet
pixelbullet::Filesystem
Definition
filesystem.h:19
pixelbullet::VirtualPath
Definition
virtual_path.h:10
pixelbullet::MeshBounds
Definition
mesh_types.h:38
pixelbullet::static_mesh_internal::LoadData
Definition
static_mesh_internal.h:19
Generated by
1.16.1