Skip to content

Commit 52aae62

Browse files
committed
adaptation to use render pass scope
1 parent e9bb135 commit 52aae62

1 file changed

Lines changed: 18 additions & 19 deletions

File tree

ngsolve_webgpu/mesh.py

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -988,25 +988,24 @@ def update(self, options: RenderOptions):
988988
def render(self, options):
989989
if not hasattr(self, 'pipeline'):
990990
return
991-
render_pass = options.begin_render_pass()
992-
render_pass.setPipeline(self.pipeline)
993-
render_pass.setBindGroup(0, self.group)
994-
if self._n_instances_subdiv <= 0 or not self.symmetry:
995-
# Draw 1: flat first-4 faces (n_vertices=3)
996-
render_pass.draw(3, self._n_instances_flat)
997-
if self._n_instances_subdiv > 0:
998-
if self.symmetry:
999-
# Symmetry: single draw, shader skips excess sub-triangles
1000-
render_pass.draw(3 * self._subdivision ** 2, self.n_instances)
1001-
else:
1002-
# Draw 2: curved tet faces + non-tet extras (subdivided)
1003-
render_pass.draw(
1004-
3 * self._subdivision ** 2,
1005-
self._n_instances_subdiv,
1006-
firstVertex=0,
1007-
firstInstance=self._n_instances_flat,
1008-
)
1009-
render_pass.end()
991+
with options.render_pass_scope() as render_pass:
992+
render_pass.setPipeline(self.pipeline)
993+
render_pass.setBindGroup(0, self.group)
994+
if self._n_instances_subdiv <= 0 or not self.symmetry:
995+
# Draw 1: flat first-4 faces (n_vertices=3)
996+
render_pass.draw(3, self._n_instances_flat)
997+
if self._n_instances_subdiv > 0:
998+
if self.symmetry:
999+
# Symmetry: single draw, shader skips excess sub-triangles
1000+
render_pass.draw(3 * self._subdivision ** 2, self.n_instances)
1001+
else:
1002+
# Draw 2: curved tet faces + non-tet extras (subdivided)
1003+
render_pass.draw(
1004+
3 * self._subdivision ** 2,
1005+
self._n_instances_subdiv,
1006+
firstVertex=0,
1007+
firstInstance=self._n_instances_flat,
1008+
)
10101009

10111010
def get_export_interactions(self, options, buffer_registry):
10121011
from .cf import _shrink_export_interactions

0 commit comments

Comments
 (0)