This repository has been archived by the owner on May 27, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathD3D11ElementAttributeClass.h
97 lines (76 loc) · 2.36 KB
/
D3D11ElementAttributeClass.h
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#pragma once
#include <string>
#include <vector>
#include <unordered_map>
class D3D11Element {
public:
std::wstring SemanticName = L"";
std::wstring ExtractSemanticName = L"";
std::wstring SemanticIndex = L"";
std::wstring OutputSemanticIndex = L"";
std::wstring Format = L"";
std::wstring InputSlot = L"0";
std::wstring InputSlotClass = L"per-vertex";
std::wstring InstanceDataStepRate = L"0";
int ByteWidth = 0;
std::wstring ExtractVBFile = L"";
std::wstring ExtractTechnique = L"";
std::wstring Category = L"";
int ElementNumber = 0;
int AlignedByteOffset = 0;
};
class D3D11ElementAttributeClass {
public:
std::wstring GameType;
std::unordered_map<std::wstring, D3D11Element> ElementNameD3D11ElementMap;
std::unordered_map<std::wstring, D3D11Element> ExtractSemanticNameD3D11ElementMap;
std::unordered_map <std::wstring, std::wstring> CategorySlotMap;
std::unordered_map <std::wstring, std::wstring> CategoryTopologyMap;
std::unordered_map <std::wstring, std::wstring> CategoryDrawCategoryMap;
std::vector<std::wstring> orderedFullElementList;
bool normalIs4D = false;
bool reserve10Texcoord = false;
bool reserve10Normal = false;
bool reserve10Position = false;
bool patchBLENDWEIGHTS = false;
bool ifUseMaxStrideTexcoordIfCannotFindPerfect = false;
//Add support for different games
//Honkai Impact 3rd
void SetHI3Body();
void SetHI3Body2();
void SetHI3Object();
//Naraka Bladepoint
void SetNBPBody();
void SetNBPObject();
void SetNBPWeapon();
void SetNBPWeapon2();
void SetNBPObjectIB();
void SetNBPEyeball();
//Genshin Impact
void SetGIBody();
void SetGIBodyNPC();
void SetGIObject();
void SetGIObject2();
void SetGIObject3();
//Honkai StarRail
void SetHSRBody();
void SetHSRBodyEnemy();
void SetHSRBodyNPC();
void SetHSRHair();
void SetHSRWeapon();
void SetHSRWeaponType2();
void SetHSRWeaponType3();
void SetHSRObject();
void SetHSRObjectIB();
void SetHSR210Body();
void SetHSRBodyObject();
void SetHSRObject2();
//Zenless Zero Zone
void SetZZZBody();
void SetZZZBodyType2();
void SetZZZWeapon();
void SetZZZObject();
void SetZZZObjectType2();
D3D11ElementAttributeClass();
D3D11ElementAttributeClass(std::wstring);
};