From ebf53b59232e1dc9f052f9d8e55b5e211e0496ae Mon Sep 17 00:00:00 2001 From: iwubcode Date: Sat, 30 Dec 2023 03:02:28 -0600 Subject: [PATCH] graphics mod data for custom meshes --- .../Runtime/GraphicsModActionData.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h index 9385cbe5f3..5f4c3af4a5 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h +++ b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h @@ -12,18 +12,36 @@ #include "Common/CommonTypes.h" #include "Common/Matrix.h" #include "Common/SmallVector.h" +#include "VideoCommon/AbstractGfx.h" #include "VideoCommon/Assets/TextureAsset.h" #include "VideoCommon/ConstantManager.h" #include "VideoCommon/PixelShaderGen.h" namespace GraphicsModActionData { +struct MeshChunk +{ + std::span vertex_data; + std::span index_data; + u32 vertex_stride; + NativeVertexFormat* vertex_format; + PrimitiveType primitive_type; + u32 components_available; + Common::Matrix44 transform; + CullMode cull_mode = CullMode::Front; +}; struct DrawStarted { const Common::SmallVector& texture_units; + const NativeVertexFormat& current_vertex_format; + std::span original_mesh_data; + u32 current_components_available; bool* skip; std::optional* custom_pixel_shader; std::span* material_uniform_buffer; + std::optional* mesh_chunk; + u32* current_mesh_index; + bool* more_data; }; struct EFB