-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy pathRenderResource.hpp
More file actions
48 lines (42 loc) · 1.5 KB
/
RenderResource.hpp
File metadata and controls
48 lines (42 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#pragma once
#include <RED4ext/Common.hpp>
#include <RED4ext/Rendering/RenderObject.hpp>
#include <RED4ext/Scripting/Natives/Generated/rend/Chunk.hpp>
#include <RED4ext/Scripting/Natives/Vector4.hpp>
#include <cstdint>
namespace RED4ext
{
struct IRenderResource : IRenderObject
{
using AllocatorType = Memory::RenderResourcesAllocator;
virtual ~IRenderResource() = default;
virtual CName GetResourceName() = 0;
virtual char** sub_20() = 0;
virtual int32_t sub_28() = 0;
};
RED4EXT_ASSERT_SIZE(IRenderResource, 0x10);
struct CRenderMesh : IRenderResource
{
Vector4 quantizationScale; // 10
Vector4 quantizationBias; // 20
uint32_t vertexBufferID; // 30 - GpuApi buffer ID
uint32_t indexBufferID; // 34
uint8_t unk38[0xa0 - 0x38]; // 38
DynArray<rend::Chunk> chunks; // A0
uint8_t unkB0[0x158 - 0xb0]; // B0
};
RED4EXT_ASSERT_SIZE(CRenderMesh, 0x158);
RED4EXT_ASSERT_OFFSET(CRenderMesh, quantizationScale, 0x10);
RED4EXT_ASSERT_OFFSET(CRenderMesh, quantizationBias, 0x20);
RED4EXT_ASSERT_OFFSET(CRenderMesh, vertexBufferID, 0x30);
RED4EXT_ASSERT_OFFSET(CRenderMesh, indexBufferID, 0x34);
RED4EXT_ASSERT_OFFSET(CRenderMesh, chunks, 0xA0);
struct CRenderMorphTargetMesh : CRenderMesh
{
uint8_t unk158[0x160 - 0x158]; // 158
uint32_t baseVertexBufferID; // 160
uint8_t unk164[0x168 - 0x164]; // 164
};
RED4EXT_ASSERT_SIZE(CRenderMorphTargetMesh, 0x168);
RED4EXT_ASSERT_OFFSET(CRenderMorphTargetMesh, baseVertexBufferID, 0x160);
} // namespace RED4ext