2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-03-25 14:03:03 +00:00

feat: add vertex declaration to t6 techset dumps

This commit is contained in:
Jan Laupetin
2025-11-15 18:57:39 +00:00
parent 9b526adaed
commit 930b116ac0
6 changed files with 309 additions and 60 deletions

View File

@@ -6,6 +6,54 @@
namespace techset
{
struct CommonStreamRoutingSourceInfo
{
const char* name;
const char* abbreviation;
bool optional;
};
struct CommonStreamRoutingDestinationInfo
{
const char* name;
const char* abbreviation;
};
typedef std::uint8_t CommonStreamSource;
typedef std::uint8_t CommonStreamDestination;
class CommonStreamRoutingInfos
{
public:
CommonStreamRoutingInfos(const CommonStreamRoutingSourceInfo* sourceInfos,
size_t sourceCount,
const CommonStreamRoutingDestinationInfo* destinationNames,
size_t destinationCount);
[[nodiscard]] const char* GetSourceName(CommonStreamSource source) const;
[[nodiscard]] const char* GetSourceAbbreviation(CommonStreamSource source) const;
[[nodiscard]] bool IsSourceOptional(CommonStreamSource source) const;
[[nodiscard]] const char* GetDestinationName(CommonStreamDestination destination) const;
[[nodiscard]] const char* GetDestinationAbbreviation(CommonStreamDestination destination) const;
private:
std::vector<CommonStreamRoutingSourceInfo> m_sources;
std::vector<CommonStreamRoutingDestinationInfo> m_destinations;
};
class CommonStreamRouting
{
public:
CommonStreamSource m_source;
CommonStreamDestination m_destination;
};
class CommonVertexDeclaration
{
public:
std::vector<CommonStreamRouting> m_routing;
};
class CommonTechniqueShader
{
public:
@@ -27,6 +75,7 @@ namespace techset
DxVersion m_dx_version;
CommonTechniqueShader m_vertex_shader;
CommonTechniqueShader m_pixel_shader;
CommonVertexDeclaration m_vertex_declaration;
};
class CommonTechnique