MCPcopy
hub / github.com/ManimCommunity/manim / construct

Method construct

example_scenes/opengl.py:241–285  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

239
240class SimpleInlineFullScreenQuad(Scene):
241 def construct(self):
242 surface = FullScreenQuad(
243 self.renderer.context,
244 """
245 #version 330
246
247 uniform float v_red;
248 uniform float v_green;
249 uniform float v_blue;
250 out vec4 frag_color;
251
252 void main() {
253 frag_color = vec4(v_red, v_green, v_blue, 1);
254 }
255 """,
256 )
257 surface.shader.set_uniform("v_red", 0)
258 surface.shader.set_uniform("v_green", 0)
259 surface.shader.set_uniform("v_blue", 0)
260
261 increase = True
262 val = 0.5
263 surface.shader.set_uniform("v_red", val)
264 surface.shader.set_uniform("v_green", val)
265 surface.shader.set_uniform("v_blue", val)
266
267 def update_surface(mesh, dt):
268 nonlocal increase
269 nonlocal val
270 if increase:
271 val += dt
272 else:
273 val -= dt
274 if val >= 1:
275 increase = False
276 elif val <= 0:
277 increase = True
278 surface.shader.set_uniform("v_red", val)
279 surface.shader.set_uniform("v_green", val)
280 surface.shader.set_uniform("v_blue", val)
281
282 surface.add_updater(update_surface)
283
284 self.add(surface)
285 self.wait(5)
286
287
288class InlineShaderExample(Scene):

Callers

nothing calls this directly

Calls 5

FullScreenQuadClass · 0.85
set_uniformMethod · 0.80
waitMethod · 0.80
add_updaterMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected