I couldn't even find Ola on linkedin, but can I then assume you'll reply to a "hej, bor du utanför Göteborg då eller?"?
Unlimited Light Sources with Clustered Forward Shading
Re: Unlimited Light Sources with Clustered Forward Shading
Re: Unlimited Light Sources with Clustered Forward Shading
Not without Google Translate. In which case the answer is "Ja, väldigt långt utanför"
This talk in the OP makes clear he received his phd at Chalmers and is now a postdoc at the University of Queensland, Australia. Brisbane, to be specific. So I'll throw another shrimp on the barbie for him.
This talk in the OP makes clear he received his phd at Chalmers and is now a postdoc at the University of Queensland, Australia. Brisbane, to be specific. So I'll throw another shrimp on the barbie for him.
- psi29a
- Posts: 5362
- Joined: 29 Sep 2011, 10:13
- Location: Belgium
- Gitlab profile: https://gitlab.com/psi29a/
- Contact:
Re: Unlimited Light Sources with Clustered Forward Shading
Oh. Nevermind then.CMAugust wrote: ↑08 Mar 2019, 12:07 Not without Google Translate. In which case the answer is "Ja, väldigt långt utanför"
This talk in the OP makes clear he received his phd at Chalmers and is now a postdoc at the University of Queensland, Australia. Brisbane, to be specific. So I'll throw another shrimp on the barbie for him.
Re: Unlimited Light Sources with Clustered Forward Shading
@psi29a: lol
@AnyOldName3: let's assume for the moment that Ola Olsson doesn't get back to me. Leaving aside the many-cubemapped-shadows-with-virtual-texturing as a separate issue, what about the clustered forward shading itself? That at least sounds much less involved and perhaps within the realm of possibility.
I'd also be interested to know what sort of changes the original assets would need in order to fulfil the batching prerequisites you talk about. There is an interest in asset optimisation in the modding community, and that sort of insight could be very helpful for a future project.
@AnyOldName3: let's assume for the moment that Ola Olsson doesn't get back to me. Leaving aside the many-cubemapped-shadows-with-virtual-texturing as a separate issue, what about the clustered forward shading itself? That at least sounds much less involved and perhaps within the realm of possibility.
I'd also be interested to know what sort of changes the original assets would need in order to fulfil the batching prerequisites you talk about. There is an interest in asset optimisation in the modding community, and that sort of insight could be very helpful for a future project.
- AnyOldName3
- Posts: 2686
- Joined: 26 Nov 2015, 03:25
Re: Unlimited Light Sources with Clustered Forward Shading
As you probably know, Morrowind uses lots of tiny meshes, probably in part because it came from an era when GPUs were slower than CPUs, so draw calls weren't a concern, but drawing excess polygons was. There are a few problems that make batching (automatic or manual) difficult:
- The thing we've been talking about a lot in this thread about binding lights per object, so lighting being better when all objects are small so the light assignment is finely grained. This would be solved by one of the many use-all-lights solutions mentioned here.
- Pretty much anything can be added or removed at any time by a script, so it has to be possible to un-batch things with little to no warning.
- Lots of things use tiny textures with only one thing on them, and anything in one batch has to use the same texture. This is solvable with atlassing, but only in cases where UV coordinates are in the 0-1 range, as implementing wrapping or clamping in the shader can get complicated.
- Anything with alpha-blending can't be batched or it can't be depth-sorted.
- Possibly other things that I can't remember off the top of my head.
Re: Unlimited Light Sources with Clustered Forward Shading
"Just shade everything" test - sounds like a plan. That's the most straightforward of all to code as well I expect. Your talk about needing to unbatch things is something I've thought about a lot too, hopefully that is possible.
It sounds like Project Atlas is ticking all the boxes as far as mesh optimisation goes. It's being extended all the time and is likely to be a "must have" mod for future engine-side batching.
It sounds like Project Atlas is ticking all the boxes as far as mesh optimisation goes. It's being extended all the time and is likely to be a "must have" mod for future engine-side batching.
- AnyOldName3
- Posts: 2686
- Joined: 26 Nov 2015, 03:25
Re: Unlimited Light Sources with Clustered Forward Shading
Atlassing doesn't absolutely have to be done manually - doing it automatically is basically what id Tech engines call Megatextures, the fancy new feature that they added to id Tech 5, but doing it like that is easier with newer OpenGL versions. Doing it automatically has some advantages, but makes the engine more complicated and isn't necessarily something that can be done easily with OSG.
Re: Unlimited Light Sources with Clustered Forward Shading
Yeah, systemic solutions are awesome. But it's good to know there's a manual option if it doesn't happen.
Re: Unlimited Light Sources with Clustered Forward Shading
Some more resources for the list. Adding the webpage for Volume Tiled Forward Shading by Jeremiah van Oosten, which I should have provided along with the video. It contains links to his thesis, powerpoint presentation and source code.
The Open Source engine AnKi 3D uses Cluster based deferred shading. There was also a forum thread about it.
And for an alternative viewpoint, a blog entry titled Simple Alternative to Clustered Shading for Thousands of Lights by Luke Mamacos. His technique, BVH Accelerated Shading, is claimed to be "very easy to implement, minimally invasive on your render pipeline" along with other benefits, with the con being "requires tree traversal which has logarithmic complexity in the number of lights, where clustered shading with a 3d texture is more or less a constant lookup time". Ola Olsson appears in the comments and makes a few interesting points of his own, including that the setup cost for Clustered Shading isn't all that.
The Open Source engine AnKi 3D uses Cluster based deferred shading. There was also a forum thread about it.
And for an alternative viewpoint, a blog entry titled Simple Alternative to Clustered Shading for Thousands of Lights by Luke Mamacos. His technique, BVH Accelerated Shading, is claimed to be "very easy to implement, minimally invasive on your render pipeline" along with other benefits, with the con being "requires tree traversal which has logarithmic complexity in the number of lights, where clustered shading with a 3d texture is more or less a constant lookup time". Ola Olsson appears in the comments and makes a few interesting points of his own, including that the setup cost for Clustered Shading isn't all that.
How does one actually test this, anyway?AnyOldName3 wrote: ↑09 Mar 2019, 16:54I think a good test to do now would be to see if basic forward rendering is reasonably fast with the number of lights Morrowind has.