leMaik / chunky

Photorealistic image renderer for Minecraft 1.2.1+
https://chunky.lemaik.de
GNU General Public License v3.0
40 stars 1 forks source link

labPBR support #14

Open jackjt8 opened 4 years ago

jackjt8 commented 4 years ago

labPBR provides a standardised PBR format which is primarily used to end fragmentation for shader and resource packs. At the time of writing there 13 Shaders and 4 Packs which support the labPBR specification and have been approved.

labPBR Format Wiki

Key features:

Normalmaps (with the _n suffix): Red - n/a Green - n/a Blue - Material Ambient Occlusion Alpha - Heightmap (POM)

Specularmaps (with the s suffix): Red - "perceptual" smoothness_ (related to linear roughness) Green - F0 / reflectance : Store linearly 0 to 229 (90%). 230 to 255 represent various different metals. For a value of 255 the albedo should be used. Blue - On dielectrics store porosity for 0 to 64, and 65 to 225 for subsurface-scattering. (On metals is reserved) Alpha - Emissiveness


Not only would this mean that we have access to a number of premade PBR resource packs, but we would be able to cross check implementations in Chunky against a multitude of Shaderpacks. Use of a standardised PBR implementation is beneficial over a custom implementation as it reduces fragmentation and improves cross compatibility.

Continous commented 3 years ago

It should be noted that the 230-255 represented metals is also defined in the specification.

230 - Iron 231 - Gold 232 - Aluminum 233 - Chrome 234 - Copper 235 - Lead 236 - Platinum 237 - Silver

This is useful since it would allow Chunky to implement hard-coded real-world values for the material behaviors of these metals. There's also an addition 18 slots remaining for other metals as more become more prominent and common within the game.