jMonkeyEngine / jMonkeyEngine/jmonkeyengine

Subtle Discrepancies in PBR Implementation

Open
#2,337 0 comments 1 reaction 0 assignees View on GitHub

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:

  1. This PR that addresses a potential math issue in the fZero and metallic calculation: https://github.com/jMonkeyEngine/jmonkeyengine/pull/2334
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.