WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Thread Tools Rate Thread Display Modes
Old 05-21-2013, 11:39 AM
dproeder dproeder is offline
Join Date: May 2013
Posts: 3
Optimizing your Scene 3ds Max to Vizard

I am coming from a video game environmental artists background. My platforms before were Maya to Unity/UDK. Standard Optimization workflows for these engines included:

- Reducing polycount to accurately describe silhouette of the model only.
(ex. eliminating superfluous faces/edges that do not describe and shape/form)

- Making heavy use of repeatable/tileable textures
(ex. having a 256x256 tiled texture for a portion of the wall, and repeating it across the breadth of the whole wall.

- Consolidating multiple objects/models UV's onto one UV texture map so they can share one material. In most game engines, the amount of materials are directly related to how many draw calls need to be made for each object.

- Light Baking.

- Occluding objects (telling the engine not to draw objects) that are NOT in the field of view at any given time during the game loop.

My question is how much attention should I pay to these optimization practices for Vizard? Most importantly, Should I bother with reducing the number of materials exported from Max?

I have taken a new project involving Vizard. So before I develop my workflow, I wanted to get a feel for what kind of performance I could get out of the Vizard Engine. I do know this is a subjective question, and the answer could change project to project. I'm just trying to get a feeler out.
Reply With Quote
Old 05-21-2013, 01:38 PM
Jeff Jeff is offline
WorldViz Team Member
Join Date: Aug 2008
Posts: 2,462
Our Architecture-Interactive site has a collection of optimization tutorials related to these questions. Click here and go to the Model Optimization section.

Reducing the number of drawable objects can help with performance. Drawables are the number of objects, further split up by materials. Multiple objects merged together in Max as a single object and sharing the same material will count as one drawable.
Reply With Quote
Old 05-21-2013, 03:27 PM
Veleno Veleno is offline
WorldViz Team Member
Join Date: Sep 2005
Posts: 148
Hi Dproeder,
The information in Jeff's link is mostly aimed at users new to realtime graphics. It sounds like you already know what you're doing.

The workflow for Vizard is the same as what you're used to. VR and video games are built off the same technology, share the same limitations and have the same benefits. VR is mainly differentiated by it's use and peripherals. Everything you have listed above brings the same benefits in Vizard as it does in game engines.

How much you should optimize depends entirely on the scope of your project and the capabilities of the system you will be running it on. That is one key thing about developing for VR - there is typically a lot more control over what kind of system you'll be running it on. As long as the scene runs at a good framerate you're fine. We recommend aiming for 60fps in mono, since this gets cut down to 30FPS in stereo when viewed on an HMD.

We generally recommend keeping the scene specs as follows, though it entirely depends on your system:
Polycount: Under 2,000,000, closer to 1,000,000. Some textured scenes we have worked with go as high as 32 million, however. View frustum culling and backface culling is applied automatically. Backface culling can be disabled. Occluder objects can be used, though they aren't as sophisticated as some engines. Billboards, LODs, and other similar tools can also be used.

Drawables: Under 2000 separate objects, further split by material. UV splits, smoothing groups, and geometry splits in general are pretty much free.

Textures/Video Memory Usage: Low enough to avoid swapping. Generally keep it to 75% of your card's capability, since other programs take a chunk as well. Tiling maps are recommended. Multitexturing can be used and is common (light maps, blend maps). DXT compression, DDS textures, Grayscale (i.e. one 8-bit channel) can be used to improve memory usage. Maximum texture size depends on your graphics card. Modern cards can handle up to 16384px and 32768px textures. A texture atlas approach can be used for some kinds of models, though this is not generated automatically, and portions of textures can't be tiled (max's "crop" feature is not supported).

Materials: The default shader is currently the OpenGL FFP shader so heavy use of baking is recommended. In the current version it is possible also possible to use GLSL shaders, though it's necessary to write them yourself. The upcoming version of Vizard greatly improves the ability to generate and work with GLSL shaders.

Lights: Again, light baking is strongly recommended. The OpenGL FFP limits scenes to 8 lights used for vertex shading. Much better lights are possible with GLSL shaders. Better implementation of lights should be coming as well in the next release.

Avatars: Under 25 in view at any given moment. Our current approach to avatars comes with a lot of overhead. Some optimization that reduces the update rate of avatars based on their distance is possible, but attempting to do crowds is not recommended. We are considering alternative ways to handle avatars.
Reply With Quote

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Exporting the vizard full scene pankaj bansal Vizard 6 12-29-2012 08:47 AM
Vizard 4 Beta Testing farshizzo Announcements 0 02-01-2011 10:46 AM
Vizard 4 Beta Testing farshizzo Vizard 0 02-01-2011 10:46 AM
Copying Scene? Brett Lindberg Vizard 0 08-28-2009 11:56 PM
Vizard tech tip: Using the Python Imaging Library (PIL) Jeff Vizard 0 03-23-2009 11:13 AM

All times are GMT -7. The time now is 02:40 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.
Copyright 2002-2018 WorldViz LLC