Terrain Rendering Broken in DX9/8.1, works in OGL.

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
joshcryer
Posts: 46
Joined: Thu Sep 13, 2007 8:57 am
Contact:

Terrain Rendering Broken in DX9/8.1, works in OGL.

Post by joshcryer »

On my system, Windows XP, ATI Radeon Mobility 9000, DX9c 2GB RAM, Terrain Rendering is borked. OpenGL works just fine.

Here's a video showing what it looks like: http://www.youtube.com/watch?v=2q7c7WSuMqU

(Just for a clarification, the video is SVN revision 1968, but it behaves the same with the 1.5 build using DX9 and DX8.1.)
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

I can see it in D3D 8.1 but not D3D 9.

The cause escapes me for the moment.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Did it work with 1.4.x? This is the unaltered SDK example? I'd guess that there's some cap missing for 32bit indices, however the default terrain should generate 16bit terrains...
I've also seen a similar problem with the ogl-es driver, but didn't investigate it so far.
joshcryer
Posts: 46
Joined: Thu Sep 13, 2007 8:57 am
Contact:

Post by joshcryer »

Absolutely worked with 1.4.x. And yeah, if it wasn't clear, it's also broken in the 1.5 compiled examples that you guys made.
Mirror
Posts: 218
Joined: Sat Dec 01, 2007 4:09 pm

Post by Mirror »

hybrid wrote:Did it work with 1.4.x? This is the unaltered SDK example? I'd guess that there's some cap missing for 32bit indices, however the default terrain should generate 16bit terrains...
I've also seen a similar problem with the ogl-es driver, but didn't investigate it so far.
for the bold part : hm, when i run the terrain rendering example in software driver or in burning's driver the console starts spamming a message "software driver cannot render 32bit buffers" so i guess it doesn't generate 16bit..
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Ouch, that would mean that there's a miscalculation. But that's a good hint 8)
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Image
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
matgaw
Posts: 45
Joined: Sat Oct 06, 2007 11:33 am

Post by matgaw »

It doesn't work also with:
Mobile Intel(R) 915GM/GMS,910GML Express Chipset Family ialmrnt5.dll 6.14.10.4332, WinXP SP2

Irrlicht version 1.5 and SVN 1981 (1.4.2 works fine)
DirectX 9.0c (OpenGL works fine)

The terrain isn't rendered when heightmap is 513x513. If it's 129x129 it works fine. No errors in console. Even the compiled example of terrain rendering in the 1.5 release doesn't work.

It works fine with RADEON X550 ati2dvag.dll 6.14.10.6561, both Irrlicht versions.
joshcryer
Posts: 46
Joined: Thu Sep 13, 2007 8:57 am
Contact:

Post by joshcryer »

It's fixed in SVN, just so ya know.
matgaw
Posts: 45
Joined: Sat Oct 06, 2007 11:33 am

Post by matgaw »

In latest SVN 1981 it still doesn't work!
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

There are two things: The 256x256 terrain now also uses 16bit indices, so the example should work again. But larger terrains still use 32bit indices, and we have to check the caps for proper support.
matgaw
Posts: 45
Joined: Sat Oct 06, 2007 11:33 am

Post by matgaw »

hybrid wrote:There are two things: The 256x256 terrain now also uses 16bit indices, so the example should work again. But larger terrains still use 32bit indices, and we have to check the caps for proper support.
Can I assume that this issue will be fixed in Irrlicht in some near future (let's say - one month), and after that I'll be able to use as large terrains as I like on every video card on DX9, or is it only my dream which will never come true?

Thanks for the info anyway!
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Well, larger terrains didn't work before, so you don't lose anything compared to the previous releases. But yes, we're working on this since the day this was mentioned (approx. two days after the release :roll: )
matgaw
Posts: 45
Joined: Sat Oct 06, 2007 11:33 am

Post by matgaw »

Actually after releasing 1.5 I converted all my tiled terrains (which didn't fit together good when watched with LOD>0) to one big terrain and now on some graphics cards this can't be viewed with DX9 renderer which we're using. Temporary workaround is using OGL renderer but this slows down the framerate.

Is there any idea to get it working right now or we'll have to wait? I ask because I must release my project demo this week and it's a bit annoying.

SVN 2010 still broken.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

matgaw wrote:It doesn't work also with:
Mobile Intel(R) 915GM/GMS,910GML Express Chipset Family ialmrnt5.dll 6.14.10.4332, WinXP SP2

Irrlicht version 1.5 and SVN 1981 (1.4.2 works fine)
DirectX 9.0c (OpenGL works fine)

The terrain isn't rendered when heightmap is 513x513. If it's 129x129 it works fine. No errors in console. Even the compiled example of terrain rendering in the 1.5 release doesn't work.

It works fine with RADEON X550 ati2dvag.dll 6.14.10.6561, both Irrlicht versions.
Unless I'm mistaken, it sounds as though the radeon supports 32-bit indices and the intel doesn't. DXDiag should tell you this IIRC.
Post Reply