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.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha1)

Post by devsh »

Merged a CMake pull request and added an ARB_draw_indirect benchmark
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha1)

Post by devsh »

CMake is now default and only command-line build system, old Makefile removed.
Jibreel Yahya
Posts: 10
Joined: Fri Oct 23, 2015 7:59 pm

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha3)

Post by Jibreel Yahya »

I was trying to compile it with Visual C++ 2017, but I had errors.
The OpenSSL lib folder is not in the code directory. :(
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha3)

Post by devsh »

Its a third party dependency... put it in `../openssl` relative to the code directory.

I'm sorry but OpenSSL is one dependency I won't provide, because of the security implications for the end user (I may forget updating it).
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha3)

Post by devsh »

We have been very busy in the run-up to removing Shader CallBacks from the engine and introducing ShaderPipeline objects with Descriptor Sets of UBOs and SSBOs.

Over the past month:
- Fixed bug in convert2baw tool when optimizing meshes
- Added a complete and fully working mat4x3 SIMD class and implemented it as a pilot in the CPU skinning code
- Added rudimentary UBO and SSBO state/binding tracking system
- Added querying for more VideoDriver features which are similar to those found in Vulkan and D3D12 (ARB_ballot, NV_shader_thread_group, the availability of gl_DrawID, MultiDrawIndirect command count sourced from IGPUBuffer)
- Added an example of sublinear complexity (w.r.t. kernel raidus) compute shader box blur using prefix sums
- Introduced vectorSIMDf into SViewFrustum
- Video Driver capability querying moved outside of IVideoDriver, also minimum required binding offset alignment for UBO,SSBO and TBO is now queriable
- More legacy irrlicht functions were removed (setting texture uniforms from c++, removed SOverrideMaterial, IVideoDriver::checkDriverReset, IVideoDriver::makeNormalMapTexture, IVideoDriver::setMinHardwareBufferVertexCount, etc.)
- Vulkan Stub Objects added
- Changed VAO cache to use binary insertion sorted vector rather than hashmap
- Benchmarked AtomicAdd as an Atomic Counter, XFormFeedback and Geometry Shader via compute, replacement
- Benchmarked UBO Update Methods
- minor compiler compatibility fixes in BAW format
- Fixed some compiler pedantic errors
- Lzma bumped to 18.05
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha3)

Post by devsh »

Jibreel Yahya we made a compile flag especially for you `_IRR_COMPILE_WITH_OPENSSL_`.
https://github.com/buildaworldnet/Irrli ... fa7948R241

You can disable it but you wont be able to create and read encrypted .baw files.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha3)

Post by devsh »

IGPUBuffer and IGPUMappedBuffer is changing slightly.

Mostly to enable slightly different buffer types for uploading and downloading data from the GPU
https://docs.google.com/document/d/1C9n ... 79SnU/edit#
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha3)

Post by devsh »

as promised, added two more classes:
https://github.com/buildaworldnet/Irrli ... location.h
https://github.com/buildaworldnet/Irrli ... ryBacked.h

IVideoDriver split into IDriver which deals will all Vulkan functions that only require a VkDevice.
Reallocation abiity of IBuffer moved to ICPUBuffer, as IGPUBuffers are now harder to reallocate (would have to pass allocator, allow for changing backing memory etc. etc.).

IRenderBuffer removed, as Vulkan sadly provides the same functionality through magical renderpass properties and implicit transitions.

Also removed occlusion queries from the engine and conditional rendering.
I personally believe that occlusion queries are passe as one can implement parallel queries with atomics on SSBOs which can be much faster if you optimize with ARB_ballot
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha5)

Post by devsh »

Work starts on memory allocators and concurrent object caches.
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha5)

Post by devsh »

[REMOVED, DEEMED AS INFLAMMATORY]
Last edited by devsh on Tue Jul 31, 2018 11:32 am, edited 1 time in total.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha5)

Post by CuteAlien »

[snip removed, most was just reaction to last post| TL/DR: Forum is for Irrlicht users and developers. It's meant to support people using Irrlicht. Advertising for competitors and against the Irrlicht engine not welcome]
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha5)

Post by devsh »

Any stats of stock vs. my fork I try to keep on this thread, I try not to post "IrrBAW has this" anymore, unless ofc it is "you want feature A,B,C then here's the file where I implement this" I even try to refer to master-branch irrlicht tutorials when responding.

I do provide some user support, and I didn't really ever advocate irrbaw as a solution to beginner's problems.

I say I try, not always succed.. but I have only posted "irrbaw does this" about irrBAW 3 times in other threads since April, and one of that was when hendu was saying that it does something (srgb mipmap calculation) that it didnt.

I'm not here to kill Irrlicht, its not that I don't like Irrlicht, maybe I take the wrong approach.
I thought that if I make something vastly better performance and maintenance wise (driver bugs), I will finally convince you to go with something like my approach (having the API follow a recent graphics API) simply on a merit basis.

I may be infinitely annoying but at least I don't pull off a Sio2, i.e. have nice demo and a next-gen API fork but no source.

I want people to try something different, see that it works, like it and hopefully backport some of it to your project.

Today I'm refraining from my usual, there's a bunch of things I could say... but bare in mind that you also frustrate me sometimes, definitely not as much as I frustrate you.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha5)

Post by CuteAlien »

[snip, burying the hatchet]
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha5)

Post by devsh »

There is no advertising to gain from this, you know how low the traffic is on the forum.

Wait, why do you expect me to post patches? Against 1.8.4 or what?
This claim is almost as ludicrous as you accuse mine to be, you cannot seriously expect me to post .patches to your svn! You would never accept the API changes!
My code is out there for someone to take a look at, but you still have to think about how to fit it into YOUR API, that's why even if I wanted to submit a patch, I would not know where to start!
And you've made it clear that you don't want to consult on the API or change it.
You have not reached out to me to ask me to do anything.

I'm not trying to get people away from Irrlicht, those people were already away! People already left it, we have like what, 10 "active" developing users?
I guess we all stay here because of sentiment or something.
I'm trying to get some of them back, sorry that it is on my fork. (and yes I know I'm doing it wrong).

Nobody reads my posts and nobody cares, and I 'm fully aware of that. Most of the time I post stuff because I need to jot-down an idea somewhere in public, which admittedly is kinda stupid.
You can close whatever threads you like, if it makes you feel better. Except for this one, so I can take a snapshot of it so I have some history to write my changelog from.
It won't result in higher rate of user retention or attraction.

IrrBAW is a symptom, not a cause.

P.S. I'll remove the post that annoyed you.
EDIT: I posted late at night, it was in-fact in retrospect quite inflammatory, sorry.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Vulkan&Android - BAW Irrlicht (GIT repo, v 0.3.0-alpha5)

Post by CuteAlien »

Thanks for removing the post.

And no - I don't expect you to post patches. But _if_ you wanted backports you would have to post them. Which you do not - and that's fine. Just don't bring up backports then - it's a non-discussion unless there are suddenly people in the Irrlicht development team with lots of time and interest in your engine (I don't know of anyone like that).

And no - I don't stay here because of sentiment but because Irrlicht is still the engine which works for me. Your engine offers some feature - which I do _not_ need - and removes those which I _do_ need. There's a bunch of pure OpenGL engines out there and I get the reasons and I have nothing against them. But it's something that works for you but not for me. Projects are like that - they need different features which is why there are different engines. When Irrlicht does not work for me once in a while then I work on Irrlicht (last months mostly on PBR and global illumination, PBR working, global illumination not yet and I had to switch to another projects in between now which was more urgent and not related to Irrlicht, but will get back to it afterwards). The speed problems I run into are different than yours (mine biggest one right now is - how to pre-calculate cubemaps for global illumination faster, aka the irradiance stuff).

I'm fine with 10 users. Especially as I'm one of them. Thought I also know some businesses using it -and some of the projects written in Irrlicht are used by more than 10 persons every day. All of them depending on the Software working to make their daily living. I do even still know a project depending on the Burnings renderer.

IrrBAW is fine on it's own. Just for different use-cases. As long as you stay friendly I'm not going to stop you from posting. But I will continue to defend Irrlicht, don't expect me to stop doing that.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Post Reply