LeviLamina
Loading...
Searching...
No Matches
ActorShaderManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/minecraft_renderer/renderer/MaterialPtr.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
12class BlockPos;
13class BlockSource;
14class LightTexture;
16class ScreenContext;
17class Vec2;
18class Vec4;
19struct Brightness;
20struct BrightnessPair;
22namespace LightPropagation { class LightVolumeManager; }
23namespace mce { class ActorConstants; }
24namespace mce { class Color; }
25namespace mce { class RenderContext; }
26// clang-format on
27
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mEntityMaterial;
33 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mTransparentEntityMaterial;
34 ::ll::TypedStorage<8, 16, ::mce::MaterialPtr> mStaticMaterial;
35 // NOLINTEND
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~ActorShaderManager();
41
42 virtual ::mce::Color _getOverlayColor(::Actor& actor, float) const;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI ActorShaderManager();
49
50 MCAPI ::mce::MaterialPtr& getEntityMaterial();
51
52 MCAPI ::mce::MaterialPtr& getStaticMaterial();
53
54 MCAPI ::mce::MaterialPtr& getTransparentEntityMaterial();
55
56 MCAPI void setupFoilShaderParameters(
57 ::ScreenContext& screenContext,
58 ::BaseActorRenderContext& entityContext,
59 ::Actor& entity,
60 ::mce::Color const& changeColor,
61 ::mce::Color const& changeColor2,
62 ::Vec2 const& uvScale,
63 float a,
64 ::Brightness lightEmission,
65 ::std::optional<::glm::vec3> const& lightEmissionColor,
66 bool allowOverlay
67 ) const;
68
69 MCAPI void setupShaderParameters(
70 ::ScreenContext& screenContext,
71 ::BaseActorRenderContext& entityContext,
72 ::Actor& actor,
73 float a
74 ) const;
75 // NOLINTEND
76
77public:
78 // static functions
79 // NOLINTBEGIN
80 MCAPI static ::mce::Color getOverlayColor(::Actor& actor, float);
81
82 MCAPI static void setEntityConstants(
83 ::mce::ActorConstants& entityConstants,
84 ::mce::RenderContext& tileLightColor,
85 ::mce::Color const& tileLightColorUV,
86 ::Vec2 const& blockLightColor,
87 ::glm::vec4 const& overlay,
88 ::mce::Color const& changeColor,
89 ::mce::Color const& changeColor2,
90 ::mce::Color const& glintColor,
91 ::mce::Color const& glintUVScale,
92 ::Vec2 const& uvAnim,
93 ::Vec4 const& uvOffset1,
94 float uvOffset2,
95 float uvRot1,
96 float uvRot2,
97 float
98 );
99
100 MCAPI static void setupFoilShaderParameters(::ScreenContext& screenContext, ::TextureUVCoordinateSet const& icon);
101
102 MCAPI static void setupFoilShaderParameters(
103 ::ScreenContext& screenContext,
104 ::mce::Color const& overlay,
105 ::mce::Color const& changeColor,
106 ::mce::Color const& changeColor2,
107 ::Vec2 const& uvScale
108 );
109
110 MCAPI static void setupShaderParameters(
111 ::ScreenContext& screenContext,
112 float br,
113 ::mce::Color const& overlayColor,
114 bool dimensionHasCeiling
115 );
116
117 MCAPI static void setupShaderParameters(
118 ::ScreenContext& screenContext,
119 ::mce::Color const& overlay,
120 ::mce::Color const& changeColor,
121 ::mce::Color const& changeColor2
122 );
123
124 MCAPI static void setupShaderParameters(
125 ::ScreenContext& screenContext,
126 ::BaseActorRenderContext& entityContext,
127 ::Actor& actor,
128 ::mce::Color const& overlay,
129 float,
130 ::Vec4 const& uvAnim
131 );
132
133 MCAPI static void setupShaderParameters(
134 ::ScreenContext& screenContext,
135 ::BaseActorRenderContext& entityContext,
136 ::Actor& actor,
137 ::mce::Color const& overlay,
138 float,
139 ::Brightness lightEmission,
140 ::std::optional<::glm::vec3> const& lightEmissionColor
141 );
142
143 MCAPI static void setupShaderParameters(
144 ::ScreenContext& screenContext,
145 ::BaseActorRenderContext& entityContext,
146 ::Actor& entity,
147 ::mce::Color const& overlay,
148 ::mce::Color const& tintColor,
149 ::mce::Color const& tintColor2,
150 float,
151 ::Brightness lightEmission,
152 ::std::optional<::glm::vec3> const& lightEmissionColor
153 );
154
155 MCAPI static void setupShaderParameters(
156 ::ScreenContext& screenContext,
157 ::BlockSource& source,
158 ::BrightnessPair const& lightColorUV,
159 ::glm::vec4 const& blockLightColor,
160 float ignoreLighting,
161 bool lightTexture,
162 ::LightTexture& uvScale,
163 ::Vec2 const& uvAnim,
164 ::Vec4 const&
165 );
166
167 MCAPI static void setupShaderParameters(
168 ::ScreenContext& screenContext,
169 ::BlockSource& source,
170 ::BlockPos const& pos,
171 float a,
172 bool ignoreLighting,
173 ::LightTexture& lightTexture,
174 ::std::weak_ptr<::LightPropagation::LightVolumeManager> const& lightVolumeManager,
175 ::Vec2 const& uvScale,
176 ::Vec4 const& uvAnim
177 );
178
179 MCAPI static void setupShaderParameters(
180 ::ScreenContext& screenContext,
181 ::BaseActorRenderContext& entityContext,
182 ::Actor& entity,
183 ::mce::Color const& overlay,
184 ::mce::Color const& changeColor,
185 ::mce::Color const& changeColor2,
186 ::Vec4 const& uvAnim,
187 float br,
188 float,
189 bool isEnchanted
190 );
191
192 MCAPI static void setupShaderParameters(
193 ::ScreenContext& screenContext,
194 ::mce::Color const& overlay,
195 ::mce::Color const& changeColor,
196 ::mce::Color const& changeColor2,
197 ::mce::Color const& glintColor,
198 float uvOffset1,
199 float uvOffset2,
200 float uvRot1,
201 float uvRot2,
202 ::Vec2 const& glintUVScale,
203 ::Vec4 const& uvAnim,
204 float
205 );
206
207 MCAPI static void setupShaderParameters(
208 ::ScreenContext& screenContext,
209 ::BlockSource& source,
210 ::BlockPos const& pos,
211 ::mce::Color const& changeColor,
212 ::mce::Color const& changeColor2,
213 float,
214 ::LightTexture& lightTexture,
215 ::std::weak_ptr<::LightPropagation::LightVolumeManager> const& lightVolumeManager,
216 ::Vec2 const& uvScale,
217 bool ignoreLighting,
218 ::Brightness lightEmission,
219 ::std::optional<::glm::vec3> const& lightEmissionColor
220 );
221
222 MCAPI static void setupShaderParameters(
223 ::ScreenContext& screenContext,
224 ::BaseActorRenderContext& entityContext,
225 ::Actor& entity,
226 ::mce::Color const& overlay,
227 ::mce::Color const& changeColor,
228 ::mce::Color const& changeColor2,
229 ::mce::Color const& glintColor,
230 float uvOffset1,
231 float uvOffset2,
232 float uvRot1,
233 float uvRot2,
234 ::Vec2 const& glintUVScale,
235 ::Vec4 const& uvAnim,
236 float br,
237 ::Brightness lightEmission,
238 ::std::optional<::glm::vec3> const& lightEmissionColor
239 );
240 // NOLINTEND
241
242public:
243 // static variables
244 // NOLINTBEGIN
245 MCAPI static ::ResourceLocation const& GLINT_ACTOR_TEXTURE_LOCATION();
246
247 MCAPI static ::ResourceLocation const& GLINT_ITEM_TEXTURE_LOCATION();
248 // NOLINTEND
249
250public:
251 // constructor thunks
252 // NOLINTBEGIN
253 MCAPI void* $ctor();
254 // NOLINTEND
255
256public:
257 // destructor thunk
258 // NOLINTBEGIN
259 MCAPI void $dtor();
260 // NOLINTEND
261
262public:
263 // virtual function thunks
264 // NOLINTBEGIN
265 MCAPI ::mce::Color $_getOverlayColor(::Actor& actor, float) const;
266 // NOLINTEND
267
268public:
269 // vftables
270 // NOLINTBEGIN
271 MCNAPI static void** $vftable();
272 // NOLINTEND
273};
Definition ActorShaderManager.h:5
static MCAPI void ** $vftable()
Definition Actor.h:123
Definition BaseActorRenderContext.h:5
Definition BlockPos.h:21
Definition BlockSource.h:72
Definition LightVolumeManager.h:7
Definition LightTexture.h:5
Definition ResourceLocation.h:15
Definition ScreenContext.h:5
Definition Vec2.h:5
Definition Vec4.h:5
Definition ActorConstants.h:7
Definition Color.h:13
Definition RenderContext.h:7
Definition BrightnessPair.h:8
Definition Brightness.h:8
Definition TextureUVCoordinateSet.h:5