godotengine / godotengine/godot
Negative scale camera 3D does not work
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
v4.3.stable.official [77dcf97d8]
### System information
Godot v4.3.stable - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 6GB (NVIDIA; 31.0.15.3623) - Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz (6 Threads)
### Issue description
If Camera3D is negative scale, it will not function properly except for cull back.
① positive scale camera

② negative x scale camera ,cull back

③ negative x scale camera ,cull disable

Image of a cull disable mesh viewed from the inside with a positive scale camera
(Looking toward the camera in image ③)

The camera appears to show the mesh on the back side.
I used a translator.
### Steps to reproduce
Add a Directional Light 3D node to the scene.
Add a Camera 3D node to the scene.
Add a MeshInstance3D node to the scene.
Assign a mesh to the MeshInstance3D.
Set the material of the mesh to something other than Cull Back.
Set the Camera3D scale to negative.
### Minimal reproduction project (MRP)
N/A
Contributor guide
Research direction
Reproduce the issue using the listed DirectionalLight3D, Camera3D, and MeshInstance3D setup, then trace the Camera3D negative-scale path involved in rendering and culling. Compare positive and negative X-scale results with different mesh cull modes; done means the camera displays the mesh correctly for the reported configurations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100