Single Surface?

Blitz3D Forums/Blitz3D Programming/Single Surface?

Mikeyj21(Posted 2005) [#1]
Hi!
Could someone clear up a question for me please?
I have often seen mention that some program or other uses 'single surface' systems, and this is beneficial for speed. I gather (although I could be wrong) that this refers to the texture applied to an entity?
Does a 'single surface' system therefore get all it's textures from a single texture using coordinates to pull out the correct section of gfx? If so, what are the benefits of doing this over having many small textures?

How then does this translate to games requiring many, many textures (for example a city in an FPS) - specifically models built in a program like 3d studio max?

Many thanks!


Ross C(Posted 2005) [#2]
Single surface is good when you have stuff like particles, grass, maybe even trees. Something where there's hundreds of instances of them. You usually have one texture containing different images. So you would select which part of the texture you are using via the VertexCoords() command. Having too many polys in a surface though, can also be slow. You got to strike a balance, because if any part of that surface is showing, the whole thing is rendered. But, if you split it up into different meshes, any that aren't on screen ain't rendered :)


Rottbott(Posted 2005) [#3]
Also collision is less efficient with models, presumably because it can quickly ignore entire entities if you're nowhere near them. Obviously this doesn't apply to particles, GUIs etc.


Mikeyj21(Posted 2005) [#4]
Thanks guys!


Gabriel(Posted 2005) [#5]
Also collision is less efficient with models, presumably because it can quickly ignore entire entities if you're nowhere near them.


Well that's true, but you shouldn't be using single surface entities for collisions anyway. They're something you use for rendering. You should either be using some kind of physics/collision middleware or proxy entities which don't get rendered for collisions.


Mikeyj21(Posted 2005) [#6]
Actually, I've just had another thought on this... is there any milage to using a large texture for multiple 3d models, and having different sets of UV's for them? For example if I had four models using one 1024*1024 texture (with 4 different UV sets) against having four 512*512 textures? They equate to about the same size, kb-wise (uncompressed)