@@ -116,7 +116,8 @@ def __init__(self,
116116 corruptor = None ,
117117 depth = False ,
118118 segmentation = False ,
119- scene_option = None ):
119+ scene_option = None ,
120+ render_flag_overrides = None ):
120121 """Initializes this observable.
121122
122123 Args:
@@ -152,6 +153,12 @@ def __init__(self,
152153 scene_option: An optional `wrapper.MjvOption` instance that can be used to
153154 render the scene with custom visualization options. If None then the
154155 default options will be used.
156+ render_flag_overrides: Optional mapping specifying rendering flags to
157+ override. The keys can be either lowercase strings or `mjtRndFlag` enum
158+ values, and the values are the overridden flag values, e.g.
159+ `{'wireframe': True}` or `{mujoco.mjtRndFlag.mjRND_WIREFRAME: True}`.
160+ See `mujoco.mjtRndFlag` for the set of valid flags. Must be None if
161+ either `depth` or `segmentation` is True.
155162
156163 Raises:
157164 ValueError: if `mjcf_element` is not a <camera> element.
@@ -179,6 +186,7 @@ def __init__(self,
179186 self ._depth = depth
180187 self ._segmentation = segmentation
181188 self ._scene_option = scene_option
189+ self ._render_flag_overrides = render_flag_overrides
182190 super ().__init__ (update_interval , buffer_size , delay , aggregator , corruptor )
183191
184192 @property
@@ -213,6 +221,22 @@ def segmentation(self):
213221 def segmentation (self , value ):
214222 self ._segmentation = value
215223
224+ @property
225+ def scene_option (self ):
226+ return self ._scene_option
227+
228+ @scene_option .setter
229+ def scene_option (self , value ):
230+ self ._scene_option = value
231+
232+ @property
233+ def render_flag_overrides (self ):
234+ return self ._render_flag_overrides
235+
236+ @render_flag_overrides .setter
237+ def render_flag_overrides (self , value ):
238+ self ._render_flag_overrides = value
239+
216240 @property
217241 def array_spec (self ):
218242 if self ._depth :
@@ -245,7 +269,8 @@ def get_observation():
245269 camera_id = self ._mjcf_element .full_identifier ,
246270 depth = self ._depth ,
247271 segmentation = self ._segmentation ,
248- scene_option = self ._scene_option )
272+ scene_option = self ._scene_option ,
273+ render_flag_overrides = self ._render_flag_overrides )
249274 return np .atleast_3d (pixels )
250275
251276 return get_observation
0 commit comments