aboutsummaryrefslogtreecommitdiff
path: root/utility/opengl.py
diff options
context:
space:
mode:
Diffstat (limited to 'utility/opengl.py')
-rw-r--r--utility/opengl.py54
1 files changed, 0 insertions, 54 deletions
diff --git a/utility/opengl.py b/utility/opengl.py
index f305eae..456259b 100644
--- a/utility/opengl.py
+++ b/utility/opengl.py
@@ -8,60 +8,6 @@ from mako.template import Template
from pathlib import Path
from OpenGL.GL import *
-from OpenGL.arrays import vbo
-
-class MomentsVertexBuffer:
- def __init__(self, lattice):
- self.lattice = lattice
-
- self.np_moments = numpy.ndarray(shape=(self.lattice.memory.volume, 4), dtype=self.lattice.memory.float_type)
- self.gl_moments = vbo.VBO(data=self.np_moments, usage=GL_DYNAMIC_DRAW, target=GL_ARRAY_BUFFER)
- self.gl_moments.bind()
- self.cl_gl_moments = cl.GLBuffer(self.lattice.context, mf.READ_WRITE, int(self.gl_moments))
-
- self.build_kernel()
-
- def build_kernel(self):
- program_src = Template(filename = str(Path(__file__).parent/'../template/opengl.mako')).render(
- descriptor = self.lattice.descriptor,
- geometry = self.lattice.geometry,
- memory = self.lattice.memory,
-
- moments_subexpr = self.lattice.moments[0],
- moments_assignment = self.lattice.moments[1],
- collide_subexpr = self.lattice.collide[0],
- collide_assignment = self.lattice.collide[1],
-
- float_type = self.lattice.float_type[1],
-
- ccode = sympy.ccode
- )
- self.program = cl.Program(self.lattice.context, program_src).build(self.lattice.compiler_args)
-
- def bind(self):
- self.gl_moments.bind()
- glEnableClientState(GL_VERTEX_ARRAY)
- glVertexPointer(4, GL_FLOAT, 0, self.gl_moments)
-
- def collect(self):
- cl.enqueue_acquire_gl_objects(self.lattice.queue, [self.cl_gl_moments])
-
- if self.lattice.tick:
- self.program.collect_gl_moments(
- self.lattice.queue,
- self.lattice.grid.size(),
- self.lattice.layout,
- self.lattice.memory.cl_pop_b,
- self.lattice.memory.cl_material,
- self.cl_gl_moments)
- else:
- self.program.collect_gl_moments(
- self.lattice.queue,
- self.lattice.grid.size(),
- self.lattice.layout,
- self.lattice.memory.cl_pop_a,
- self.lattice.memory.cl_material,
- self.cl_gl_moments)
class MomentsTexture: