Godot: Support for multi-scatter GGX

Created on 11 Aug 2018  路  3Comments  路  Source: godotengine/godot

Issue description:

I am working on godot-blender-exporter, Blender principled bsdf nodes has default distribution multi-scatter GGX and caused some trouble for me to export a blender material to godot

e.g. difference of GGX and multi-scatter GGX
untitled
When metallic is high, muli-scatter GGX and GGX have a lot visual difference (generally GGX is darker)

as blender GGX fits well with Godot render_mode ggx, I would like to see godot has another render_mode multi-scatter ggx. However, it seems it is technically difficult to have realtime multi-scatter ggx, I didn't find a implementation in blender eevee, nor in other game engines.馃槄 Anyway, I open this issue hope there will be people may come up some ideas about it.

More on multi-scatter ggx offline rendering:
https://blender.stackexchange.com/questions/66554/when-should-i-use-multiscatter-ggx

archived discussion feature proposal rendering

Most helpful comment

multi-scatter GGX might be tricky to do in realtime (in a way that would not be costly) because it's a shader that also takes multi-scattering into account as opposed to just single-scattering.

Even normal GGX is generally less accurate in game engines than in offline rendering (especially with area lighting). The less shortcuts you do, the harder it would be to run it at 60 FPS.

All 3 comments

multi-scatter GGX might be tricky to do in realtime (in a way that would not be costly) because it's a shader that also takes multi-scattering into account as opposed to just single-scattering.

Even normal GGX is generally less accurate in game engines than in offline rendering (especially with area lighting). The less shortcuts you do, the harder it would be to run it at 60 FPS.

multi-scatter GGX might be tricky to do in realtime (in a way that would not be costly) because it's a shader that also takes multi-scattering into account as opposed to just single-scattering.

That's not true, as common real time rendering approaches approximate multi scatter GGX by taking the energy loss into account. E.g:
https://patapom.com/blog/BRDF/MSBRDFEnergyCompensation/

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.

The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.

If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!

Was this page helpful?
0 / 5 - 0 ratings