slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
DX12GlobalConst.h
浏览该文件的文档.
1//
2// Created by zhou_zhengming on 2026/5/22.
3//
4
5#pragma once
6#include <DirectXMath.h>
7#include <array>
8#include <cstddef>
9#include <cstdint>
10
11namespace z8 {
12class DX12Render;
13class DX12RenderBatch;
14
15struct DX12Light {
16 DirectX::XMFLOAT3 Position;
17 float p0;
18 DirectX::XMFLOAT3 Strength;
19 float p1;
20 DirectX::XMFLOAT3 Direction;
21 float p2;
22};
23
29 static constexpr uint32_t MaxLights = 8;
30
31 DirectX::XMFLOAT4X4A ViewProj;
32 std::array<DX12Light, MaxLights> Lights;
33 DirectX::XMFLOAT4 AmbientLight;
34 DirectX::XMFLOAT3 Camera;
36 DirectX::XMFLOAT2 ScreenSize;
38 DirectX::XMFLOAT2 UIOrigin = {0.0f, 0.0f};
39 float TimeCost;
40 float TimeTotal;
42 float UIScale = 1.0f;
43 float Padding = 0.0f;
44
45 void Update(DX12Render* R);
48 static unsigned AlignedSize();
49
50private:
51 void WriteToBuffer(DX12Render* R) const;
52};
53static_assert(offsetof(DX12GlobalConst, LightCount) == 476,
54 "Light count must match cbPass packing in Const.hlsl.");
55static_assert(offsetof(DX12GlobalConst, UIScale) == 504,
56 "UI scale must match cbPass packing in Const.hlsl.");
57static_assert(sizeof(DX12GlobalConst) == 512,
58 "Global constants must match cbPass size in Const.hlsl.");
59
60
61}
62
63
64
65
Definition DX12RenderBatch.h:43
Definition DX12Render.h:33
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
世界矩阵 描述坐标系,左手坐标系 使用 DirectX12 坐标系的描述
Definition Application.h:15
CPU 侧全局常量
Definition DX12GlobalConst.h:28
std::array< DX12Light, MaxLights > Lights
Definition DX12GlobalConst.h:32
float UIScale
Definition DX12GlobalConst.h:42
static constexpr uint32_t MaxLights
Definition DX12GlobalConst.h:29
DirectX::XMFLOAT2 ScreenSize
Definition DX12GlobalConst.h:36
uint32_t LightCount
Definition DX12GlobalConst.h:35
float TimeTotal
Definition DX12GlobalConst.h:40
float TimeCost
Definition DX12GlobalConst.h:39
DirectX::XMFLOAT4X4A ViewProj
Definition DX12GlobalConst.h:31
void Update(DX12Render *R)
Definition DX12GlobalConst.cpp:17
DirectX::XMFLOAT2 UIOrigin
Definition DX12GlobalConst.h:38
void WriteToBatch(DX12RenderBatch &batch) const
Definition DX12GlobalConst.cpp:54
DirectX::XMFLOAT4 AmbientLight
Definition DX12GlobalConst.h:33
DirectX::XMFLOAT3 Camera
Definition DX12GlobalConst.h:34
static unsigned AlignedSize()
Definition DX12GlobalConst.cpp:50
void WriteToBuffer(DX12Render *R) const
Definition DX12GlobalConst.cpp:59
float Padding
Definition DX12GlobalConst.h:43
Definition DX12GlobalConst.h:15
float p1
Definition DX12GlobalConst.h:19
float p2
Definition DX12GlobalConst.h:21
float p0
Definition DX12GlobalConst.h:17
DirectX::XMFLOAT3 Direction
Definition DX12GlobalConst.h:20
DirectX::XMFLOAT3 Strength
Definition DX12GlobalConst.h:18
DirectX::XMFLOAT3 Position
Definition DX12GlobalConst.h:16