Saga3D - Re-creating Irrlicht with Vulkan

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by devsh »

Rendering large models, like 1GB meshes of complete cars seems to just load the GPU so much. I guess its still rendering all the sub-meshes even if they are not finally visible.
We've actually improved the performance so much that we've canned occlusion queries and just keep normal per-node frustum culling (exception is for instanced stuff where we do GPU-based frustum culling).

We have plans to do per-meshbuffer culling very soon.
So you made a lot of change to Irrlicht 8.4 for parallel processing then? Does it also handle sub-mesh rendering so as not to render unless visible?
We've done amazing changes to the ways that assets are loaded (meshes and images) as well as how you create GPU objects from CPU data.
Its quite hard to explain without writing pages of A4 (which has already been written in an open google doc linked to on FB and in my thread)
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by robmar »

Sounds great, for sure a lot of hours of sweat!

Did any Irrlicht version support per-meshbuffer culling? I haven't seen that in 1.7.3, which is the main release I use.
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by mant »

Multiple render targets sample is up!
I'm implementing skeletal animation (GPU skinning).
https://gitlab.com/InnerPieceOSS/Saga3D ... er/samples

Image
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by devsh »

Why are you still outputting depth to a separate color Render Target?
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by mant »

I only copied from a depth buffer to a color image for displaying in this sample.
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by mant »

Animated mesh support and GPU skinning sample is done, some small bugs left then I can merge: https://gitlab.com/InnerPieceOSS/Saga3D/tree/anim
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by robmar »

Hi, what's the latest on GPU skinning, is it supported in 1.8.4 or elsewhere? Edit: okay I see 1.8.4 does not change the anim system at all.

AutoDesk and AssimpViewer both perform skinning about 8 x faster than Irrlicht, so that may be code efficiency rather than doing the skinning math in the vertex shader.

Has anyone plugged Assimps animation system into Irrlicht?
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by mant »

GPU Skinning is done.

Image
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by mant »

robmar wrote:Hi, what's the latest on GPU skinning, is it supported in 1.8.4 or elsewhere? Edit: okay I see 1.8.4 does not change the anim system at all.

AutoDesk and AssimpViewer both perform skinning about 8 x faster than Irrlicht, so that may be code efficiency rather than doing the skinning math in the vertex shader.

Has anyone plugged Assimps animation system into Irrlicht?
I use Assimp's animation system to get bone matrices and send to the vertex shader.
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Saga3D - Modernizing Irrlicht with Vulkan

Post by mant »

push_constant, SSBO, compute shader is implemented
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Saga3D - Re-creating Irrlicht with Vulkan

Post by robmar »

Good to read the news! Irrlicht with Vulkan working well would be great!

On the GPU skinning side, how mahy bones can your vertex skinner handle? I read that the shader is limitied on passing 256 floats, 64 matrices max.
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Saga3D - Re-creating Irrlicht with Vulkan

Post by mant »

Hi robmar. I need to clarify that this is not Irrlicht at all. It's a new library indeed, see README for clarification on Irrlicht.

I actually use 64 as the max bone count. But this a really soft limit since you can pass matrices to a shader in any way, the sample is only demonstrating an example.
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Saga3D - Re-creating Irrlicht with Vulkan

Post by robmar »

Okay, so your driver can't be used with Irrlicht.

64 bone sis enough for games
Post Reply