ManimCommunity / ManimCommunity/manim
Incorrect Positioning of Fixed Orientation Mobjects in OpenGL
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 40.9k
- Forks
- 3.1k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 25
Description
Consider the following scene:
```python
class Test(ThreeDScene):
def construct(self):
self.camera.set_phi(TAU/6)
self.begin_ambient_camera_rotation(rate=0.5)
u = Vector(2*RIGHT, color = RED)
u_label = MathTex("1.0 \\vec u")
u_label.next_to(u.get_end(), RIGHT, buff = 0)
v = Vector(2*LEFT, color = YELLOW)
v_label = MathTex("1.0 \\vec v")
v_label.next_to(v.get_end(), LEFT, buff = 0)
self.add(u, v)
self.add_fixed_orientation_mobjects(u_label, v_label)
self.wait(TAU*2)
```
Here is the result of rendering with the opengl renderer:

As you can see, the label's position changes over time when it shouldn't. With cairo, the problem isn't there:

Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided ThreeDScene example with the OpenGL renderer and compare it with the Cairo result. Trace the handling of fixed-orientation mobjects during the ambient camera rotation; done means the u_label and v_label positions remain stable in OpenGL as they do with Cairo.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100