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 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<1, 1, bool> mBakeFaceShading;
31 ::ll::TypedStorage<1, 1, bool> mBrightShadingForEmissiveBlocks;
32 // NOLINTEND
33 };
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<1, 1, bool> mTintSides;
39 ::ll::TypedStorage<1, 1, bool> mDoSeasons;
40 ::ll::TypedStorage<1, 1, bool> mTouchEdge;
41 ::ll::TypedStorage<4, 24, float[6]> mFaceShading;
42 ::ll::TypedStorage<8, 8, ::BlockTessellatorCache&> mCache;
43 ::ll::TypedStorage<4, 12, ::BlockPos const> mCenterPos;
44 ::ll::TypedStorage<8, 8, ::Block const&> mCenterBlock;
45 ::ll::TypedStorage<4, 16, ::mce::Color> mBaseColor;
46 ::ll::TypedStorage<8, 8, ::BrightnessPair*> mOutputLightTexturePositons;
47 ::ll::TypedStorage<8, 8, ::mce::Color*> mOutputColors;
48 ::ll::TypedStorage<8, 624, ::std::array<::AOBlockData, 26>> mAOBlockCacheData;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 AmbientOcclusionCalculator& operator=(AmbientOcclusionCalculator const&);
54 AmbientOcclusionCalculator(AmbientOcclusionCalculator const&);
55 AmbientOcclusionCalculator();
56
57public:
58 // member functions
59 // NOLINTBEGIN
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};
Definition AmbientOcclusionCalculator.h:5
Definition BlockTessellatorCache.h:5
Definition Block.h:69
Definition AmbientOcclusionCalculator.h:13
Definition BrightnessPair.h:8
Definition PrecompCache.h:5