HPS Use Cases

The main purpose of the demo project is to be used as an example in order to integrate HOOPS Luminate into an existing application. It can also be used by more advanced users in order to test some functionalities based on the integration with HV HPS.

Default Use Case

Purpose & Description of Beginner Mode

The main purpose of this demo is to show how to integrate HOOPS Luminate into a HV HPS application by using the hoops_luminate_bridge library as a blackbox.

Step-by-Step of How to Use Beginner Mode and How it Looks

Here are the steps to integrate HOOPS Luminate rendering into your application:

  1. Create a widget to render with HOOPS Luminate.

  2. Create an instance of LuminateBridgeHPS which references your 3DF HQWidget.

  3. Initialize LuminateBridgeHPS by passing your license (must be valid for HOOPS Luminate) and the information relative to the rendering widget.

  4. During the resize of the widget, call LuminateBridgeHPS.resize

  5. During the rendering loop of the widget, call LuminateBridgeHPS.draw

  6. After loading a new model into the 3DF view, call LuminateBridgeHPS.syncScene

  7. When exiting the application, call LuminateBridgeHPS.shutdown

Note

Please note that HOOPS Luminate uses threading intensively so a basic integration like this may impact your performances. See the section Performances/Threads on the HPS Bridge Demo Projects page to see how we handled that in our demo.

Expectations

The current version is limited in term of conversion of data between HV HPS and Luminate. We do not expect to support any kind of object and some major differences are expected between the two rendering views.

What we import:

  • Geometry (i.e. sphere, cylinder, polycylinder, mesh, shell, polygon)

  • Vertex Attributes (i.e. normals, UV coordinates)

  • Materials (i.e. diffuse, bump, pbr(limité))

  • Vertex / Faces Colors

What we don’t import:

  • Lighting

  • Additionals Cameras (Only the first camera is imported)

  • Geometry (i.e. nurbs, nurbs curve, nurbs surface, line, elliptical arc, ellipse, circular arc, circle, markers, image, radial grid, quad grid, text, polyline)

  • Emissive Texture, Env Map

Advanced Use Case - Using Source Code Beyond Demo in sandbox for Personal Use

Purpose & Description of the Advanced Mode

The project allows advanced users to see how to use HOOPS Luminate when integrating it into a HV HPS application. You can modify it and test Luminate functionalities by editing and recompiling the hoops_luminate_bridge library.

Modifying Beyond the Demo’s

Modifying the library allows you to test more advanced functionalities related to your needs. For example, you can support more geometry types by modifying the HoopsHPSLuminateBridge::convertSegmentTree function. For some help and ideas of functionalities to test, take a look at the Luminate Tasks list.

The widgets library is a great example of how to add various functionalities to the demo. We created a set of widgets to: manipulate Luminate parameters, change the materials on parts, or change the lighting environment. You can add your own widgets to the library and use them in the Bridge Demo in order to test some more advance Luminate functionalities.