SMALL_DEMO(Need Testers) [UPDATE 18_OCTOBER]

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

belfegor wrote:Forgat to ask you sio2, with what options you got 1500fps?
I got max 370fps with all options "low".
Intel Celeron 2.4ghz
nVidia 6200 (128 mb) - i think memory 400mhz processor 350mhz
ddr ntc 1024 mb (266 mhz)

I wish i have your hardware. :cry:
I went through every option in the menus and set them to their minimum. My frame rate is approx 2350fps. If you were using IrrSpintz and loading data to HW you'd probably get at least double the frame rate.

The machine has an nvidia 8800 640MB. 8)

This is with the older "5 part demo" by the way.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

belfegor wrote:Just reuploaded to g0dsoft.com and updated download link in first post.
Downloaded for me first time (in around 10 seconds) with no problems. Hopefully everyone else can download just fine now...
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

I'm having problems with the new demo. The display driver stops responding and I have to start task manager to exit the demo.exe process. I click New in the menu and I see the "loading" message go up to 100% but then the demo freezes and I get the driver message pop up from the taskbar.

I enabled Debug DX9 in the DX Control Panel and use DebugView to capture the debug output.

Here's the first part of the log:
00000000 0.00000000 [3500] Irrlicht Engine version 1.3.1
00000001 0.00003241 [3500] Professional (Build 6000)
00000002 0.01192079 [3500] Using renderer: Direct3D 9.0
00000003 0.01797016 [3500] Direct3D9: (INFO) :Direct3D9 Debug Runtime selected.
00000004 0.01848866 [3500]
00000005 0.04175950 [3500] D3D9 Helper: Enhanced D3DDebugging disabled; Application was not compiled with D3D_DEBUG_INFO
00000006 0.04204920 [3500] NVIDIA GeForce 8800 GTS nvd3dum.dll 7.15.11.6375
00000007 0.15340190 [3500] Direct3D9: (INFO) :======================= Hal HWVP device selected
00000008 0.15343514 [3500]
00000009 0.15355444 [3500] Direct3D9: (INFO) :HalDevice Driver Style b
00000010 0.15363489 [3500]
00000011 0.24337059 [3500] Direct3D9: (INFO) :Using FF to VS converter
00000012 0.24338876 [3500]
00000013 0.24341977 [3500] Direct3D9: (INFO) :Using FF to PS converter
00000014 0.24344239 [3500]
00000015 0.24496801 [3500] Direct3D9: (INFO) :Enabling multi-processor optimizations
00000016 0.24499539 [3500]
00000017 0.24550495 [3500] Direct3D9: (INFO) :DDI threading started
00000018 0.24552590 [3500]
00000019 0.27728441 [3500] Loaded texture: DATA\TEXTURE\KURD.TGA
00000020 0.28709039 [3500] Loaded texture: DATA\TEXTURE\IRRLD.TGA
00000021 0.29213127 [3500] Loaded texture: DATA\TEXTURE\NEWLD.TGA
00000022 0.30444986 [3500] Direct3D9: (ERROR) :Unsupported mip filter.
00000023 0.30447781 [3500]
00000024 0.30450740 [3500] Direct3D9: (ERROR) :Invalid texture sampler state value. SetSamplerState failed.
00000025 0.30453089 [3500]
00000026 0.30456915 [3500] Direct3D9: (ERROR) :SetSamplerState failed.
00000027 0.30459234 [3500]
00000028 0.30462140 [3500] Direct3D9: (ERROR) :Unsupported mag filter.
00000029 0.30464458 [3500]
00000030 0.30467224 [3500] Direct3D9: (ERROR) :Invalid texture sampler state value. SetSamplerState failed.
00000031 0.30469823 [3500]
00000032 0.30474570 [3500] Direct3D9: (ERROR) :SetSamplerState failed.
00000033 0.30477029 [3500]
00000034 0.30519438 [3500] Direct3D9: (ERROR) :Unsupported mip filter.
The "unsupported mip" and "unsupported mag" are repeated many times (log file is 10MB!). I think I reported this Irrlicht bug same time ago.

Also from the log (repeated many times):
00085349 44.31599808 [3500] Loaded texture: DATA\TEXTURE\FENCED.TGA
00085350 44.31628799 [3500] Direct3D9: (WARN) :Vertexbuffer created with POOL_DEFAULT but WRITEONLY not set. Performance penalty could be severe.
00085351 44.31631088 [3500]
00085352 44.31642914 [3500] Direct3D9: (WARN) :Indexbuffer created with POOL_DEFAULT but WRITEONLY not set. Performance penalty could be severe.
Also (repeated many times):
00091436 46.48052979 [3500] Direct3D9: (ERROR) :Index stream does not have required number of indices. DrawIndexedPrimitive failed.
As I say, the log is 10MB and repeats many messages so it's not something I can post. I'd advise enabling Debug DX9 so you can capture debug messages on your machine and see if you can solve them.

BTW Would it be possible to add a "windowed" option?
belfegor
Posts: 383
Joined: Mon Sep 18, 2006 7:22 pm
Location: Serbia

Post by belfegor »

sio2 wrote: If you were using IrrSpintz and loading data to HW you'd probably get at least double the frame rate.
I already use that althought i am not using IrrSpintz (only thing that i used is AnimatedImages and some particle affectors).
I create and render my objects manualy (dont use irr scene nodes at all):
CreateVertexBuffer() and CreateIndexBuffer() and fill
vertices/indices data from a file. I neded this because its faster, i can
create any vertex type i want, shadow volume effect needs special order of rendering for my models and i can use ".fx" effects with multipass.
Also with my method i can use any render target texture format (not yet in demo) or size.
Small FPS demo made using Irrlicht&NewtonDEMO
InfoHERE
Its at very early stage but i think im crazy enough to finish it all alone.
belfegor
Posts: 383
Joined: Mon Sep 18, 2006 7:22 pm
Location: Serbia

Post by belfegor »

The "unsupported mip" and "unsupported mag"
I also got that when enabling DX debug in control panel but i think it
has nothing to do with my rendering functions.

Try restarting after any changes in options.
One cause of frezze can be that some file is missing
(doesnt check integrity of files in this demo). :?

I have lot of fixes but it will be avilable next time i come back.
Last edited by belfegor on Wed Oct 17, 2007 11:36 am, edited 1 time in total.
Small FPS demo made using Irrlicht&NewtonDEMO
InfoHERE
Its at very early stage but i think im crazy enough to finish it all alone.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

belfegor wrote:
sio2 wrote: If you were using IrrSpintz and loading data to HW you'd probably get at least double the frame rate.
I already use that althought i am not using IrrSpintz (only thing that i used is AnimatedImages and some particle affectors).
I create and render my objects manualy (dont use irr scene nodes at all):
CreateVertexBuffer() and CreateIndexBuffer() and fill
vertices/indices data from a file. I neded this because its faster, i can
create any vertex type i want, shadow volume effect needs special order of rendering for my models and i can use ".fx" effects with multipass.
Also with my method i can use any render target texture format (not yet in demo) or size.
Excellent. Sounds like you've got it all figured out.

Spintz has addressed these issues BTW. IrrSpintz has HW VB/IB buffers, custom vertex formats for more flexibility (though not the ultimate flexibility of your method), Effect files (.fx), manual rendering order (as opposed to drawAll()), and RTT formats up to fp32. You're probably too far down the track to switch now, though, without a lot of recoding. :wink:
belfegor
Posts: 383
Joined: Mon Sep 18, 2006 7:22 pm
Location: Serbia

Post by belfegor »

Also i'd like to mention that buffers are shared so it doesnt waste memory.

Do you still got crash even if you restart app?
Small FPS demo made using Irrlicht&NewtonDEMO
InfoHERE
Its at very early stage but i think im crazy enough to finish it all alone.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

belfegor wrote:Also i'd like to mention that buffers are shared so it doesnt waste memory.
Yeah, Spintz has something like that. You can make a buffer of data (vertex or index) and get an ID back that you can use to apply to mesh nodes or use in special driver->drawindexedprimitives() calls. The u32 id's are actually IDirect3DVertexBuffer9 pointers, I believe.
belfegor wrote:Do you still got crash even if you restart app?
The crash was with Vista. I just tested on XP and it ran OK with no crashes. :?

Anyway, on XP with default settings I get 1220fps. I'm getting 400fps at 1280x1024 with everything on max, including shadows at 1024x1024.

One thing I noticed is that player movement speed depends on the players view angle. If you look at you feet you hardly move at all. :wink:
PI
Posts: 176
Joined: Tue Oct 09, 2007 7:15 pm
Location: Hungary

Re:

Post by PI »

Hi! I've got a Radeon X800 GTO with 2GB RAM, a simple gray screen appears when hitting the 'new game' button. Tried many different settings, changed resolution, monitor refresh rate, texture and other qualities, etc. I still have my August DX9c, and the latest gfx-card driver. No error, FPS running up (I see the FPS meter) but just a dumb gray screen, nothing else.

Neither the motion blur effect worked in SiO2's city-driver demo.

According to this I've got SM2.0 support. Is this someting specific?

Regards,
PI
agi_shi
Posts: 122
Joined: Mon Feb 26, 2007 12:46 am

Post by agi_shi »

After a bit of extensive testing, it's very nice!

- with everything on high or max or whatever the best option was, I was constantly around 500-1000FPS (1024x768)

- stuff doesn't always get picked up. I'm guessing this is because it goes to sleep and is not picked up by the raycast. The same thing happened to my pickup code, and what I did was use my wakeAABB function. It just basically wraps up NewtonForEachBodyInAABBDo(...) and "wakes" the body up. Note that using NewtonBodySetFreezeState(...) (or whatever it was called, I don't see pure newton code anymore ;)) not always works (at least for me :X), so you might as well apply an unnoticeable impulse to wake a body.

- the newton raycast seems a bit... odd. The object isn't always "found", even if it's practically in the middle of the screen. I encountered this, too, and switched to this: find all objects in a given radius (again, for each body in AABB), and see which object most closely matches the view direction (via a simple dot product).

- I'm getting some really bad ... syncing... not sure what to call it. Seems like the screen is refreshing a lot slower than it should. Vsync does not fix it.

- How do you simulate the player body? You can tunnel through walls :? I'm guessing your forces are too high and you've turned on swept collision for the player body, and thus you can tunnel through the walls. Odd, though, at the forces of the player (from what I can observe), you shouldn't be able to do that.

Everything else was great! I loved the UI, and especially the configuring of the controls! Great job!
belfegor
Posts: 383
Joined: Mon Sep 18, 2006 7:22 pm
Location: Serbia

Post by belfegor »

Uhhhhhh... :oops: :oops: :oops: :oops: :oops: :oops:

I guess someone must make mistakes when doing all things alone.

Found what caused DrawIndexedPrimitive() to fail.
When rearanging code around i forgat to divide number of indices by 3
to get number of triangles when sending to this function.
sio2 wrote:You can make a buffer of data (vertex or index) and get an ID
I make array of MeshBuffer and then when i need to pass it (something like):

Code: Select all

function(MeshBuffer[BufferIndex].VerticesBuffer);
function(MeshBuffer[BufferIndex].IndicesBuffer);
witch return IDirect3DVertexBuffer9 and IDirect3DIndexBuffer9.
sio2 wrote: One thing I noticed is that player movement speed depends on the players view angle
Yes, i noticed that, i was missing one normalize, fixed in new update.
sio2 wrote:...including shadows at 1024x1024.
this shadow volume doesnt use RT. Combo is left (as other options) for
later use.

agi_shi

-I tried (something) NewtonBodyUnfreeze() but it doesnt help
ill try your suggestion.

- about vsync, make sure you have only one monitor enabled
i had TV attached and whatever refresh rate i set it always retrurn
60 fps until i disable TV in nvidia control panel (if that is problem).
agi_shi wrote:How do you simulate the player body...
I noticed that, forgat to play with material sofftness.

PI

Sorry it was my mistake, it only shows up when you enable debug DX runtimes in control panel. And main cause is that was DrawIndexedPrimitive() was failing.
But i fix it in this new update (see DL in first post).
Last edited by belfegor on Thu Oct 18, 2007 6:27 am, edited 6 times in total.
Small FPS demo made using Irrlicht&NewtonDEMO
InfoHERE
Its at very early stage but i think im crazy enough to finish it all alone.
belfegor
Posts: 383
Joined: Mon Sep 18, 2006 7:22 pm
Location: Serbia

Post by belfegor »

I have some new additions but i was to early with it because of this
DrawIndexedPrimitive() problem.
Still some warnnings remain (witch i cant see the cause):

Code: Select all

Vertexbuffer created with POOL_DEFAULT but WRITEONLY not set.
but i explicitly specify usage D3DUSAGE_WRITEONLY and pool D3DPOOL_DEFAULT when creating vertex buffers.!?!

and:

Code: Select all

Unsupported mag filter.
Unsupported mip filter.
texture filtering witch is bug in irrlicht 1.3.1. I didnt test (yet) 1.4 because it would require lot of code change.

Fixes
-added new effect, reflection with cubemap (still not tested/corrected)
thruoutly
-added lower floor level (for now you can use leader until i finish elevator)
-more barrels (testing buffer sharing)
-one door (still testing)
-fixed player movement
-fixed setting AntiAlias (you should get only supported AA by your gfx in combo box)
-you should not need now to restart app when changing "system" options
-now throwing with "fire key" and putting it "g-ently" "interact key"
-player body is now capsule

bugs

-shadow volumes need more corrections
-working on modeling
-working on lightmapping

If you people can test this again, please.
Thanks greatly for all your help.

Belfegor.
Small FPS demo made using Irrlicht&NewtonDEMO
InfoHERE
Its at very early stage but i think im crazy enough to finish it all alone.
belfegor
Posts: 383
Joined: Mon Sep 18, 2006 7:22 pm
Location: Serbia

Post by belfegor »

PI wrote:Neither the motion blur effect worked in SiO2's city-driver demo.
I was testing some effects witch work great on nvidia but show artifacts
on ati cards, still dont know the cause.
Small FPS demo made using Irrlicht&NewtonDEMO
InfoHERE
Its at very early stage but i think im crazy enough to finish it all alone.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

belfegor wrote:
PI wrote:Neither the motion blur effect worked in SiO2's city-driver demo.
I was testing some effects witch work great on nvidia but show artifacts
on ati cards, still dont know the cause.
People have reported problems with my driving demos on ATI cards, mainly X800 by the looks of it. I'm going to be testing my stuff on an X1800 - I'll also try your stuff and see if I can find out anything useful for you.
I guess someone must make mistakes when doing all things alone.
I know the feeling. I make mistakes too. :lol:
belfegor
Posts: 383
Joined: Mon Sep 18, 2006 7:22 pm
Location: Serbia

Post by belfegor »

sio2 wrote: I'll also try your stuff and see if I can find out anything useful for you.
Thank you. You've been greatly helpful to find out annoying bugs.
Anyones else help is also fully appreciated.

Belfegor.
Small FPS demo made using Irrlicht&NewtonDEMO
InfoHERE
Its at very early stage but i think im crazy enough to finish it all alone.
Post Reply