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 a) const;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI ::mce::MaterialPtr& getEntityMaterial();
49
50 MCAPI ::mce::MaterialPtr& getStaticMaterial();
51
52 MCAPI ::mce::MaterialPtr& getTransparentEntityMaterial();
53
54 MCAPI void setupFoilShaderParameters(
55 ::ScreenContext& screenContext,
56 ::BaseActorRenderContext& entityContext,
57 ::Actor& entity,
58 ::mce::Color const& changeColor,
59 ::mce::Color const& changeColor2,
60 ::Vec2 const& uvScale,
61 float a,
62 ::Brightness lightEmission,
63 ::std::optional<::glm::vec3> const& lightEmissionColor,
64 bool allowOverlay
65 ) const;
66
67 MCAPI void setupFoilShaderParameters(
68 ::ScreenContext& screenContext,
69 ::BaseActorRenderContext& entityContext,
70 ::Actor& entity,
71 ::mce::Color const& overlayColor,
72 ::mce::Color const& changeColor,
73 ::mce::Color const& changeColor2,
74 ::Vec2 const& uvScale,
75 ::Vec4 const& uvAnim,
76 float br,
77 ::Brightness lightEmission,
78 ::std::optional<::glm::vec3> const& lightEmissionColor,
79 bool allowOverlay
80 ) const;
81
82 MCAPI void setupShaderParameters(
83 ::ScreenContext& screenContext,
84 ::BaseActorRenderContext& entityContext,
85 ::Actor& actor,
86 float a
87 ) const;
88 // NOLINTEND
89
90public:
91 // static functions
92 // NOLINTBEGIN
93 MCAPI static ::mce::Color getOverlayColor(::Actor& actor, float);
94
95 MCAPI static void setEntityConstants(
96 ::mce::ActorConstants& entityConstants,
97 ::mce::RenderContext& renderContext,
98 ::mce::Color const& tileLightColor,
99 ::Vec2 const& tileLightColorUV,
100 ::glm::vec4 const& blockLightColor,
101 ::mce::Color const& overlay,
102 ::mce::Color const& changeColor,
103 ::mce::Color const& changeColor2,
104 ::mce::Color const& glintColor,
105 ::Vec2 const& glintUVScale,
106 ::Vec4 const& uvAnim,
107 float uvOffset1,
108 float uvOffset2,
109 float uvRot1,
110 float uvRot2
111 );
112
113 MCAPI static void setupFoilShaderParameters(::ScreenContext& screenContext, ::TextureUVCoordinateSet const& icon);
114
115 MCAPI static void setupFoilShaderParameters(
116 ::ScreenContext& screenContext,
117 ::mce::Color const& overlay,
118 ::mce::Color const& changeColor,
119 ::mce::Color const& changeColor2,
120 ::Vec2 const& uvScale
121 );
122
123 MCAPI static void setupShaderParameters(
124 ::ScreenContext& screenContext,
125 float br,
126 ::mce::Color const& overlayColor,
127 bool dimensionHasCeiling
128 );
129
130 MCAPI static void setupShaderParameters(
131 ::ScreenContext& screenContext,
132 ::mce::Color const& overlay,
133 ::mce::Color const& changeColor,
134 ::mce::Color const& changeColor2
135 );
136
137 MCAPI static void setupShaderParameters(
138 ::ScreenContext& screenContext,
139 ::BaseActorRenderContext& entityContext,
140 ::Actor& actor,
141 ::mce::Color const& overlay,
142 float,
143 ::Vec4 const& uvAnim
144 );
145
146 MCAPI static void setupShaderParameters(
147 ::ScreenContext& screenContext,
148 ::BaseActorRenderContext& entityContext,
149 ::Actor& actor,
150 ::mce::Color const& overlay,
151 float,
152 ::Brightness lightEmission,
153 ::std::optional<::glm::vec3> const& lightEmissionColor
154 );
155
156 MCAPI static void setupShaderParameters(
157 ::ScreenContext& screenContext,
158 ::BlockSource& source,
159 ::BrightnessPair const& lightColorUV,
160 ::glm::vec4 const& blockLightColor,
161 float,
162 bool ignoreLighting,
163 ::LightTexture& lightTexture,
164 ::Vec2 const& uvScale,
165 ::Vec4 const& uvAnim
166 );
167
168 MCAPI static void setupShaderParameters(
169 ::ScreenContext& screenContext,
170 ::BlockSource& source,
171 ::BlockPos const& pos,
172 float a,
173 bool ignoreLighting,
174 ::LightTexture& lightTexture,
175 ::std::weak_ptr<::LightPropagation::LightVolumeManager> const& lightVolumeManager,
176 ::Vec2 const& uvScale,
177 ::Vec4 const& uvAnim
178 );
179
180 MCAPI static void setupShaderParameters(
181 ::ScreenContext& screenContext,
182 ::BaseActorRenderContext& entityContext,
183 ::Actor& entity,
184 ::mce::Color const& overlay,
185 ::mce::Color const& changeColor,
186 ::mce::Color const& changeColor2,
187 ::Vec4 const& uvAnim,
188 float br,
189 float,
190 bool isEnchanted
191 );
192
193 MCAPI static void setupShaderParameters(
194 ::ScreenContext& screenContext,
195 ::mce::Color const& overlay,
196 ::mce::Color const& changeColor,
197 ::mce::Color const& changeColor2,
198 ::mce::Color const& glintColor,
199 float uvOffset1,
200 float uvOffset2,
201 float uvRot1,
202 float uvRot2,
203 ::Vec2 const& glintUVScale,
204 ::Vec4 const& uvAnim,
205 float
206 );
207
208 MCAPI static void setupShaderParameters(
209 ::ScreenContext& screenContext,
210 ::BlockSource& source,
211 ::BlockPos const& pos,
212 ::mce::Color const& changeColor,
213 ::mce::Color const& changeColor2,
214 float,
215 ::LightTexture& lightTexture,
216 ::std::weak_ptr<::LightPropagation::LightVolumeManager> const& lightVolumeManager,
217 ::Vec2 const& uvScale,
218 bool ignoreLighting,
219 ::Brightness lightEmission,
220 ::std::optional<::glm::vec3> const& lightEmissionColor
221 );
222
223 MCAPI static void setupShaderParameters(
224 ::ScreenContext& screenContext,
225 ::BaseActorRenderContext& entityContext,
226 ::Actor& entity,
227 ::mce::Color const& overlay,
228 ::mce::Color const& changeColor,
229 ::mce::Color const& changeColor2,
230 ::mce::Color const& glintColor,
231 float uvOffset1,
232 float uvOffset2,
233 float uvRot1,
234 float uvRot2,
235 ::Vec2 const& glintUVScale,
236 ::Vec4 const& uvAnim,
237 float br,
238 ::Brightness lightEmission,
239 ::std::optional<::glm::vec3> const& lightEmissionColor
240 );
241 // NOLINTEND
242
243public:
244 // static variables
245 // NOLINTBEGIN
246 MCAPI static ::ResourceLocation const& GLINT_ACTOR_TEXTURE_LOCATION();
247
248 MCAPI static ::ResourceLocation const& GLINT_ITEM_TEXTURE_LOCATION();
249 // NOLINTEND
250
251public:
252 // destructor thunk
253 // NOLINTBEGIN
254 MCAPI void $dtor();
255 // NOLINTEND
256
257public:
258 // virtual function thunks
259 // NOLINTBEGIN
260 MCAPI ::mce::Color $_getOverlayColor(::Actor& actor, float a) const;
261 // NOLINTEND
262};
Definition ActorShaderManager.h:5
Definition Actor.h:106
Definition BaseActorRenderContext.h:5
Definition BlockPos.h:19
Definition BlockSource.h:71
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