forked from Misaki/GhostEngine
Introduces a full-featured render graph system with pass culling, resource aliasing, and automatic barrier generation. Refactors resource and barrier APIs, improves error handling, and unifies result types. Renderer and render passes now use the new graph-based workflow. Updates shader includes, adds a blit shader, and improves HLSL parsing. Removes dynamic descriptor heaps in favor of persistent ones. Project file now includes the render graph module. Lays the foundation for advanced rendering features and improved memory efficiency.
37 lines
826 B
HLSL
37 lines
826 B
HLSL
#ifndef BUILTIN_PROPERTIES_HLSL
|
|
#define BUILTIN_PROPERTIES_HLSL
|
|
|
|
#include "F:/csharp/GhostEngine/Ghost.Graphics/Shaders/Includes/Common.hlsl"
|
|
|
|
struct PushConstantData
|
|
{
|
|
BYTE_ADDRESS_BUFFER globalBuffer;
|
|
BYTE_ADDRESS_BUFFER perViewBuffer;
|
|
BYTE_ADDRESS_BUFFER perObjectBuffer;
|
|
BYTE_ADDRESS_BUFFER perMaterialBuffer;
|
|
};
|
|
|
|
struct PerViewData
|
|
{
|
|
float4x4 viewMatrix;
|
|
float4x4 projectionMatrix;
|
|
float3 cameraPosition;
|
|
float nearClip;
|
|
float3 cameraDirection;
|
|
float farClip;
|
|
float4 screenSize; // xy: size, zw: 1/size
|
|
};
|
|
|
|
struct PerObjectData
|
|
{
|
|
float4x4 localToWorld;
|
|
float3 worldBoundsMin;
|
|
BYTE_ADDRESS_BUFFER vertexBuffer;
|
|
float3 worldBoundsMax;
|
|
BYTE_ADDRESS_BUFFER indexBuffer;
|
|
};
|
|
|
|
PushConstantData g_PushConstantData : register(b0);
|
|
|
|
#endif // BUILTIN_PROPERTIES_HLSL
|