New Platforms
Service Pack 19.25
- For users of Visual Studio, Visualize now requires VS2008 SP1 or VS2010 SP1
- The iOS libraries now support iOS v5.X+
- The previous iOS HOOPS viewer has been replaced by ios_simple
Service Pack 19.14
The iOS libraries now support iOS v5.X
Minor Release 19.10
-
iOS support (BETA)
Support has been added for the iOS platform. All of the HOOPS/3DGS, HOOPS/MVO, and HOOPS/Stream APIs are available and behave in a platform-independent fashion, consistent with HOOPS' design as a platform-independent API. (A few rendering caveats related to the Beta status are covered in the OpenGL2 section of the Device Guide). Important HOOPS/3DGS-specific notes:
- iOS 4.X is supported on iPad, iPad2, and iPhone4 hardware, using the Xcode 4.0+ toolset from Apple.
- The 3DF libraries are provided via a single static library which contains HOOPS/3DGS, HOOPS/MVO and HOOPS/Stream, and located at [hoops]\dev_tools\hoops_ios\lib (both the native ARM library for the actual devices, as well as the x86 emulator library are provided)
- A sample HOOPS-based iOS application has been provided, and its source/project is located in [hoops]\demo\ios\IOSHoopsViewer. Please review the readme.txt file before creating your own HOOPS-based iOS prototype, or customizing the existing demo.
- The OpenGL2 Driver documentation lists current HOOPS/3DGS driver limitations.
Developers wishing to prototype HOOPS-based iOS applications should first become familiar with iOS development and the numerous platforms constraints, such as limited screen real estate, reduced CPU/GPU power compared to desktops/laptops, limited amount of flash-memory, lack of a harddrive, absense of a conventional file system, side-loading of files, GUI application development, and so on.
Key points to consider when developing HOOPS-based applications for iOS (or any platform for that matter) include:
- Scene-graph organization: Ensuring that you have a well organized (optimized) scene graph will reduce memory usage, thereby allowing you to load larger models as well as boost performance. See Segment Organization for further details.
- Rendering settings: using the appropriate rendering settings for items such as 'display lists', 'polygon handedness' and 'backplane culling', will help ensure maximum performance. See Rendering Performance for further details.
- Fixed framerate: we have been encouraging developers to prototype and incorporate this technique for a few releases now, and it will probably be particularly important to leverage under iOS. This technique allows you to set a specific framerate (along with very useful extent-culling), thereby ensuring a specific framerate independent of the model complexity. HOOPS/MVO provides high level support for fixed-framerate, while the underlying HOOPS/3DGS capability of time-bounded-updates provides core support.
- Memory usage: Your application logic needs to manage/track its memory allocation/usage (it's not done automatically by the Operating System), and your application's usage of any sub-components such as HOOPS has the same needs. For example, if you load 'too large' a model(s) into HOOPS, relative to the available system memory, HOOPS will simply continue to populate its scene graph and the required memory allocations will eventually fail, resulting in an ungraceful exit/crash. While this is the situation on any Operating System with finite memory, the 'memory wall' on iOS devices is much closer than on, say, a 64-bit OS with 4GB of memory. Please refer to the Programming Guide entry on Memory for some guidelines on memory-usage tracking and memory conservation.
-
Verisigned .dlls
All HOOPS/3DF .dlls are digitally signed, using a Certificate Authority (we use VeriSign). Signing dlls with a key from a CA allows the them to be fully identified with the company who purchased the certificate, in this case, Tech Soft 3D.
Major Release 19.0
Support for the following platforms was added:
Platform |
Architecture |
Operating System |
Compiler |
nt_i386_vc10 |
x64 or x86 |
Windows XP/Vista/7 (32-bit) |
Visual Studio 2010 |
nt_x64_vc10 |
x64 |
Windows XP/Vista/7 (64-bit) |
Visual Studio 2010 for x64 |
osx_x86 |
x86 |
MAC OSX 10.5 |
gcc/g++ 4.2.1 |
osx_x64 |
x64 |
MAC OSX 10.6 |
gcc/g++ 4.2.1 |
Platforms Dropped
Support for the following platforms was dropped:
Platform |
Architecture |
Operating System |
Compiler |
nt_i386_vc80 |
AMD64 or Intel x86 |
Windows XP/Vista/7 (32-bit) |
Visual Studio 2005 |
nt_x64_vc80 |
AMD64 |
Windows XP/Vista/7 (64-bit) |
Visual Studio 2005 for x64 |
osx_ub |
Universal Binary |
MAC OSX 10.4 |
gcc/g++ 4.0.1 |
hpux11 |
PA-RISC1.1 |
HP-UX 11.0 and higher |
acc B.11.11.16
aCC A.03.73 |
hpux64 |
PA-RISC1.1 |
HP-UX 11.0 and higher |
acc B.11.11.16
aCC A.03.73 |
aix |
RISC/System 6000 |
AIX 5100-04 and higher |
VAC 8.0.0.13 |
aix64 |
RISC/System 6000 |
AIX 5100-04 and higher |
VAC 8.0.0.13 |
Build and Linkage Changes
The stand alone window events handling functions have been moved to
a new header, hc_standalone.h. If
you utilize these functions, please see the new events
reference index for more information on how to properly upgrade to
HOOPS 19.00.