Parallax Occusion Mapping (and RealSlimShader?)


From my searches it appears that there has only one attempt to support Parallax Occlusion Mapping (aka self-shadowing materials) in JME. This was the RealSlimShader project by survivor:

However this project appears to be dead, and survivor hasn’t been active here for over 2 years, sadly…

Although I have tried running the last snapshot of RealSlimShader, it still suffers from the bug here:

Though I think I could probably fix it (eventually - I’m very new to GLSL!) based on the comments there, I’d rather not rely on a dead project. Additionally, the main motivation of that project was to support single pass lighting, which I gather is now implemented independently in 3.1.

I would really love to see support for Parallax Occlusion Mapping in 3.1 (it seems to be used in most of the AAA games I’ve played recently), and it seems the JME community was tantalisingly close to cracking it with survivor’s efforts.

Is there any chance someone (someone with way better GLSL skills than me!) would be interested in either porting survivor’s code, or reimplementing the algorithm, for 3.1?

As an aside, Self Shadowing Normal Maps, as invented by Valve, see:

appear to be an alternative approach, though as this appears to be non-standard and to not have been widely embraced, I think shadowing based on the parallax map seems the way to go.



I’ll try to catch up with jME 3.1 on a rainy weekend. :slight_smile:


1 Like