jMonkeyEngine / jMonkeyEngine/jmonkeyengine
LODs are a bit of a mess
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 4.3k
- Forks
- 1.2k
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 14
Description
The documentation is not clear about what LOD 0 is, sometimes it's even contradictory:
One has to dig deep into the code to find out that it just ignores the main index buffer when LODs are set:
Also setting an LOD level to null seems to be valid:
https://github.com/jMonkeyEngine/jmonkeyengine/blob/8ba6574ef6c2cba463e2f03a87263c4074466e10/jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java#L3446-L3449
But one runs into crashes since it's not consistently handled like that:
https://github.com/jMonkeyEngine/jmonkeyengine/blob/8ba6574ef6c2cba463e2f03a87263c4074466e10/jme3-core/src/main/java/com/jme3/scene/Mesh.java#L864
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 with the cited LOD handling in jme3-core/src/main/java/com/jme3/scene/Mesh.java and jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java. Trace how LOD 0, the main index buffer, and null LOD levels are treated, then determine the intended behavior. Done means the behavior is consistent and the documentation no longer contradicts the implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100