in env_humanoid_tracking.py [0:0]
def render(self, rm, ground_height=0.0):
colors = rm.COLORS_FOR_AGENTS
rm.gl.glEnable(rm.gl.GL_LIGHTING)
rm.gl.glEnable(rm.gl.GL_BLEND)
rm.gl.glBlendFunc(rm.gl.GL_SRC_ALPHA, rm.gl.GL_ONE_MINUS_SRC_ALPHA)
for i in range(self._num_agent):
sim_agent = self._agent[i]
char_info = self._char_info[i]
if rm.flag['sim_model']:
rm.gl.glEnable(rm.gl.GL_DEPTH_TEST)
if rm.flag['shadow']:
rm.gl.glPushMatrix()
d = np.array([1, 1, 1])
d = d - math.projectionOnVector(d, char_info.v_up_env)
offset = (0.001 + ground_height) * char_info.v_up_env
rm.gl.glTranslatef(offset[0], offset[1], offset[2])
rm.gl.glScalef(d[0], d[1], d[2])
rm.bullet_render.render_model(self._pb_client,
sim_agent._body_id,
draw_link=True,
draw_link_info=False,
draw_joint=False,
draw_joint_geom=False,
ee_indices=None,
color=[0.5,0.5,0.5,1.0],
lighting=False)
rm.gl.glPopMatrix()
rm.bullet_render.render_model(self._pb_client,
sim_agent._body_id,
draw_link=True,
draw_link_info=True,
draw_joint=rm.flag['joint'],
draw_joint_geom=True,
ee_indices=char_info.end_effector_indices,
color=colors[i])
if rm.flag['collision'] and self._elapsed_time > 0.0:
rm.gl.glPushAttrib(rm.gl.GL_LIGHTING|rm.gl.GL_DEPTH_TEST|rm.gl.GL_BLEND)
rm.gl.glEnable(rm.gl.GL_BLEND)
rm.bullet_render.render_contacts(self._pb_client, sim_agent._body_id)
rm.gl.glPopAttrib()
if rm.flag['com_vel']:
p, Q, v, w = sim_agent.get_root_state()
p, v = sim_agent.get_com_and_com_vel()
rm.gl_render.render_arrow(p, p+v, D=0.01, color=[0, 0, 0, 1])
if rm.flag['facing_frame']:
rm.gl.glPushAttrib(rm.gl.GL_LIGHTING|rm.gl.GL_DEPTH_TEST|rm.gl.GL_BLEND)
rm.gl.glEnable(rm.gl.GL_BLEND)
rm.gl_render.render_transform(
sim_agent.get_facing_transform(ground_height),
scale=0.5,
use_arrow=True)
rm.gl.glPopAttrib()
if rm.flag['obstacle']:
self._obs_manager.render()