Out of love and research.Using 2D preintegrated texture in PBR

I try to use 2D textures instead of cubemaps. On the mobile side, cubemap (6 texture caches) can be reduced. But I did it out of interest. You can download the source code if you like. :grinning:

My realization:

There are 2 areas for improvement:

  1. Integrate the illumination information stored in texture.

  2. Simulate the optimization of LOD sampling and interpolation.


For some reason the environmental light on tye model looks much more pronounced in the standard jme implementation than in your 2d texture one. Is that intentional?

Thank you for reply.
actually, this is because I lost the lighting information before saving the pre integrated texture to rgbe format, resulting in the lighting information constraint between 0-255, so it looks dimmer.

One thing that needs to be improved is the calculation of integral texture. I took a simplified approach, so I lost part of the light integration. In the end, rgbe does not store all the lighting information。
So it looks dim。
I didn’t put out the project of generating these integral textures, because I was re implementing the 2D calculation of integral textures.
All these attempts are out of hobby. Project cannot replace PBR of jme3. I think the PBR of jme3 can meet most rendering requirements, but if someone wants to reduce the texture of mobile devices (such as using 2D texture instead of cubemap overhead), or is interested in this, I hope my code can help you. :grinning:
I wish you a happy job. By the way, the PBR of jme3 seems to have no BSDF? No SSSS rendering for special materials, such as skin?

1 Like

I see. So my suspicion about why it’s dim was correct :slight_smile:

I think I saw a bsdf function somewhere in there, but I’m not sure if that’s what you are looking for. And no, there’s no exceptions for special materials, as the main coder of the pbr shader, nehon, left jme before the shader was fully complete. There have been some additions to it since, but nothing major.

Thank you for your answer. It looks like jme3 does not have a proprietary texture library for mobile platforms. This is rarely discussed in the community. .
I’m trying to implement low-cost sss rendering and complex ssss rendering. Wish me luck. :rofl: