@@ -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