jMonkeyEngine / jMonkeyEngine/jmonkeyengine
Subtle Discrepancies in PBR Implementation
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 4.3k
- Forks
- 1.2k
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 14
Description
The purpose of this issue is to keep track of potential issues that may be causing JME's final PBR render output to not match the Khronos standard.
I have personally noticed some PBR models having an extremely subtle foggy white glare to them. And I also recall a jme user years ago who was complaining that their shiny models look "plasticky" and incorrect in JME
Here are some probable issues to keep an eye on:
- This PR that addresses a potential math issue in the fZero and metallic calculation: https://github.com/jMonkeyEngine/jmonkeyengine/pull/2334
- JME's MikktSpaceTangentGenerator has many "todo" comments left in from 2016 by the original author (who is no longer around to maintain things) that may indicate issues in the functionality. There have been no apparent major issues in jme's tangents, however there is still the possibility that jme's tangents don't match the industry standard for MikktSpace which could effect the final rendering of PBR models with normal maps. (https://hub.jmonkeyengine.org/t/mikktspacetangentgenerator-fails-with-npe/48114/9)
Please comment here if you think that you may have found any other issues with jme's PBR implementation, or if you are knowledgeable about any of the items currently in the list. Thanks.
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 reviewing the linked PR #2334 and the TODOs in MikktSpaceTangentGenerator, then compare the PBR output against the Khronos standard. The issue does not name a failing test or a specific code path; done would require isolating and documenting a concrete rendering discrepancy before making a targeted fix.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100