Jump to content

View more

Image of the Day

Adding some finishing touches...
Follow us for more
#screenshotsaturday #indiedev... by #MakeGoodGames https://t.co/Otbwywbm3a
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

Best way to render complex model

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 BlackJoker   Members   


Posted 14 May 2013 - 12:58 AM



I have an interesting question on my opinion and I don`t know an answer yet.


I want to hold in memory and render a models which consist from big amount of different meshes (for ex. a big space ship) It has a lot of decks and dirrerent stuff inside and outside. Of course I want to have possibility to remove and add any item to/from this ship in any time. 

Each mesh has it`s own matrix. So, when I start moving a ship I had to multiply all matrices to move all objects correctly. But If I have a lot of matrices I could not do everything in time because multiplying all matrices could take a lot of time and in that case I will have lags.


If I merge all meshes in 3ds max I loose possibility to move separate objects.


So, my question is: what is the effective render algorithm if I want to have models consists from huge amount of other objects?


I don`t want to have a monolithic ship or any other object. I want to have possibility to remove any part away in any time.


Who has the same problem, please, say which way you choose to render meshes!


#2 Yourself   Members   


Posted 14 May 2013 - 02:30 AM


Do occlusion culling. Do not render/update the objects that are not visible.

For example the inside when you are on the outside of the ship (and vice versa) isn't visible so shouldn't be rendered/updated. 

Also, if you are on the inside, only render the decks/objects that you can actually see.

Google a bit for different occlusion culling algorithms.

There is no magic bullet for this so compaire different solutions and pick the best for your situation.


Also ask yourself if you really have to move everything at any time. There is a reason you cannot do that in most (AAA) games.

#3 BlackJoker   Members   


Posted 14 May 2013 - 03:34 AM



Thanks for clarification. I forgot for occlusion algorithms, but I want to ask is occlusion will work for objects, which are inside model and not behind it?

#4 Tordin   Members   


Posted 14 May 2013 - 06:35 AM

You can try out a BSP tree culling, and then start having Occlussion culling if that is needed. and i dont know how many objects you are having in your sceen, but you can easily optimize the

matrix multiplication with SIMD & Parrarlism. this will probably have a good effect for you.


But as the previous answer said, is that, there is no "common" way for this, try out some stuff and find the best solution for yourself.

"There will be major features. none to be thought of yet"

#5 Norman Barrows   Members   


Posted 14 May 2013 - 08:25 AM

you really have 2 types of scenes, exterior, and interior. 


for exterior, you should have just the meshes that can been seen from outside.


for interior, its basically a first person shooter level kinda thing.  there you'd only have the meshes visible from a particular area or room.


so you'd have one set of meshes for exterior, and another for each interior scene. never would you try to draw it all. 


make a copy of your master model and split it up based on which scene it belongs in. then you'd have 2 basic types of drawing routines, one for exterior, and one for interior scenes. almost 2 graphic engines, one a space flight sim, and the other a first person shooter.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"







#6 BlackJoker   Members   


Posted 16 May 2013 - 10:59 PM

Thaks for clarifying this problem. Now its more clear.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.