Little Demo Thingy

Member
Posts: 49
Joined: 2002.05
Post: #16
Iceman, I have the same card and it does the same thing to me. It used to do this even back when I had a 32x32 particle texture and zoomed in on it so I guess it's fill rate limited like OneSadCookie said.

I have a question because I don't know much about fill rate limitations. Is a card either fill rate limited or not fill rate limited or do all cards suffer from this to a certain degree?

Jon, you found a bug. There was a memory leak going on there. I booted up in OS 9 and found it and got rid of it. I'm currently changing the camera code a bit and trying to squash another bug.
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #17
There are a number of basic limits that all 3D cards suffer from. Precisely which (if any) of those limits you hit, though, is dependent on your program and the particular 3D card in question.

"Fill Rate" refers to speed that the card can fill pixels in the frame buffer. That means that whenever you draw two overlapping polygons, you're wasting fill rate*. This is typically affected also by the size of your textures, whether you have blending, alpha-testing, multitexturing, &c turned on.

"Transform Rate" refers to the speed that world space vertices as supplied by you can be turned into 2D screen coordinates. On modern graphics cards with hardware transform & lighting, it's very difficult to hit the transform rate of the card. If you were just drawing 1-pixel points you might come close, but you're probably more likely to end up bandwidth-limited...

There's a certain amount of bandwidth available from the CPU/main memory to the video card. Each vertex you send chews up some of this bandwidth. Uploading textures (for example, if textures have to be paged or you use dynamic textures) uses significant amounts of this bandwidth. If all your textures are static and all fit into VRAM, you're unlikely to hit this limitation.

----------

* The ATI Radeon and later cards, and the NVidia GeForce4Ti (?) and later cards have an early-out if the z-buffer test is failed. That means that you can dramatically save on fill rate by drawing front-to-back.
Quote this message in a reply
Member
Posts: 49
Joined: 2002.05
Post: #18
Jon here is my fixed version. I tested it in Classic and it seemed to work fine. If you wanted to give it a try that would be great.
Quote this message in a reply
Moderator
Posts: 522
Joined: 2002.04
Post: #19
Quote:Originally posted by Ian Kerr
Jon here is my fixed version. I tested it in Classic and it seemed to work fine. If you wanted to give it a try that would be great.

Works great, can't find any problems.

-Jon
Quote this message in a reply
Feanor
Unregistered
 
Post: #20
Hello,

nice work. What did you design the models and textures with?

I had great performance on my geforce2 card. The second demo with the Dwarf doing his little dance gets a bit disturbing after a while. "How does he do that so fast and not get tired or wreck a knee?"

I'd like to be able to rotate the model.

--FÎanor
Quote this message in a reply
Member
Posts: 49
Joined: 2002.05
Post: #21
Thanks for trying it out Smile

I designed the model a year or so ago in Animation Master (http://www.hash.com). The animations were done in Animation Master too. I painted the textures in Photoshop.

The animations for the dwarf run at almost the right speed on my Rage128, still a bit fast though. Once I add frame interpolation, you'll be able to set the speed of the animation so that it will run at the same pace on all computers. If you want to get a different view of the model check out the readme, I *think* it lists camera controls.
Quote this message in a reply
Member
Posts: 304
Joined: 2002.04
Post: #22
Quote:Originally posted by Ian Kerr
I designed the model a year or so ago in Animation Master (http://www.hash.com). The animations were done in Animation Master too. I painted the textures in Photoshop.

Ian,
Do you like A:M?? Im thinking of getting A:M 2003 - since they promise that this version will eventually be Mac OS X native. How well does it work in the classic environs?

Unfortunately their SDK only runs in windows - and isnt opensource.

So I was wondering how difficult is it to read in models and animation file formats from A:M? Are their file formats still text based and well documented? Do you have any example code you could share? What triangle-based formats will A:M export to - can I export to dxf or something?

In your code are you reading in the actual spline patches and rendering those - or have you already triangulated it?

I really only plan to use it for game modelling/animation (I wont be rendering stuff in A:M) - so if I cant figure out how to read the files it wont be useful for me.

thanks,
Codemattic
Quote this message in a reply
Member
Posts: 49
Joined: 2002.05
Post: #23
Quote:Originally posted by codemattic
Ian,
Do you like A:M?? Im thinking of getting A:M 2003 - since they promise that this version will eventually be Mac OS X native. How well does it work in the classic environs?

I do like Animation Master, but there are some significant drawbacks. The version that I have will not run in Classic. I have to boot into OS 9 because the program will not recognize the cd. The newer versions do run in Classic. You might want to wait until their OS X native version comes out before you plunk down your money for this years subscription. The OS X version may very well come out this year but it will most likely take them several months after that before they get a semi stable version out.

Quote:
Unfortunately their SDK only runs in windows - and isnt opensource.

I've never tried to use their plugin SDK but I do have documentation for some of their model formats. I also have an "A:M Viewer" with source code. Both of these a year or two old though.

Quote:
So I was wondering how difficult is it to read in models and animation file formats from A:M?

I have written file loaders for their .ply (polygon mesh, bones, texture information), and their .mot (animation file that can be applied to the bones in a .ply). Both were fairly easy to write with the help of their documentation. I don't use all the data in the formats however, some of it is simply discarded.

Quote:[B
Are their file formats still text based and well documented?
[/b]

I have documentation for several of their file formats. The documentation is lacking in some areas but I was able to figure it out. I don't think they have documentation for their text based formats, but I haven't checked lately.

Quote:
Do you have any example code you could share?

Yes, but the code is very dependent on my game engine's data types. If you still want to see the code let me know and I'll upload it.

Quote:
What triangle-based formats will A:M export to - can I export to dxf or something?

The version I have can export .dfx, .ply and .3ds. I have had very little luck with their import/export features though, especially .3ds. It seems like my mesh or u/v coordinates always get messed.

Quote:
In your code are you reading in the actual spline patches and rendering those - or have you already triangulated it?

I haven't written an importer for their .mdl format (which uses patches). My .ply importer reads in polygons, bones and u/v coordinates. Then I triangulate the mesh and triangle strip it.

Quote:
I really only plan to use it for game modeling/animation (I wont be rendering stuff in A:M) - so if I cant figure out how to read the files it wont be useful for me.

This is a tricky one to answer. Basically if you can do all your modeling/animation in Animation Master and the .ply exporter works well (which it should) then I think you'll be set. I wouldn't depend on being able to transfer your A:M models/animations to other programs for tweaking. I think you'll be able to figure out how to read the files. Right now I'm writing my own editors to tweak the meshes and bones and export back to .ply so I don't even need to use A:M for some things.

Hope that helps, let me know if you want more info.

-- Ian Kerr
Quote this message in a reply
Member
Posts: 304
Joined: 2002.04
Post: #24
Quote:Originally posted by Ian Kerr
I have written file loaders for their .ply (polygon mesh, bones, texture information), and their .mot (animation file that can be applied to the bones in a .ply). Both were fairly easy to write with the help of their documentation. I don't use all the data in the formats however, some of it is simply discarded.
Interesting... I didnt know that .ply supported bones - so I was wondering how you did the animation. Now it makes sense.

Quote:Yes, but the code is very dependent on my game engine's data types. If you still want to see the code let me know and I'll upload it.
Sure! Any code that involves inporting and loading models Im interested in learning from.

Quote:
Hope that helps, let me know if you want more info.

-- Ian Kerr
thank you very much for your help. Ill probably get A:M now (they promise it runs in classic) and hope it is relatively stable and that the OS X version isnt long in coming.

thanks,
Codemattic
Quote this message in a reply
Member
Posts: 49
Joined: 2002.05
Post: #25
Here is the source c++ source code. I use CW 7 so that's what the tabbing looks best in. Keep in mind that I throw away a lot of the information in the format since my game engine doesn't support it. I strongly recommend reading the documentation. If you can't get it from Hash I can stuff it and upload it for you.

http://www.mnsi.net/~rkerr/source/CEGL_PLY.h
http://www.mnsi.net/~rkerr/source/CEGL_PLY.cpp


--Ian
Quote this message in a reply
Member
Posts: 304
Joined: 2002.04
Post: #26
Thanks for posting your .ply loading code. It helps a lot. I always like working with ascii formats - because I can read them and better understand whats going on - and of course no endian problems. I have to start biting the bullet and write loaders for binary formats.

thanks,
Codemattic
Quote this message in a reply
Post Reply