The term 'large model' can generally be broken into 2 categories:
- The model consists of numerous 3D objects that are spatially dispersed.
It may represent an engine, aircraft, automobile, power-plant, building,
etc...
- The model contains only a few large 3D objects (or maybe only one).
These models are common in analysis and oil/gas applications, which need
to display very large objects.
The concepts discussed in this tutorial are focused around HOOPS' ability
to generate lower levels of of detail for objects, and maintain a constant
framerate by selectively drawing lower detail levels of objects based on
their distance from the camera, or whether they lie within the current view.
Therefore, while the concepts can be applied to both of the above scenarios,
they provide the greatest performance benefits in the first case case. Developers
dealing with the second case should experiment with these concepts, and
also review the geometry optimization guidelines (particularly the 'skinning'
technique) discussed in Section
7.3 of the HOOPS/3dGS Programming Guide.
1. Create a skeleton application called 'Visualize'
- If you are working on Windows, use the HOOPS/3dAF
AppWizard to create an application that has the following properties:
- Multiple document interface
- HOOPS 3D Application Framework
- No Geometric Kernel support
- If you are working on Unix, start with the simple HOOPS/QT
Application. You should rename the SimpleHQWidget.h/.cpp
files and the SimpleHQWidget class to have the name VisualizeHQWidget.
2. Tutorial Steps
3. Reference Tutorial
The <hoops>/demo/tutorial/visualize directory contains MFC and QT
versions of the completed tutorial reviewed in the steps above.
- tutorial_visualize.vcproj and tutorial_visualize_vc80.vcproj
are the Microsoft Visual Studio 7.1 and 8.0 solutions respectively for
the for the MFC version.
- makefile, tutorial_qt_visualize.vcproj
and tutorial_qt_visualize_vc80.vcproj
are the Unix makefile and Visual Studio 7.1/8.0 projects for the QT version