MCPcopy Create free account
hub / github.com/StanislavPetrovV/3D-Graphics-Engine / ShaderProgram

Class ShaderProgram

shader_program.py:3–23  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1
2
3class ShaderProgram:
4 def __init__(self, ctx):
5 self.ctx = ctx
6 self.programs = {}
7 self.programs['default'] = self.get_program('default')
8 self.programs['skybox'] = self.get_program('skybox')
9 self.programs['advanced_skybox'] = self.get_program('advanced_skybox')
10 self.programs['shadow_map'] = self.get_program('shadow_map')
11
12 def get_program(self, shader_program_name):
13 with open(f'shaders/{shader_program_name}.vert') as file:
14 vertex_shader = file.read()
15
16 with open(f'shaders/{shader_program_name}.frag') as file:
17 fragment_shader = file.read()
18
19 program = self.ctx.program(vertex_shader=vertex_shader, fragment_shader=fragment_shader)
20 return program
21
22 def destroy(self):
23 [program.release() for program in self.programs.values()]

Callers 1

__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected