group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
Asset.hpp
Go to the documentation of this file.
1//
2// Created by mysteriousjim on 4/16/2026.
3//
4
5#ifndef GROUP2_MODEL_H
6#define GROUP2_MODEL_H
7
8#define TEX_CHANNELS 1
9#include "glm/glm.hpp"
10
11#include <unordered_map>
12#include <vector>
13
14using MeshIdInt = uint32_t;
15using ModelIdInt = uint32_t;
16using TexIdInt = uint32_t;
17
18namespace Asset
19{
20
22{
23 void* srcData;
24 SDL_GPUBuffer* gpuBuff;
25 Uint32 bufferSize;
26};
27
28struct Vertex
29{
30 glm::vec3 position;
31 glm::vec3 normal;
32 glm::vec2 texUV;
33};
34
35struct Mesh
36{
37 std::vector<Vertex> vertexData_;
38 std::vector<uint32_t> indexData_;
41};
42
48
49inline std::unordered_map<MeshIdInt, Mesh> meshes_;
50inline std::unordered_map<MeshIdInt, Model> models_;
51inline std::unordered_map<MeshIdInt, uint32_t> textures_;
52
53} // namespace Asset
54#endif // GROUP2_MODEL_H
uint32_t TexIdInt
Definition Asset.hpp:16
uint32_t MeshIdInt
Definition Asset.hpp:14
#define TEX_CHANNELS
Definition Asset.hpp:8
uint32_t ModelIdInt
Definition Asset.hpp:15
Definition Asset.hpp:19
std::unordered_map< MeshIdInt, uint32_t > textures_
Definition Asset.hpp:51
std::unordered_map< MeshIdInt, Model > models_
Definition Asset.hpp:50
std::unordered_map< MeshIdInt, Mesh > meshes_
Definition Asset.hpp:49
Definition Asset.hpp:22
Uint32 bufferSize
Definition Asset.hpp:25
SDL_GPUBuffer * gpuBuff
Definition Asset.hpp:24
void * srcData
Definition Asset.hpp:23
Definition Asset.hpp:36
GeoBufferInfo iBufferInfo_
Definition Asset.hpp:40
std::vector< Vertex > vertexData_
Definition Asset.hpp:37
std::vector< uint32_t > indexData_
Definition Asset.hpp:38
GeoBufferInfo vBufferInfo_
Definition Asset.hpp:39
Definition Asset.hpp:44
TexIdInt texId_[TEX_CHANNELS]
Definition Asset.hpp:46
MeshIdInt meshId_
Definition Asset.hpp:45
Definition Asset.hpp:29
glm::vec3 normal
Definition Asset.hpp:31
glm::vec3 position
Definition Asset.hpp:30
glm::vec2 texUV
Definition Asset.hpp:32