3D Space Limitations?
Blitz3D Forums/Blitz3D Beginners Area/3D Space Limitations?
| ||
I read on another forum that DirectX has a fit sometimes if your models are not in a 4Kx4Kx4K area in 3D Space starting at 0,0,0 and not exceeding 4000,4000,4000...is this correct? thx :) |
| ||
No. But floating point maths get less accurate the further you go from zero, so you should periodically normalise everything. |
| ||
Sort of related; If I move my infinite 'sea' plane, continiously in one direction at a rate of say, 1 unit per pass, pretty soon my game becomes unstable and slow. Wondering if this has anything to do with accuracy being out....or something else. |
| ||
ok... yeah I think it makes it slower because of how blitz handles infinite planes, I am not an expert though. I think if you reset the variable to zero ever time it reaches 1 or something like that, it would work or you could make an animated texture if you can't get that to work right |
| ||
Yeah....I dont need to scroll the sea plane ....but did so to test something....and inturn, found this slow down. Additionally, when this occurs, and I let it go, after some time I see some artifacts on the display (some of my pixels get fixed and turn white - like dead pixels on a cam-corder) Memory bank illegal access? Odd. Anyway, back to the topic; if floats are less accurate the further they are from zero (like 4K), then wouldnt a good test be something like... Position cube1,0000,0000,0000 position cube2,4000,0000,0000 (main loop) x#=x#+0.01 Moveentity cube1,x#,0,0 Moveentity cube1,x#,0,0 text 100,100,"Cube 1 X position: "+entityx(cube1,1) text 100,130,"Cube 2 X position: "+entityx(cube2,1) (repeat) -----wouldnt the above return different (slightly) values (decimal)? (Cant test the above here...just theory) |
| ||
If you set up a test moving the camera and a cube away from the 0,0,0, you will see, as Gfk says, the world losing accuracy, as the cube and camera will jump around more and more. It's a sliding scale, so the further away you get, the worse everything is. Depends on what you set your camerarange at though, as this affect the z-buffer. You could try and use the W-buffer, as i believe this is a linear scale. |
| ||
>Additionally, when this occurs, and I let it go, after some time I see some >artifacts on the display (some of my pixels get fixed and turn white - like >dead pixels on a cam-corder) Memory bank illegal access? Odd. Sounds like a dodgy graphics card... This is usually how memory problems manifest themselves. |
| ||
Not a dodgy card. Perhaps more like a zbuffer oddity like Ross says. Anyhow, as I said, I dont need to scroll my water plane so no dramas. |
| ||
@ Thermo, Post some example code if you think it's not your card. Never seen this before myself. If it's a z-buffer oddity then it should be an issue on all cards. |
| ||
Let me sim it at home....if I can get it to happen again, All I can show is my movement code and a screen dump. |