#pragma once #include #include namespace XCEngine { namespace Components { class GameObject; class GaussianSplatRendererComponent; } // namespace Components namespace Resources { class GaussianSplat; class Material; } // namespace Resources namespace Rendering { struct VisibleGaussianSplatItem { Components::GameObject* gameObject = nullptr; Components::GaussianSplatRendererComponent* gaussianSplatRenderer = nullptr; Resources::GaussianSplat* gaussianSplat = nullptr; const Resources::Material* material = nullptr; Core::int32 renderQueue = 0; float cameraDistanceSq = 0.0f; Math::Matrix4x4 localToWorld = Math::Matrix4x4::Identity(); }; } // namespace Rendering } // namespace XCEngine