3000th commit - IrrlichtBAW (GIT repo, v 0.3.0-gamma1)
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Due to weird scheduling needs, and a few bugs (such as FPS dropping to 1 with a lot of mobs). My focus has switched to instanced hardware skinned meshes.....
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Make instancing an automate feature.
Detect hardware and enable instancing.
I think Urho3D does something like this.
Detect hardware and enable instancing.
I think Urho3D does something like this.
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Ha! Really Devsh style of answer!
lol
It would be educative for all of us to explain why you are against the idea detecting the graphics card capabilities and enabling hardware instancing? Maybe you have another way to do it, or you can't think about it now because you are really busy on other parts... One thing I'm 110% sure it's not because your not able to do it!![Wink :wink:](./images/smilies/icon_wink.gif)
![Smile :)](./images/smilies/icon_smile.gif)
It would be educative for all of us to explain why you are against the idea detecting the graphics card capabilities and enabling hardware instancing? Maybe you have another way to do it, or you can't think about it now because you are really busy on other parts... One thing I'm 110% sure it's not because your not able to do it!
![Wink :wink:](./images/smilies/icon_wink.gif)
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
on a sidenote ...
http://edu.buildaworld.net/
the large city imports are getting a much needed fps upgrade
don't we all love devsh![Smile :-)](./images/smilies/icon_smile.gif)
http://edu.buildaworld.net/
the large city imports are getting a much needed fps upgrade
don't we all love devsh
![Smile :-)](./images/smilies/icon_smile.gif)
Last edited by sodandk on Fri Jun 17, 2016 9:04 am, edited 2 times in total.
Build A World -> http://www.buildaworld.net/
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Because it would be slow and cumbersome. It's the same as filesystem deduplication or KSM page merging - it's slow to detect a possible match, and if things change, you have to undo work. If you're interested, read up on those two.
Manual instancing in contrast is just fine. When you tell it to instance this mesh 100 times in these places, and are explicitly aware when it is created and changed.
Manual instancing in contrast is just fine. When you tell it to instance this mesh 100 times in these places, and are explicitly aware when it is created and changed.
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
I think for skeletal animation and animated mesh. It is needed.
For Urho3D, you can spawn 1k+ of animated characters with shadow enabled without issues of slowing down. That was on a laptop in debug mode.
It is actually more optimised than Orge3d for large number of meshes.
They are using Quaternion for scene node transformation internally.
Regards
For Urho3D, you can spawn 1k+ of animated characters with shadow enabled without issues of slowing down. That was on a laptop in debug mode.
It is actually more optimised than Orge3d for large number of meshes.
They are using Quaternion for scene node transformation internally.
Regards
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Hi, Thanhle.
Why should the instancing be done automatically? Hendu have a point there. If at least you can do it (BTW congrat for implementing this on BAW), I don't see a issue.
Can an mesh can still be instanced, if it's deformed by the skinning/bones/animations? Would you surely need to have hardware skinning too. Doing this with software skinning as in Irrlicht would surely not work.
Why should the instancing be done automatically? Hendu have a point there. If at least you can do it (BTW congrat for implementing this on BAW), I don't see a issue.
Can an mesh can still be instanced, if it's deformed by the skinning/bones/animations? Would you surely need to have hardware skinning too. Doing this with software skinning as in Irrlicht would surely not work.
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
You need to pass per-instance data to be able to do variation, auto-instancing goes contrary to optimization because it would require me to gather up the separate ISceneNode.s and aggregate their transformations etc. into a continuous array.
I pass my per-instance data the fastest way possible, through the use of Vertex Attribute Divisors instead of uniform arrays, it allows for millions of instances AND doesn't suffer from constant waterfalling.
But the per instance data needs to sit in a GPU buffer which I only want to update once, and that is when some instances move during the frame... IN A CONTINOUS BUFFER
So by doing auto-instancing that would be throwing half the speed gain away.
I pass my per-instance data the fastest way possible, through the use of Vertex Attribute Divisors instead of uniform arrays, it allows for millions of instances AND doesn't suffer from constant waterfalling.
But the per instance data needs to sit in a GPU buffer which I only want to update once, and that is when some instances move during the frame... IN A CONTINOUS BUFFER
So by doing auto-instancing that would be throwing half the speed gain away.
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
The web page looks fantastic!
I never realized how deep this goes.
You could even implement mass psychology.
It looks like the start of the matrix, really!
(sends shivers down my spine)
I need a system upgrade..
I never realized how deep this goes.
You could even implement mass psychology.
It looks like the start of the matrix, really!
(sends shivers down my spine)
I need a system upgrade..
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Due to the extraordinary slowness of the Software Skinning on top of the flexible vertex format... a number of features have become essential for the 0.1 release of BaWIrrlicht
Stuff to do for the 0.1 Release:
A) Implement Transform Feedback
1) Make use of IGPUAnimatedMesh compulsory (Hardware Skinning)
2) SSE3 SIMD Dual Quaternion Class
3) Dual Quaternion Skinning
4) InstancedMeshSceneNode for static and animated nodes!
Stuff to do for the 0.1 Release:
A) Implement Transform Feedback
1) Make use of IGPUAnimatedMesh compulsory (Hardware Skinning)
2) SSE3 SIMD Dual Quaternion Class
3) Dual Quaternion Skinning
4) InstancedMeshSceneNode for static and animated nodes!
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
I got your Irrlicht BAW.. Looks very cool, but can't compile it with VC 2005 Express..
Would it be possible to give us a"*.vcproj" that we could open with earlier versions of VC?
Would it be possible to give us a"*.vcproj" that we could open with earlier versions of VC?
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
You can download latest version of Visual Studio for free.
VS 2005 is ooolllllddddd.
VS 2005 is ooolllllddddd.
Build A World -> http://www.buildaworld.net/
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Build A World EDU -> http://edu.buildaworld.net/
BAW on Facebook -> http://www.facebook.com/BuildAWorld.net
BAW on YouTube -> http://www.youtube.com/user/wwwbuildaworldnet/videos
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Thanks! I got a cool stand alone installation ISO (installed on my machine using Daemon Tools) here:
(727,351,296 bytes)
http://www.pcadvisor.co.uk/download/dev ... inkid=2808
Questions..
- I can compile all my old Irrlicht Projects fine with it, so..
- I got this far with Irr-BAW in VC 2010:
![Image](http://i67.tinypic.com/cox1i.jpg)
O.K.
(727,351,296 bytes)
http://www.pcadvisor.co.uk/download/dev ... inkid=2808
Questions..
- I can compile all my old Irrlicht Projects fine with it, so..
- I got this far with Irr-BAW in VC 2010:
![Image](http://i67.tinypic.com/cox1i.jpg)
O.K.
Re: To The Rescue of Your FPS - BAW Irrlicht (GIT repo, ver
Now I want to ask.."Is Irr BAW for 64 bit only?" (I have Win XP 32 bit)
- I changed "x64" to "win32" and compiled resulting
in the following error message:
"1>------ Build started: Project: Irrlicht, Configuration: Static lib - Release - Server Win32 ------
1>Project file contains ToolsVersion="14.0", which is not supported by this version of MSBuild. Treating the project as if it had ToolsVersion="4.0".
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(511,5): error MSB8008: Specified platform toolset (v140) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========" blah blah..
- I Googled ToolsVersion="14.0", and changed "Platform Tooset" to "V100".
- The compilation seems to do something this time but, again errors like
"missing files".
- I copied those missing files from the original Irrlicht Engine Source to BAW Directories (never replacing).
Compilation now looked even better, but again errors:
"irrlichtbaw-master\include\IMeshBuffer.h(722): error C2719: 'input':
formal parameter with __declspec(align('16')) won't be aligned"
- What am I forgetting?
I can compile my other projects so I'm stuck right here..
(properties screen grab on next page..)
- I changed "x64" to "win32" and compiled resulting
in the following error message:
"1>------ Build started: Project: Irrlicht, Configuration: Static lib - Release - Server Win32 ------
1>Project file contains ToolsVersion="14.0", which is not supported by this version of MSBuild. Treating the project as if it had ToolsVersion="4.0".
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(511,5): error MSB8008: Specified platform toolset (v140) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========" blah blah..
- I Googled ToolsVersion="14.0", and changed "Platform Tooset" to "V100".
- The compilation seems to do something this time but, again errors like
"missing files".
- I copied those missing files from the original Irrlicht Engine Source to BAW Directories (never replacing).
Compilation now looked even better, but again errors:
"irrlichtbaw-master\include\IMeshBuffer.h(722): error C2719: 'input':
formal parameter with __declspec(align('16')) won't be aligned"
- What am I forgetting?
I can compile my other projects so I'm stuck right here..
(properties screen grab on next page..)
Last edited by Vectrotek on Mon Jun 27, 2016 8:05 pm, edited 2 times in total.