3000th commit - IrrlichtBAW (GIT repo, v 0.3.0-gamma1)

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Update 26.01.19 - BAW Irrlicht (GIT repo, v 0.3.0-alpha1

Post by robmar »

Okay, thanks for the CMake tips, I´ll definitely be taking a look at the Vertex skinning example.
For shadows I do a render using a simple depth shader into a float16 frame buffer, then in the pixel shader I see if the pixel being rendered is below the depth of the matching pixel in the depth map, seems to work fast, but of course I still have to render most objects, though some objects I turn off all sub-meshes but the outer skin if the camera is beyond a certain distance.
I had a look at Indirect Draw, it was released also with DX11 but seems really almost nobody used it, its also in DX12 and Vulkan, but again there are very few examples, found only one for an obscure use.
You also have to pack a bunch of commands and data together to describe the scene for GPU culling to work, and I couldn't see from the sparse data on the web exactly how that worked. Even looked at a presentation on it but so little detail!
All interesting stuff though!
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Update 26.01.19 - BAW Irrlicht (GIT repo, v 0.3.0-alpha1

Post by devsh »

For shadows I do a render using a simple depth shader into a float16 frame buffer, then in the pixel shader I see if the pixel being rendered is below the depth of the matching pixel in the depth map, seems to work fast, but of course I still have to render most objects, though some objects I turn off all sub-meshes but the outer skin if the camera is beyond a certain distance.
https://github.com/buildaworldnet/Irrli ... MapShadows

This example renders all 6 cubemap faces of an omnidirectional shadow map at once, without extra draw calls.
It also uses a depth-only FBO so you're not wasting bandwidth (current with irrlicht you have a Z-Buffer anyway, but you're not using it because you don't have access to it, so you render an extra float16 channel with colour).
And I don't even have hardware PCF comparisons in my engine yet XD

It doesn't use the MSAA trick thats only suitable for non-PCF techniques (VSM, ESM, MSM) that can reduce pixel shader invocations by a factor of 8.
I had a look at Indirect Draw, it was released also with DX11 but seems really almost nobody used it, its also in DX12 and Vulkan, but again there are very few examples, found only one for an obscure use.
Many console games use that actually, I believe Order 1886 does it.

But its quite impossible to do properly unless you have good and robust pool allocators for GPU memory, which only IrrlichtBAW has out of the plethora of open source 3D engines.
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Update 26.01.19 - BAW Irrlicht (GIT repo, v 0.3.0-alpha1

Post by robmar »

Your omnidirectional cube map sound great but there will be many extra draw calls to render every object in the scene, I just use a fish-eye render towards the camera, and that handles reflection really well at lowest cost.
For shadows I need a depth map from the perspective of the main light, otherwise I can't calculate the shadow in the shader.
I use PCF shadows, but MSAA needs to multisample to achieve smoothing, though the results look good especially over more distant shadow throws.
Still think that speed is mainly hampered by the GPU's ability to draw faster, given thats the main issue, and there is no technique to share drawing of the same model in complex scenes easily, especially is transparency is used.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Update 26.01.19 - BAW Irrlicht (GIT repo, v 0.3.0-alpha1

Post by devsh »

Did you try example 26? I get 100% perf increase despite not changing anything in terms of what triangles are being drawn.

My omni-cube map uses 1 draw call to render all 6 faces of the cube, so its fewer draw calls.

Run my examples through RenderDoc, and you'll see what they do exactly, drawcall by drawcall.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Update 26.01.19 - BAW Irrlicht (GIT repo, v 0.3.0-alpha1

Post by devsh »

Semi-stable release just before the asset pipeline merge is out
https://github.com/buildaworldnet/Irrli ... .0-alpha12

Asset Pipeline merge will happen tommorrow.
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Update 13.02.19 - BAW Irrlicht (GIT repo, v 0.3.0-alpha1

Post by robmar »

Not yet, I´ll try to follow your instructions for CMake. I hope to see the same improvements on example 26, that would be great!
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Asset Pipeline Mrg- BAW Irrlicht (GIT repo, v 0.3.0-alph

Post by devsh »

Asset Pipeline Merge Done

Unified Caches for all Resources (except for shaders... we're working on it).

https://github.com/buildaworldnet/IrrlichtBAW/pull/213

OBviously expect the master branch to be instable as hell.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Asset Pipeline Mrg- BAW Irrlicht (GIT repo, v 0.3.0-alph

Post by devsh »

Can't compile on GCC (MSVC works), CMake-gui works to generate projects but getting compile errors specific to GCC. Any pull requests or fixes are welcome.

Released a bugfix to the PoolAddressAllocator
https://github.com/buildaworldnet/Irrli ... .0-alpha13

Stable-ish branch compiles on all platforms, as always.

Unofficial Support Discord
Kindly started by @manhnt9 on his own server, @devsh hangs around sometimes.
https://discord.gg/HBhZEw3

There's also a skype support group, reach @devsh for a private invite.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan Coordinates- BAW Irrlicht (GIT repo, v 0.3.0-alph

Post by devsh »

I've found and helped fix matrix and clipping bugs in mainline Irrlicht SVN.

However I've tackled these bugs in a different way for IrrBAW, by changing the coordinate conventions to match Vulkan.
Also I've booted out CMatrix4 and completely replaced it with matrix4SIMD, while being given this opportunity.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan Coordinates- BAW Irrlicht (GIT repo, v 0.3.0-alph

Post by devsh »

WE went on a CMAKE spree, OpenSSL is now included as a submodule inside our repo and out build system buids it for you.

All dependencies are contained, you only need to install Perl and NASM aside from usual build tools.
AReichl
Posts: 269
Joined: Wed Jul 13, 2011 2:34 pm

Re: Vulkan Coordinates- BAW Irrlicht (GIT repo, v 0.3.0-alph

Post by AReichl »

Is there any special reason you choose CEGUI ?
mant
Posts: 125
Joined: Sun Jan 27, 2013 3:38 pm

Re: Vulkan Coordinates- BAW Irrlicht (GIT repo, v 0.3.0-alph

Post by mant »

CEGUI is features complete and still being developed. Other GUI libs are often simple.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan Coordinates- BAW Irrlicht (GIT repo, v 0.3.0-alph

Post by devsh »

AReichl wrote:Is there any special reason you choose CEGUI ?
Because I hate immediate-mode GUIs.
AReichl
Posts: 269
Joined: Wed Jul 13, 2011 2:34 pm

Re: Linear Color Space - BAW Irrlicht (GIT repo, v 0.3.0-bet

Post by AReichl »

I only asked because i cannot decide between CeGUI and ImGui.
Post Reply