LeviLamina
Loading...
Searching...
No Matches
PointLightShadowProbe.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/render_dragon/atlas/AtlasTileHandle.h"
7#include "mc/external/render_dragon/rendering/TextureCubeFace.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace dragon::atlas { struct TileRenderConfig; }
12namespace dragon::rendering { struct Camera; }
13// clang-format on
14
15namespace PointLighting {
16
18public:
19 // PointLightShadowProbe inner types declare
20 // clang-format off
21 struct FaceState;
22 // clang-format on
23
24 // PointLightShadowProbe inner types define
25 struct FaceState {
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 32, ::dragon::atlas::AtlasTileHandle> mActiveTileHandle;
30 ::ll::TypedStorage<2, 2, ushort> mActiveDimension;
31 ::ll::TypedStorage<8, 32, ::dragon::atlas::AtlasTileHandle> mPendingTileHandle;
32 ::ll::TypedStorage<2, 2, ushort> mPendingDimension;
33 ::ll::TypedStorage<8, 8, uint64> mLastGrownMs;
34 ::ll::TypedStorage<8, 8, uint64> mLastShrinkMs;
35 ::ll::TypedStorage<8, 8, uint64> mLastInvalidateMs;
36 ::ll::TypedStorage<8, 8, uint64> mLastBudgetSkipMs;
37 ::ll::TypedStorage<8, 8, uint64> mFailureCount;
38 // NOLINTEND
39 };
40
41public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<4, 12, ::glm::vec3> mLightWorldPosition;
45 ::ll::TypedStorage<1, 1, uchar> mVanillaBrightness;
46 ::ll::TypedStorage<8, 720, ::std::array<::PointLighting::PointLightShadowProbe::FaceState, 6>> mFaceStates;
47 ::ll::TypedStorage<8, 8, uint64> mLastAccessedMs;
48 ::ll::TypedStorage<1, 1, bool> mIsVisibleThisFrame;
49 ::ll::TypedStorage<1, 1, bool> mIsFreshProbe;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI ::dragon::atlas::TileRenderConfig createTileRenderConfig(
56 ::glm::vec3 const& worldOrigin,
57 ::dragon::rendering::TextureCubeFace face,
58 float nearPlane,
59 float farPlane
60 ) const;
61 // NOLINTEND
62
63public:
64 // static functions
65 // NOLINTBEGIN
66 MCAPI static ::dragon::rendering::Camera createTileCamera(
67 ::glm::vec3 const& probePos,
68 ::glm::vec3 const& worldOrigin,
69 ::dragon::rendering::TextureCubeFace face,
70 ushort dimension,
71 float nearPlane,
72 float farPlane
73 );
74 // NOLINTEND
75};
76
77} // namespace PointLighting
Definition PointLightShadowProbe.h:7
Definition PointLightShadowProbe.h:15
Definition TileRenderConfig.h:7
Definition Camera.h:7