Thread: [Plib-users] max number of surfaces per model
Brought to you by:
sjbaker
From: Alexander R. <a_r...@in...> - 2000-09-05 18:03:12
|
Hi, Alexander Rawass wrote: > > Hi, > > Phrostie wrote: > > > > I would be willing to work with you on building models for tuxfleet. > > Great! You're welcome. > > > most of my 3d has been either engineering/mechanical or raytracing/renderman. > > if you can give me a direction to work i will see what i can come up with. > > > > max number of surfaces per model? > > max total size of textures per model? > > That's a difficult question to ask. > I will post that question to pli...@us..., since the > people > who wrote the rendering engine that TuxFleet users will know better what > their library can render than me, but there is yet an answer from me: So, what would you say to him? Please make the following assumptions: 1) the HudObjects using glut have been replaced or switched off and therefore take up not much cpu time 2) my code that does the game logic takes up from 0.001 to 0.005 secs each frame 3) the rest of the time is ssgCullAndDraw I personally just cant image how many polygons a suitable object should have, how many polygons plibssg can render (if not slowed down by game code or huds)? But read here, what I wrote Phrostie as anser and give comments: > As less surfaces/as less polygons as possible. > > This answer may not satisfy you, so let me just explain with some > examples > what I mean: > > Have a look at the bee (data/bee.ac). It's my favorite model, it looks > so > *cute* :-) > > This bee consists of different parts, some appear once, some more often: > > eye wing bodyball striped_bodyball sting snout > > Now, go ahead and split up that bee in it's different subparts and save > them > as ac3d-files, like 'bee_eye.ac' 'bee_striped_bodyball.ac' etc. > > Then create new bees. > > A bee with three eyes. > A bee without wings. > A bee with four wings. > A longer bee with 2 striped_bodyballs instead of one. > A longer bee with 2 striped_bodyballs and 3 bodyballs and 4 eyes and 6 > wings > A tandem bee, meaning two bee-bodies connected by a wing. > > Now back to your question about nr. of surfaces: > > Just take the bodyball/striped_bodyball for instance. > > How many polygons/surfaces should such a ball have? > > Now create a new bodyball, that has some more surfaces than the bodyball > before, so > making it look rounder and save it as "bee_bodyball_high.ac". > Then create a new bodyball, with less surfaces/polygons than that > before, it > will probably look ugly and not round at all, but it will be suitable as > a low > detail model, so save it as "bee_bodyball_low.ac". > You could go as far as creaing a cube with that color and save it as > "bee_bodyball_verylow.ac". > > Now it is my job to write an utility that takes as input the different > body > parts in all detail resolutions and construct out of these the complete > new models in all detal resolutions - and bingo, we have many different > kinds of bees in different level of details. > > Then go on and do the same job on other objects, like the flying saucer > or the shark (dest1.ac), and re-do them in different level of details. > > You can also decide not to work on existing models but start creating > your > own (whatever you want). > > You just have to ask _yourself_, how can I do that what I want with as > few > polygons as possible? > If you're using too many polygons in a part of your ship, that will > reduce > rendering speed, so you should create that part in lower resolution, > too. > > For bad examples about 'lots of lots of polygons', have a look at avalon > or > the Star Wars Modelling Alliance. > > A model suitable for TuxFleet should, for example, have no polygons at > the inside > of the model (if possible), details should be done with texturing. > > Please tell me what models you'd like to do - update existing ones, > create > completely new ones from your personal fantasy, or create models that > look > like spaceships know from elsewhere/tv/movies? > > If you could describe what visions you have on your mind, I can try to > answer you better. > > But I fear, every time you design an object for TuxFleet, you have to > ask > _yourself_: "How few polygons do I need for that part in that level of > detail?" > > Another example would be the freighter (freight1.ac). > > This ship has far too many polygons for a low detail models, due to the > cockpit, the many transport-cubes and the engines. > As well, it looks ugly when you fly near to it, so it isn't suitable for > high detail either. > > For a low polygon model of the freighter, create a simple block that's > got > sort snout (the cockpit) at one end and no engines, and wrap around it a > texture that looks like as if this simple block/rectangle would consist > of these transport-cubes. > > Then create a higher detail model by wrapping texture around the > different > transport-cubes. > Re-do the cockpit, by replacing the polygons the cockpit is constructed > of > by a texture that looks like as if there would be a cockpit. > > And always save the different parts of the ships you create in their > respective detail level, so that they can be re-used easily. > > Now for your question of texture size: > > This is even harder for me to answer, since the models I use yet came > with- > out any texture, but I suspect, you've got to use the same dynamic rule > like for polygons/surfaces: > > As few textures as possible, and each texture should be as small as > possible > with respect to different detail levels. > > You could again start with the bee. > > Take the bodyballs you made in higher resolution, and wrap a texture > around > it so that it will look more a bee's bodyball than before. > > Take the eyes. Remove the black eyeball done with polygons and do create > a new > eye with a texture that looks like an eyeball. > Create an eye that's got a texture that looks as if the eye hadn't had > sleep > at night and drunk too much, like some blood-red zigzag lines coming > from the eyeball. > > Take the wings. Wrap a texture around it, that looks at if streaks of > red blood > are pulsing through the veins of those wings. > Make the wing texture nearly transparent, exept for the veins. > > Take the flying saucer and wrap a texture onto it, that looks like > engines and turrets and air locks. > > To end this mailing, I just want to say that the number of polygons > for a whole ship in medium detail should be less than 100 polygons if > possible - if have converted some 3ds models from 2000 polygons down > to 300 polygons and they were too slow. > > But I have to admit that I know nothing of 3D modelling, I simply > can't image myself how few polygons one needs to contruct a spaceship > that looks good AND renders fast. > > Of course - it's a tedious act to create all subparts of the ships in > different > detail levels, but that's the only way to improve rendering speed. > If I've got no low detail models, I have to render them with lots of > polygons > even if they're just 1cm on the screen. > At present, the complete lack of models in different level of details > (LOD) > is one of the reasons why TuxFleet is yet so slow. > > Hope to hear from you > Alex -- Alexander Rawass Email: ale...@us... Project Homepage: http://tuxfleet.sourceforge.net ...but some day you'll be a STAR in somebody else's SKY... |
From: Steve B. <sjb...@ai...> - 2000-09-06 01:20:46
|
Alexander Rawass wrote: > > > max number of surfaces per model? > > > max total size of textures per model? > So, what would you say to him? I would say "this is nothing to do with me - please ask the question on the TuxFleet mailing list". The problem is that you might have a 66MHz 486 with no 3D graphics card, or you might have a Freon-cooled overclocked 1.13MHz P4 that Intel forgot to recall with a 4x AGP and GeForce-2-ULTRA. The difference in performance is at LEAST 10,000:1 ...probably more. So, what hardware are you allowing as your usable range? How many of these ships are you planning to draw? What range of frame rates do you think you can tolerate? What LOD mechanisms will you use? Do you think you will be fill-limited or poly-limited or bus limited or CPU limited or .... ? I think you have to run your application with cubes in place of space ships - then again with 10,000 (tiny) random triangles - and see where in that range is a 'reasonable' frame rate on the range of machines you want to support. > Please make the following assumptions: > 1) the HudObjects using glut have been replaced or switched off and > therefore > take up not much cpu time > 2) my code that does the game logic takes up from 0.001 to 0.005 secs > each frame > 3) the rest of the time is ssgCullAndDraw Well, if you want to run at (say) 30Hz, and you want quite a lot of spaceships, I'd tell your artist to aim for 1000 triangles at the topmost level of detail - and provide 200, 50 and 10 triangle versions also so that on crappy hardware, they only see the 50 polygon versions when they are up close - and the 10 triangle versions at a distance - but on really good hardware, they'll see the 1000 triangle version all the way out until the object covers just one pixel. > I personally just cant image how many polygons a suitable object should > have, > how many polygons plibssg can render (if not slowed down by game code or > huds)? It's **MUCH** more subtle than that - the number of OpenGL state changes makes a difference - the average length of triangle strips you are able to form makes a difference....all sorts of factors. No two games are remotely alike. > > This answer may not satisfy you, so let me just explain with some > > examples > > what I mean: > > > > Have a look at the bee (data/bee.ac). It's my favorite model, it looks > > so *cute* :-) (If that's the one from Tux_AQFH, my (then) 7 year old son made it!) My best advice is that the artist and the programmer have to work closely together on this process. The artist (being artistic) may want to put more polygons into planets and nebulea and comets and 'gaseous anomalies' and have textured "Borg tetrahedrons"...or he may want planets that are 20 triangle icosahedrons (ick!) and 10,000 triangle ships....that's why he's the artist and you are the 'mere programmer' :-) There is no good answer to this. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |