2727 HitFilter ,
2828)
2929from nerte .render .ray_depth_filter import RayDepthFilter
30+ from nerte .render .meta_info_filter import MetaInfoFilter
3031from nerte .util .random_color_generator import RandomColorGenerator
3132
3233# pseudo-random color generator
@@ -131,24 +132,24 @@ def render( # pylint: disable=R0913
131132 perspective projection.
132133 """
133134
134- for projection_mode in ProjectionMode :
135- # for mode in (ImageRenderer.Mode.PERSPECTIVE,):
136- print ( f"rendering { projection_mode .name } projection ..." )
137- renderer = ImageFilterRenderer (
138- projection_mode = projection_mode ,
139- filtr = filtr ,
140- print_warings = False ,
141- )
142- renderer . render ( scene = scene , geometry = geometry )
143- renderer . apply_filter ( )
144- os . makedirs ( output_path , exist_ok = True )
145- image = renderer .last_image ()
146- if image is not None :
147- image . save (
148- f" { output_path } / { file_prefix } _ { projection_mode . name } .png"
149- )
150- if show :
151- image .show ()
135+ projection_mode = ProjectionMode . PERSPECTIVE
136+ print (
137+ f"rendering { projection_mode .name } projection for filter type"
138+ f" ' { type ( filtr ). __name__ } ' ..."
139+ )
140+ renderer = ImageFilterRenderer (
141+ projection_mode = projection_mode ,
142+ filtr = filtr ,
143+ print_warings = False ,
144+ )
145+ renderer . render ( scene = scene , geometry = geometry )
146+ renderer .apply_filter ()
147+ os . makedirs ( output_path , exist_ok = True )
148+ image = renderer . last_image ()
149+ if image is not None :
150+ image . save ( f" { output_path } / { file_prefix } _ { projection_mode . name } .png" )
151+ if show :
152+ image .show ()
152153
153154
154155def main () -> None :
@@ -157,10 +158,11 @@ def main() -> None:
157158 # NOTE: Increase the canvas dimension to improve the image quality.
158159 # This will also increase rendering time!
159160 scene = make_scene (canvas_dimension = 100 )
161+ max_steps = 25
160162 geo = SwirlCylindricRungeKuttaGeometry (
161163 max_ray_depth = math .inf ,
162- step_size = 0.5 ,
163- max_steps = 25 ,
164+ step_size = 0.2 ,
165+ max_steps = max_steps ,
164166 swirl_strength = 0.25 ,
165167 )
166168
@@ -190,6 +192,19 @@ def main() -> None:
190192 show = show ,
191193 )
192194
195+ # meta info filter
196+ filtr = MetaInfoFilter (
197+ meta_data_key = "steps" , min_value = 0 , max_value = max_steps
198+ )
199+ render (
200+ scene = scene ,
201+ geometry = geo ,
202+ filtr = filtr ,
203+ output_path = output_path ,
204+ file_prefix = file_prefix + "_meta_info_steps_filter" ,
205+ show = show ,
206+ )
207+
193208
194209if __name__ == "__main__" :
195210 main ()
0 commit comments