Flexible Vertex Format - special SVN branch is ready!!!
Re: Flexible Vertex Format - preview patch!
I've done 4th version. I added support for skinned meshes with loaders for them. Also OpenGL renderer is mostly done (vertex attributes support is done, it will be also useful for OpenGL 3 VAO). Only normal and parallax mapping need rebuild.
I will prepare normal and parallax mapping materials + hardware skinning example soon.
I will prepare normal and parallax mapping materials + hardware skinning example soon.
Last edited by Nadro on Mon Mar 12, 2012 3:13 pm, edited 1 time in total.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Flexible Vertex Format - preview patch!
I finished Direct3D9 renderer. Alpha version is available on a patch tracker. OpenGL and Direct3D renderers are finished but still require some tests and I hope that You will help me in this area. If someone have a small project, or doesn't use Mesh Buffers access in Your game code please check it with this patch. This is the best way to find a bugs. Nearly all Irrlicht's examples works fine. Every info about bugs and performance drops (in fixed function rendering perf may drop, because direct access is faster than handling it by descriptor; perf drops should be really small especially when You will use shaders for skinning etc; in future programmable drivers like D3D10/OGL3 performance should be back to a standard values) will be helpful.
Last edited by Nadro on Mon Mar 12, 2012 3:13 pm, edited 1 time in total.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Flexible Vertex Format - alpha patch! D3D9 + OGL ready!
Oh wow, that will take a while to understand - a 15000 lines patch. I only did take very quick 5-minute look over it now (had to wait for something) so only thing I can comment on so far is what you probably consider as most unimportant... variable-names. Sorry, just first stuff you notice before you have to understand the code ;-) Anyway - why do you add a p before all function parameters? It would be nicer to keep the Irrlicht-style that's used throughout. Also you shouldn't use _Uppercase for local variables, such names are reserved in c++ and so there can be defines replacing any such variable if you have bad luck (and having run into something similar already in the past I can tell you that is one hell of a bug to find): http://stackoverflow.com/questions/2287 ... identifier.
I will try if I can apply it for testing in a project using D3D9, but not sure right now when I find time for that (will probably have to change a lot in the project as well for testing this as it accesses vertices directly in several places, but maybe I can manage to comment-out enough to get it working).
Anyway, looks like impressive work.
I will try if I can apply it for testing in a project using D3D9, but not sure right now when I find time for that (will probably have to change a lot in the project as well for testing this as it accesses vertices directly in several places, but maybe I can manage to comment-out enough to get it working).
Anyway, looks like impressive work.
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
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Re: Flexible Vertex Format - alpha patch! D3D9 + OGL ready!
Very thanks for an info about underscore + uppercase combination, I will change it in a next release. In my projects I have rule: 'p' - 'parameter variable' and thats why I used it here, but You're right, in Irrlicht code style should be the same everywhere, so I will change it too.
BTW. If more comments about modifications in each file is needed I can prepare them for easier understand a changes in a code.
BTW. If more comments about modifications in each file is needed I can prepare them for easier understand a changes in a code.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Flexible Vertex Format - alpha patch! D3D9 + OGL ready!
great stuff Nadro, thanks for continuing with this
i'll have a look at some of the files over the weekend to make suggestions
i'll have a look at some of the files over the weekend to make suggestions
Re: Flexible Vertex Format - alpha patch! D3D9 + OGL ready!
Beta version is ready. I added support for both software drivers (I can't add support for D3D8, because I have the latest DX SDK now). Fixed pipeline drivers (so D3D8, Software, Burning's Video) support only built-in Irrlicht vertex types. I think that this isn't disadvantage, because flexible vertex format is helpful only for programmable pipeline, so for D3D9 and OGL. I removed '_' in local variables as CuteAlien suggested, but 'p' in parameters still exist.
BTW. Bug with shadows in D3D9 isn't caused by this patch, I see that in original rev4099 we have the same issue.
BTW. Bug with shadows in D3D9 isn't caused by this patch, I see that in original rev4099 we have the same issue.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Flexible Vertex Format - Beta version is ready!
I finished Release Candidate 1 patch. I added missing features in it (D3D8 driver, Parallax and Normal Materials for D3D9 and OGL). Compared to standard Irrlicht rev4099 only createForsythOptimizedMesh method is missing (I hope that author of original code will update it soon). Now we can optimize code (mainly OGL drawing section, which have many vertex pointers, attrib etc. calls per object).
After minor updates all Irrlicht examples works fine with this patch (exclude 08.SpecialFx shadow issue in D3D8 and D3D9, but as I mentioned this is Irrlicht bug).
Update:
RC2 is ready
Cheers,
After minor updates all Irrlicht examples works fine with this patch (exclude 08.SpecialFx shadow issue in D3D8 and D3D9, but as I mentioned this is Irrlicht bug).
Update:
RC2 is ready
Cheers,
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Flexible Vertex Format - Release Candidate 2 is ready!!!
Cool, can't wait for more!
Keep working or I will set an angry sheep after you!
Keep working or I will set an angry sheep after you!
Re: Flexible Vertex Format - Release Candidate 2 is ready!!!
Wow great work Nadro! I can see you've been hard at work getting this done.
Now we just have to hope the reviewing goes fast/fast-ish
I'll look for bugs and improvements.
Now we just have to hope the reviewing goes fast/fast-ish
I'll look for bugs and improvements.
Re: Flexible Vertex Format - special SVN branch is ready!!!
Thanks Everybody who wants check FVF support in Irrlicht and report potential bugs please use an Irrlicht from a shader-pipeline branch (link in a first post).
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Flexible Vertex Format - special SVN branch is ready!!!
Just posting all this here, will look whats causing it later.
Found a small error in include/IMeshManipulator.h needs to be
Also some insane lightshows going on in SpecialFX example
sudden parralax&normal map issue at distance, works well nearby.
Terrain Rendering example and Occlusion Query example in OpenGL crash with(Other drivers work normal for these examples, this might be related only to my system. )
Also a fast white flickering in Occlusion query when pressing space, with Burnings Video Driver.
A bug with bsp culling in irr tech demo when looking back towards entry point
Same problem with burnings video driver.
Also texture information read/draw issue in burnings video on particle sprites
Found a small error in include/IMeshManipulator.h
Code: Select all
if(CheckComponents[ElementCount-1])
Code: Select all
if(checkComponents[ElementCount-1])
Also some insane lightshows going on in SpecialFX example
sudden parralax&normal map issue at distance, works well nearby.
Terrain Rendering example and Occlusion Query example in OpenGL crash with(Other drivers work normal for these examples, this might be related only to my system. )
Code: Select all
Error while mapping shared library sections:
Error while mapping shared library sections:
Program received signal SIGSEGV, Segmentation fault.
In nvogl32!DrvValidateVersion () (C:\WINDOWS\SysWOW64\nvogl32.dll)
A bug with bsp culling in irr tech demo when looking back towards entry point
Same problem with burnings video driver.
Also texture information read/draw issue in burnings video on particle sprites
Re: Flexible Vertex Format - special SVN branch is ready!!!
The texture read/draw issue isn't related to the FVF, i already saw that before. It has to see with the blend operations.
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
Re: Flexible Vertex Format - special SVN branch is ready!!!
Thanks Mel, I was kinda suspecting that. Will look into those when I get the time. But other than these few bugs its really looking quite stable so far.
Might need some summary here of what exactly the FVF changes for irrlicht, so I can better aim the debugging.
Might need some summary here of what exactly the FVF changes for irrlicht, so I can better aim the debugging.
Re: Flexible Vertex Format - special SVN branch is ready!!!
Thanks for a report. I fixed bug with a VBO rendering, so examples should work correctly now. I compared them with an original examples from a trunk and it works the same (bugs are also the same eg. "Also a fast white flickering in Occlusion query when pressing space, with Burnings Video Driver."). I hope that example no. 11 will be work properly now, please check it if You can. On my Radeon HD4850 it works perfectly.
Adding support for a FVF required many changes in an internal parts of a IMeshBuffer (and derived CMeshBuffer), so all engine parts which need access to a vertices or indices needed update (loaders, scene nodes, mesh manipulators etc.). For D3D9 and OGL drivers rendering system is also strong modified (Software, Burning's and D3D8 uses only translate drawVertexPrimitiveList call to an original drawVertexPrimitiveList call and thats why these drivers support only built-in vertex structures, so S3DVertex, S3DVertex2TCoords and S3DVertexTangents).Might need some summary here of what exactly the FVF changes for irrlicht, so I can better aim the debugging.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Flexible Vertex Format - special SVN branch is ready!!!
I have also seen the disapearance of the castle in the demo. That is a bounding box not properly calculated, because the rendering (when done) works well. Anyway, i like the system to create vertex definitions, what i would like to have also is some documentation, but seems easy to understand anyway.
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt