GameFoundry / bsf

Modern C++14 library for the development of real-time graphical applications
https://www.bsframework.io
MIT License
1.74k stars 195 forks source link

More shading models #15

Open BearishSun opened 6 years ago

BearishSun commented 6 years ago

Currently only the "standard" shading model can be applied to surfaces, which is suitable for most, but not all surface types. Add the models for at least the following models:

nxrighthere commented 5 years ago

As for hair, maybe it worth to look at how Confetti integrated TressFX into the Forge recently. It seems quite performant and portable.

BugBiteSquared commented 5 years ago

No promises, but I'm looking into implementing Separable Subsurface Scattering myself so I can get a nice skin shader working. Relevant readings in the following links: http://www.iryoku.com/separable-sss-released https://users.cg.tuwien.ac.at/zsolnai/gfx/separable-subsurface-scattering-with-activision-blizzard/ https://github.com/iryoku/separable-sss A good TL;DR video discussing the paper on SSSS, perhaps: https://www.youtube.com/watch?v=mU-5CsaPfsE This one is long (100+ pages): https://users.cg.tuwien.ac.at/zsolnai/extending-separable-subsurface-scattering-to-arbitrary-materials/ Feel free to holler at me in the Discord about it. Getting a glTF 2.0 loader, pathfinding, & Android port going are going to be a bit higher priority for me, but I think implementing SSSS could be some good low-hanging fruit compared with integrating EnTT & Bullet3 into the framework (as plugins or otherwise).

Small tangent: I feel that this project is unusually high-quality & well-documented. I have technical reasons for choosing to use this framework over full engines like Godot, Unity, or Unreal, but the extensive documentation & support work is a very very welcome cherry on top. A small subset of the core tech I'm developing is domain-specific & so won't be contributed to this framework, but I would like to contribute whatever work I can to benefit this project. Feels like the thing to do. Thank you for your hard work on all of this.

I'll see about posting in the relevant issues pages for other tasks & pinging you on the Discord server when I find the time.

BearishSun commented 5 years ago

Sounds good, thank you. This would be very welcome.