Skip to content

Conversation

ShravanTata
Copy link

  • Fully support the basic.cc example with both fixed-function and modern OpenGL 3 pipelines.
  • Introduce clear separation between legacy and modern renderer code (render_x vs render3_x).
  • Provide a runtime or compile-time toggle for selecting the rendering backend.

Tasks & Progress

1. Code Organization

  • Keep legacy rendering path in render/render_x.
  • Introduce modern pipeline in render/render3_x.

2. Shader-based Renderer (render3_x)

  • Minimal GLSL shader setup (vertex + fragment).
  • VAO/VBO for drawing geometry in basic.cc.
  • MVP matrix handling for camera (replace glPushMatrix/glPopMatrix).
  • Ensure legacy GL still compiles & runs when shaders are disabled.

3. Legacy Renderer (render.h)

  • Keep existing fixed-function pipeline intact.
  • Verify basic.cc still runs without changes when using legacy path.

4. Mesh & Geometry

  • Add VBO/VAO support in the new renderer.
  • Map MuJoCo mesh data to modern buffer objects.
  • Keep legacy glBegin/glEnd path for now.

5. Example Migration

  • Update basic.cc to select renderer via toggle/flag.
  • Ensure visual parity between legacy and GL3 paths.

6. Transforms

  • Replace glPushMatrix/glPopMatrix in GL3 path with uniform matrices.
  • Keep existing matrix stack in legacy path for now.

7. Lighting & Materials

  • Reimplement fixed-function lighting in GLSL for GL3 path.
  • Match visual output with legacy path.

8. Textures

  • Modern texture allocation (glTexStorage2D / glTexSubImage2D) in GL3 path.
  • Preserve legacy glTexImage2D pipeline.

9. Framebuffers

  • Migrate offscreen rendering to FBOs in GL3 path.
  • Keep legacy buffer bindings as fallback.

10. Misc

  • Update copyright to 2025

Copy link

google-cla bot commented Sep 20, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@bd-gpasternak
Copy link

you might be interested in these changes too #2888 would help debug things with nsight.

@ShravanTata
Copy link
Author

you might be interested in these changes too #2888 would help debug things with nsight.

Thanks for the pointer and commits @bd-gpasternak. I will keep track of those changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants