Dark Bit Factory & Gravity

GENERAL => Projects => Topic started by: Optimus on June 15, 2006

Title: ZeEngine3D highpolygon count test.
Post by: Optimus on June 15, 2006

Hi!

This is my 3d software engine I am currently developing in C (I am thinking to port it in Freebasic too oneday). It derives from the GP32 3d engine I was developing since a long time which used a lot of fixed point and precalcs for divisions, though this one is the PC oriented where I replaced most of the integer things with floating point values and real divisions again (except from the triangle rasterizer). That's because the fixed point version would overflow and bug with bigger worlds and objects and I also wanted to have a modern fpu one for experimenting on PC which is more than enough for fast floating point math.

With this one I decided to render some really detailed meshes which I downloaded from Stanford university. The least detailed of them is the Stanford bunny (65000 polygons) and the next one I tried is Armadillo (365000 polys!  >:D). In the website there are free objects to download that have even some million polygons (especially Lucy with 38 million polygons!!!!!!!  O0). I won't try to render the last ones yet (the Armadillo in some conversion of data I have to rewrite, took 1 and a half hour to generate my 3do format (the original objects were ply and I read the ASCII versions of them))

The file is 6MB and is located at freewebs. Go in my website and download because external hotlinking is not allowed. Here:
http://www.freewebs.com/optimus6128/ZeEngine3D.htm

p.s. I couldn't believe my software engine could rendered 65000 polygons with gouraud shading or env-mapping in around 15-20fps in my PC. Wow! The armadillo with all full runs at 5fps!
p.p.s. Please notice there are keys to render dots, wireframe, flat, gouraud and z-buffer(1-5), Space to change object, s to change gouraud colors
p.p.p.s. At the beginning you may have to wait some pregeneration of normals. With the armadillo object it makes 3-5 seconds in my computer before the start.
Title: Re: ZeEngine3D highpolygon count test.
Post by: zparticle on June 15, 2006
That's very cool. The wrapping from side to side is a bit strange, needs some clipping code added. :)
Title: Re: ZeEngine3D highpolygon count test.
Post by: Shockwave on June 15, 2006
Man that's some sweet stuff.
The armadillo in mode 5 renders in 9 fps here and looks absolutely excellent!
I was surprised at some of the other objects, especially the Statue :)

All modes work fine here, some objects gave tremendously high fps, such as the teapot which ran at about 400fps and the cube ran at over 750 fps!!!

It's looking good so far Optimus.
Title: Re: ZeEngine3D highpolygon count test.
Post by: Stonemonkey on June 15, 2006
Cool stuff Optimus, I have some missing triangles with modes 3 and 5 though, particularly with the F1 car.
Title: Re: ZeEngine3D highpolygon count test.
Post by: Tetra on June 15, 2006
Looks like its coming along nicely ;D
great stuff, keep it coiming
Title: Re: ZeEngine3D highpolygon count test.
Post by: Optimus on June 15, 2006
>The wrapping from side to side is a bit strange, needs some clipping code added

Yep, it's one thing in my todo list :)
Also, if the object move more out of the screen, crashes or extreme slow downs may appear. It's one of the things I haven't fixed. I wanted to add an option to rotate and zoom an object with the mouse, but this would easilly lead to such cases and crash the system. That's why I have each object carefully placed and rotated at a specified area by myself so that the very bad errors doesn't occure in this preview ;)

>Cool stuff Optimus, I have some missing triangles with modes 3 and 5 though, particularly with the F1 car.

Yes, I compiled this fast for the preview without changing the specific object to another one. At first I thought wtf? Later, I tried some proffesional mesh viewers/converters to see the object but the bugs were similar. And so I think that the object data is wrong already in the file, wrong triangle orientation produces wrong normal generation.

>The armadillo in mode 5 renders in 9 fps here and looks absolutely excellent!
>All modes work fine here, some objects gave tremendously high fps, such as the teapot which ran at about 400fps and the cube ran at >over 750 fps!!!

You Must Have a Monster PC!!! ok,. the armadillo with mode 5, 6fps here. But the rest? You must also have a preety slick videocard (at least if the 400/750 values were reported while the rendering window was 100% in front of you). To explain my point, I made an experiment in the past. It seems that SDL speed is cleverly not affected by the rendering when you move the window or part of it outside the screen or if another window is in front of it or hides part of it. And it seems that a lot of time is eaten just for rendering the window with SDL. When I want to see pure calculating speed, I move the main window down so that it's out of the screen, you see then the frame rate going high. But with all the framebuffer hidden I can't even get more than 400-600 at the cube with dots rendered. If you got such big number while the rendering screen was in front of you (and not hidden by any other window) then it's extreme. Both your gfx card is preety good at rendering/gfx output AND your CPU is preety slick enough. Btw, how was the frame rate in the bunny?  :||

Lol  O0

Title: Re: ZeEngine3D highpolygon count test.
Post by: Rbz on June 16, 2006
Pretty cool dude :)

For the bunny, I got:
mode 1 = 130 fps
mode 2 = 50 fps
mode 3 = 33 fps
mode 4 = 19 fps
mode 5 = 21 fps

P4 2.8Ghz 512MB
Geforce 6600gt 128MB
Title: Re: ZeEngine3D highpolygon count test.
Post by: relsoft on June 16, 2006
whooaaa!!!!
Title: Re: ZeEngine3D highpolygon count test.
Post by: Shockwave on June 16, 2006
Ok, Yes I must have had part of the view window obscured so here are some more fps readings..

Cube..
Mode 1: 678 FPS
Mode 2: 702 FPS
Mode 3: 403 FPS
Mode 4: 354 FPS
Mode 5: 361 FPS

Bunny:
Mode 1: 257 FPS
Mode 2: 72 FPS
Mode 3: 43 - 50 FPS
Mode 4: 19 - 25 FPS
Mode 5: 23 - 30 FPS

Armadillo:
Mode 1: 73 FPS
Mode 2: 13 FPS
Mode 3: 10 FPS
Mode 4: 7 - 8 FPS
Mode 5: 9 FPS

Teapot:
Mode 1: 677 FPS
Mode 2: 665 - 692 FPS
Mode 3: 377 - 398 FPS
Mode 4: 316 - 340 FPS
Mode 5: 334 - 339 FPS

My Computer isn't a great spec but it's ok.
P4 3.0 GHZ, Radeon X300 SE 128MB, 512MB Ram
Title: Re: ZeEngine3D highpolygon count test.
Post by: Shockwave on June 16, 2006
Nb. I Tried hiding all the display window behind the dos window and ran the cube in dot mode and got some crazy fps of over 2,500!
Title: Re: ZeEngine3D highpolygon count test.
Post by: Clyde on June 16, 2006
Bunny
1- 184
2- 45
3- 34
4- 16
5- 22

Car1
1- 364
2- 187
3- 127
4- 85
5- 94

Car2
1- 320
2- 162
3- 115
4- 80
5- 84

Armadillo
1- 58
2- 9
3- 8
4- 5
5- 6

Cube
1- 435
2- 425
3- 260
4- 230
5- 241

Face
1- 424
2- 364
3- 202
4- 175
5- 150

Teapot
1- 433
2- 405
3- 265
4- 225
5- 228

Collesium
1- 418
2- 285
3- 130
4-  80
5-  81

Statue
1- 400
2- 260
3- 135
4-  93
5- 110

The fps are taken from a machine with:
2.66ghz Pentium 4
Geforce 5500 w/ 128 Mb
512 Mb
XP SP2

Sweet engine Optimus dude.

Cheers and all the best,
Clyde.
Title: Re: ZeEngine3D highpolygon count test.
Post by: Optimus on June 17, 2006
Thanks! The data are interesting.
Title: Re: ZeEngine3D highpolygon count test.
Post by: relsoft on June 20, 2006
that's all gouraud?  No texture mapping? WOW!
Title: Re: ZeEngine3D highpolygon count test.
Post by: Optimus on June 20, 2006
The bunny in the screenshot is enviroment mapped and uses a non perspective texture mapping routine that looks like an ass on a cube ;)
Yep, the two objects are sooo well detailed that they look like bump mapped with only pure gouraud enabled!
Title: Re: ZeEngine3D highpolygon count test.
Post by: Blitz Amateur on June 22, 2006
That's excellent!


(These FPS are averaged[Meaning I took the high and low and made a guess at an average] )
Bunny
Mode 1 - 233 FPS
Mode 2 - 73 FPS
Mode 3 - 40 FPS
Mode 4 - 26 FPS
Mode 5 - 32 FPS

Car
Mode 1 - 503 FPS
Mode 2 - 285 FPS
Mode 3 - 157 FPS
Mode 4 - 107 FPS
Mode 5 - 115 FPS

RaceCar
Mode 1 - 428 FPS
Mode 2 - 242 FPS
Mode 3 - 133 FPS
Mode 4 - 91 FPS
Mode 5 - 97 FPS

Amradillo
Mode 1 - 64 FPS
Mode 2 - 14 FPS
Mode 3 - 9/10 FPS
Mode 4 - 6 FPS
Mode 5 - 8 FPS

Cube
Mode 1 - 610 FPS ( With the screen hidden, over 1300 FPS )
Mode 2 - 585 FPS
Mode 3 - 347 FPS
Mode 4 - 315 FPS
Mode 5 - 283 FPS

Face
Mode 1 - 599 FPS
Mode 2 - 523 FPS
Mode 3 - 257 FPS
Mode 4 - 217 FPS
Mode 5 - 182 FPS

Teapot
Mode 1 - 601 FPS
Mode 2 - 560 FPS
Mode 3 - 351 FPS
Mode 4 - 285 FPS
Mode 5 - 294 FPS

Building
Mode 1 - 575 FPS
Mode 2 - 400 FPS
Mode 3 - 165 FPS
Mode 4 - 118 FPS
Mode 5 - 96 FPS

Statue
Mode 1 - 571 FPS
Mode 2 - 391 FPS
Mode 3 - 286 FPS
Mode 4 - 125 FPS
Mode 5 - 135 FPS


Specs:

AMD Athlon64 2.2 GHz 512K Cache, 1 gig dual channel DDR, PCI-Express ATI RADEON X800 Pro 256Mb GDDR3  O0
Title: Re: ZeEngine3D highpolygon count test.
Post by: Optimus on June 23, 2006
Thanks, other interesting data. Now I am thinking it, one major reason for the speed diferrence would be the faster memories (My own computer has some old DDRs at "I don't remember" mhz)