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