Formalize visible render item header
This commit is contained in:
@@ -430,6 +430,7 @@ add_library(XCEngine STATIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderContext.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderCameraData.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/CameraRenderRequest.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/VisibleRenderItem.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/VisibleRenderObject.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/BuiltinPassContract.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderSceneUtility.h
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <XCEngine/Resources/Material/Material.h>
|
||||
#include <XCEngine/Resources/Mesh/Mesh.h>
|
||||
#include <XCEngine/Rendering/BuiltinPassContract.h>
|
||||
#include <XCEngine/Rendering/VisibleRenderObject.h>
|
||||
#include <XCEngine/Rendering/VisibleRenderItem.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstddef>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <XCEngine/Core/Math/Vector4.h>
|
||||
#include <XCEngine/Core/Math/Vector3.h>
|
||||
#include <XCEngine/Rendering/RenderCameraData.h>
|
||||
#include <XCEngine/Rendering/VisibleRenderObject.h>
|
||||
#include <XCEngine/Rendering/VisibleRenderItem.h>
|
||||
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <XCEngine/Core/Math/Vector3.h>
|
||||
#include <XCEngine/Rendering/RenderCameraData.h>
|
||||
#include <XCEngine/Rendering/VisibleRenderObject.h>
|
||||
#include <XCEngine/Rendering/VisibleRenderItem.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
33
engine/include/XCEngine/Rendering/VisibleRenderItem.h
Normal file
33
engine/include/XCEngine/Rendering/VisibleRenderItem.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCEngine/Core/Math/Matrix4.h>
|
||||
#include <XCEngine/Core/Types.h>
|
||||
#include <XCEngine/Resources/Mesh/Mesh.h>
|
||||
|
||||
namespace XCEngine {
|
||||
namespace Components {
|
||||
class GameObject;
|
||||
class MeshFilterComponent;
|
||||
class MeshRendererComponent;
|
||||
} // namespace Components
|
||||
|
||||
namespace Rendering {
|
||||
|
||||
struct VisibleRenderItem {
|
||||
Components::GameObject* gameObject = nullptr;
|
||||
Components::MeshFilterComponent* meshFilter = nullptr;
|
||||
Components::MeshRendererComponent* meshRenderer = nullptr;
|
||||
Resources::Mesh* mesh = nullptr;
|
||||
const Resources::Material* material = nullptr;
|
||||
Core::uint32 materialIndex = 0;
|
||||
Core::uint32 sectionIndex = 0;
|
||||
bool hasSection = false;
|
||||
Core::int32 renderQueue = 0;
|
||||
float cameraDistanceSq = 0.0f;
|
||||
Math::Matrix4x4 localToWorld = Math::Matrix4x4::Identity();
|
||||
};
|
||||
|
||||
using VisibleRenderObject = VisibleRenderItem;
|
||||
|
||||
} // namespace Rendering
|
||||
} // namespace XCEngine
|
||||
@@ -1,33 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCEngine/Core/Math/Matrix4.h>
|
||||
#include <XCEngine/Core/Types.h>
|
||||
#include <XCEngine/Resources/Mesh/Mesh.h>
|
||||
|
||||
namespace XCEngine {
|
||||
namespace Components {
|
||||
class GameObject;
|
||||
class MeshFilterComponent;
|
||||
class MeshRendererComponent;
|
||||
} // namespace Components
|
||||
|
||||
namespace Rendering {
|
||||
|
||||
struct VisibleRenderItem {
|
||||
Components::GameObject* gameObject = nullptr;
|
||||
Components::MeshFilterComponent* meshFilter = nullptr;
|
||||
Components::MeshRendererComponent* meshRenderer = nullptr;
|
||||
Resources::Mesh* mesh = nullptr;
|
||||
const Resources::Material* material = nullptr;
|
||||
Core::uint32 materialIndex = 0;
|
||||
Core::uint32 sectionIndex = 0;
|
||||
bool hasSection = false;
|
||||
Core::int32 renderQueue = 0;
|
||||
float cameraDistanceSq = 0.0f;
|
||||
Math::Matrix4x4 localToWorld = Math::Matrix4x4::Identity();
|
||||
};
|
||||
|
||||
using VisibleRenderObject = VisibleRenderItem;
|
||||
|
||||
} // namespace Rendering
|
||||
} // namespace XCEngine
|
||||
#include <XCEngine/Rendering/VisibleRenderItem.h>
|
||||
|
||||
Reference in New Issue
Block a user