LeviLamina
Loading...
Searching...
No Matches
AmbientOcclusionCalculator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/block/AOBlockData.h"
7#include "mc/deps/core/math/Color.h"
8#include "mc/world/level/BlockPos.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
14struct BrightnessPair;
15struct PrecompCache;
16// clang-format on
17
19public:
20 // AmbientOcclusionCalculator inner types declare
21 // clang-format off
22 struct AocConfiguration;
23 // clang-format on
24
25 // AmbientOcclusionCalculator inner types define
26 struct AocConfiguration {};
27
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<1, 1, bool> mTintSides;
32 ::ll::TypedStorage<1, 1, bool> mDoSeasons;
33 ::ll::TypedStorage<1, 1, bool> mTouchEdge;
34 ::ll::TypedStorage<4, 24, float[6]> mFaceShading;
35 ::ll::TypedStorage<8, 8, ::BlockTessellatorCache&> mCache;
36 ::ll::TypedStorage<4, 12, ::BlockPos const> mCenterPos;
37 ::ll::TypedStorage<8, 8, ::Block const&> mCenterBlock;
38 ::ll::TypedStorage<4, 16, ::mce::Color> mBaseColor;
39 ::ll::TypedStorage<8, 8, ::BrightnessPair*> mOutputLightTexturePositons;
40 ::ll::TypedStorage<8, 8, ::mce::Color*> mOutputColors;
41 ::ll::TypedStorage<8, 624, ::std::array<::AOBlockData, 26>> mAOBlockCacheData;
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 AmbientOcclusionCalculator& operator=(AmbientOcclusionCalculator const&);
47 AmbientOcclusionCalculator(AmbientOcclusionCalculator const&);
48 AmbientOcclusionCalculator();
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI AmbientOcclusionCalculator(
54 ::BlockPos const& centerPos,
55 ::Block const& centerBlock,
56 ::BlockTessellatorCache& cache,
57 ::AmbientOcclusionCalculator::AocConfiguration const& configuration
58 );
59
60 MCAPI ::PrecompCache _getCache();
61
62 MCAPI void calculate(uchar face);
63
64 MCAPI void calculateBoxAverage(bool);
65
66 MCAPI void calculateWithCache(uchar face);
67 // NOLINTEND
68
69public:
70 // constructor thunks
71 // NOLINTBEGIN
72 MCAPI void* $ctor(
73 ::BlockPos const& centerPos,
74 ::Block const& centerBlock,
75 ::BlockTessellatorCache& cache,
76 ::AmbientOcclusionCalculator::AocConfiguration const& configuration
77 );
78 // NOLINTEND
79};
Definition AmbientOcclusionCalculator.h:5
Definition BlockTessellatorCache.h:5
Definition Block.h:43
Definition AmbientOcclusionCalculator.h:13
Definition BrightnessPair.h:8
Definition PrecompCache.h:5