# 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.

Hello I'm HOOPSY!

HOOPSY BETA

Hello I am HOOPSY! your Docs generative AI assistant.

Ask me anything about HOOPS Visualize HPS or choose a sample question below to start a conversation:

Additional info

HOOPSY may store chats to provide and maintain the service according to OpenAI's data policy.

This feature is currently experimental. While we are continually enhancing its performance and quality, the underlying AI model may generate inaccurate or fabricated responses, especially if prompted to do so.

New Conversation
Continue generating