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/RenderContext.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderCameraData.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/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/VisibleRenderObject.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/BuiltinPassContract.h
|
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/BuiltinPassContract.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderSceneUtility.h
|
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/RenderSceneUtility.h
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <XCEngine/Resources/Material/Material.h>
|
#include <XCEngine/Resources/Material/Material.h>
|
||||||
#include <XCEngine/Resources/Mesh/Mesh.h>
|
#include <XCEngine/Resources/Mesh/Mesh.h>
|
||||||
#include <XCEngine/Rendering/BuiltinPassContract.h>
|
#include <XCEngine/Rendering/BuiltinPassContract.h>
|
||||||
#include <XCEngine/Rendering/VisibleRenderObject.h>
|
#include <XCEngine/Rendering/VisibleRenderItem.h>
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#include <XCEngine/Core/Math/Vector4.h>
|
#include <XCEngine/Core/Math/Vector4.h>
|
||||||
#include <XCEngine/Core/Math/Vector3.h>
|
#include <XCEngine/Core/Math/Vector3.h>
|
||||||
#include <XCEngine/Rendering/RenderCameraData.h>
|
#include <XCEngine/Rendering/RenderCameraData.h>
|
||||||
#include <XCEngine/Rendering/VisibleRenderObject.h>
|
#include <XCEngine/Rendering/VisibleRenderItem.h>
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include <XCEngine/Core/Math/Vector3.h>
|
#include <XCEngine/Core/Math/Vector3.h>
|
||||||
#include <XCEngine/Rendering/RenderCameraData.h>
|
#include <XCEngine/Rendering/RenderCameraData.h>
|
||||||
#include <XCEngine/Rendering/VisibleRenderObject.h>
|
#include <XCEngine/Rendering/VisibleRenderItem.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <vector>
|
#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
|
#pragma once
|
||||||
|
|
||||||
#include <XCEngine/Core/Math/Matrix4.h>
|
#include <XCEngine/Rendering/VisibleRenderItem.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
|
|
||||||
|
|||||||
@@ -43,7 +43,9 @@ add_subdirectory(RHI)
|
|||||||
add_subdirectory(Resources)
|
add_subdirectory(Resources)
|
||||||
add_subdirectory(Input)
|
add_subdirectory(Input)
|
||||||
add_subdirectory(Editor)
|
add_subdirectory(Editor)
|
||||||
add_subdirectory(NewEditor)
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/NewEditor")
|
||||||
|
add_subdirectory(NewEditor)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
find_program(XCENGINE_POWERSHELL_EXECUTABLE NAMES powershell pwsh REQUIRED)
|
find_program(XCENGINE_POWERSHELL_EXECUTABLE NAMES powershell pwsh REQUIRED)
|
||||||
|
|||||||
Reference in New Issue
Block a user