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 AmbientOcclusionCalculator(
61 ::BlockPos const& centerPos,
62 ::Block const& centerBlock,
63 ::BlockTessellatorCache& cache,
64 ::AmbientOcclusionCalculator::AocConfiguration const& configuration
65 );
66
67 MCAPI ::PrecompCache _getCache();
68
69 MCAPI void calculate(uchar face);
70
71 MCAPI void calculateBoxAverage(bool);
72
73 MCAPI void calculateWithCache(uchar face);
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCAPI void* $ctor(
80 ::BlockPos const& centerPos,
81 ::Block const& centerBlock,
82 ::BlockTessellatorCache& cache,
83 ::AmbientOcclusionCalculator::AocConfiguration const& configuration
84 );
85 // NOLINTEND
86};
Definition AmbientOcclusionCalculator.h:5
Definition BlockTessellatorCache.h:5
Definition Block.h:43
Definition AmbientOcclusionCalculator.h:13
Definition BrightnessPair.h:8
Definition PrecompCache.h:5