
HOOPS Luminate Bridge Introduction
==================================

Welcome to the HOOPS Visualize 3DF / HOOPS Luminate bridge! In order to get started on your product, this page will provide a starting point to navigate the docs and start your journey with the bridge demo.

The purpose of this demo is to give an example of the integration of HOOPS Luminate into a 3DF application. It demonstrates the integration of realistic rendering into a CAD application, and gives feedback about what realistic rendering is and what it could be use for.

The demonstration allows us to load a 3D model, navigate the model (using methods such as rotation, panning, and zoom), and finally save it as a .red Luminate file.


.. figure:: demo_realtime_vs_tracing_rendering.png 
    :align: center

    **Real Time Rendering (left) vs Path Tracing Rendering (right). At the top of the image, you will see some tools to manipulate the real time view. At the bottom of the image, note some information about the rendering and progress status**

.. warning:: 

    The demo does not emphasize the full capabilities of HOOPS Luminate and is only meant to show the steps to integrate it into another application. For more details about HOOPS Luminate capabilites, you should refer to the `HL Documentation <https://docs.techsoft3d.com/luminate/latest/book/bk_ba/bk_ba_luminate_features_at_a_glance.html>`__.


Within this HOOPS Visualize 3DF / HOOPS Luminate bridge documentation, you will find several sections:

    * :doc:`3df_bridge_license`: In order to use the bridge products for HOOPS Visualize 3DF and HOOPS Luminate, you must first set up your licenses.

    * :doc:`3df_user_interface`: Gives a breakdown of different functionalities to the User Interface of the bridge, such as icons and their functions, as well as different widget descriptions and images.

    * :doc:`3df_bridge_projects`: Provides a description of the different demo projects available in the bridge, including list of different functions, calls, and widgets, along with their definitions and abilities.

    * :doc:`3df_use_cases`: Offers the different use cases of the bridge integration, and gives comparison information between default use cases and advanced use cases.


*************
Default Users
*************

The purpose of this demonstration is to act as a proof of concept. You can use the demo to see how we integrate HOOPS Luminate into the HV 3DF application and the differents steps needed to synchronize HOOPS Luminate with the data from HOOPS Visualize (i.e. camera, scene, materials etc...). Currently, not all the data is converted; this results in some differences between the two rendering.


**************
Advanced Users
**************

You can use the demo to solo test HOOPS Luminate and create your own functionalities. This implies to write your own HOOPS Luminate code from the application ``hoops_luminate_demo``, or modify the existing ``hoops_luminate_bridge`` to create new functionalities.


*******************************************
Guidance Between Default and Advanced Users
*******************************************

The default mode is designed for people who want to integrate a HOOPS Luminate widget into their application. You can look around and see how we integrate it into our own. You can use the ``hoops_luminate_brdge`` library as it is.

The advanced mode is designed for people who want to dive deeper into the HOOPS Luminate functionalities and the data conversion necessary to go from HV 3DF to HOOPS Luminate. You can modify the source code of the ``hoops_luminate_bridge`` project to add functionalities, or modify the current ones.

Finally, You can use a set of widgets, called ``hoops_luminate_widgets``, to integrate more advanced features into your Qt application; as to whether this ability falls under default or advanced depends on your familiarity with Qt. If you are using MFC, you will need to recreate these set of widgets on your own.