#############################
Rendering with HOOPS Luminate
#############################

.. toctree::
    :maxdepth: 1
    :titlesonly:
    :hidden:

    /book/subjects/bk_re/bk_re_hardware_vs_software_rendering
    /book/subjects/bk_re/bk_re_rendering_2d_datasets
    /book/subjects/bk_re/bk_re_real_time_rendering_of_3d_datasets
    /book/subjects/bk_re/bk_re_software_rendering_of_3d_datasets
    /book/subjects/bk_re/bk_re_post_processing
    /book/subjects/bk_re/bk_re_denoising
    /book/subjects/bk_re/bk_re_generating_vector_graphics
    /book/subjects/bk_re/bk_re_non_photo_realistic_rendering
    /book/subjects/bk_re/bk_re_rendering_large_images


Welcome! If you have reached this book, either you're just curious or you have already gathered all the needed data to display something on screen (:doc:`/tasks/ta_ca/ta_ca_application/tk_assembling_a_minimal_luminate_application`). You have probably defined some geometries to display (:doc:`/tutorials/workflows/wf_realtime/wf_building_basic_primitives`) along with some materials (:doc:`/book/subjects/bk_buildingmaterials`) and maybe some lights too (:doc:`/book/subjects/bk_sgo/bk_sg_light_shapes`). So, in a word, you're ready to draw now! So, let's do it:

.. include:: /tasks/ta_ca/ta_ca_application/tk_rendering_a_window_contents.rst


************
Introduction
************

The very first important fact is that HOOPS Luminate is a hybrid rendering engine. It can process an image using software ray-tracing AND an image using the GPU at the same time, with one single rendering call. We detail this here: :doc:`/book/subjects/bk_re/bk_re_hardware_vs_software_rendering`. Reading this chapter is a must to understand the HOOPS Luminate rendering pipeline.

Then, this book is organized by rendering stage; so we'll review in sequence:

+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+
| Render Type                                                                                               | Details                                                | Illustrations                    |
|                                                                                                           |                                                        |                                  | 
+===========================================================================================================+========================================================+==================================+
|                                                                                                           |                                                        |                                  |
| :doc:`Rendering 2D Datasets </book/subjects/bk_re/bk_re_rendering_2d_datasets>`                           | This chapter is mostly dedicated to hardware rendering | .. image:: bk_re_intro_2d.png    |
|                                                                                                           |                                                        |   :align: center                 |
|                                                                                                           | of 2D datasets using the GPU, but it also covers using |                                  |
|                                                                                                           |                                                        |                                  |
|                                                                                                           | the software ray-tracer that can also render 2D scenes |                                  |
|                                                                                                           |                                                        |                                  |
|                                                                                                           | with lines and points.                                 |                                  |
|                                                                                                           |                                                        |                                  |
+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+
|                                                                                                           |                                                        |                                  |
| :doc:`Real-Time Rendering of 3D Datasets </book/subjects/bk_re/bk_re_real_time_rendering_of_3d_datasets>` | Here we'll focus on real-time 3D rendering, with a     | .. image:: bk_re_intro_rt3d.png  |
|                                                                                                           |                                                        |   :align: center                 |
|                                                                                                           | special mention to real-time lighting and shadowing.   |                                  |
|                                                                                                           |                                                        |                                  |
|                                                                                                           | features here.                                         |                                  |
|                                                                                                           |                                                        |                                  |
+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+
|                                                                                                           |                                                        |                                  |
| :doc:`Software Rendering of 3D Datasets </book/subjects/bk_re/bk_re_software_rendering_of_3d_datasets>`   | This chapter is dedicated to the software ray-tracer   | .. image:: bk_re_intro_sw3d.png  |
|                                                                                                           |                                                        |   :align: center                 |
|                                                                                                           | embedded in Luminate. We'll cover all its rendering    |                                  |
|                                                                                                           |                                                        |                                  |
+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+
|                                                                                                           |                                                        |                                  |
| :doc:`Generating Vector Graphics </book/subjects/bk_re/bk_re_generating_vector_graphics>`                 | This chapter illustrates how Luminate can be used to   | .. image:: bk_re_intro_hlr.png   |
|                                                                                                           |                                                        |   :align: center                 |
|                                                                                                           | produce a vector output instead of a raster output as  |                                  |
|                                                                                                           |                                                        |                                  |
|                                                                                                           | a result of a rendering. This aims at providing        |                                  |
|                                                                                                           |                                                        |                                  |
|                                                                                                           | analytical data suitable for printing purposes.        |                                  |
|                                                                                                           |                                                        |                                  |
+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+
|                                                                                                           |                                                        |                                  |
| :doc:`Post Processing </book/subjects/bk_re/bk_re_post_processing>`                                       | We'll review how we can post-process an image using    | .. image:: bk_re_intro_pp.png    |
|                                                                                                           |                                                        |   :align: center                 |
|                                                                                                           | Luminate for various purposes here.                    |                                  |
|                                                                                                           |                                                        |                                  |
+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+
|                                                                                                           |                                                        |                                  |
|                                                                                                           | This chapter will provide an example of using          | .. image:: bk_re_intro_npr.png   |
| :doc:`Non Photo-Realistic Rendering </book/subjects/bk_re/bk_re_non_photo_realistic_rendering>`           |                                                        |   :align: center                 |
|                                                                                                           | Luminate to generate NPR stylized renderings.          |                                  |
|                                                                                                           |                                                        |                                  |
+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+
|                                                                                                           |                                                        |                                  |
| :doc:`Rendering Large Images </book/subjects/bk_re/bk_re_rendering_large_images>`                         | We'll handle the problem of rendering very large       | .. image:: bk_re_intro_tiles.png |
|                                                                                                           |                                                        |   :align: center                 |
|                                                                                                           | images here. Those images don't fit in the system      |                                  |
|                                                                                                           |                                                        |                                  |
|                                                                                                           | memory, so rendering by tiles has to be put in place.  |                                  |
|                                                                                                           |                                                        |                                  |
|                                                                                                           | We'll see how Luminate answers this problem.           |                                  |
|                                                                                                           |                                                        |                                  |
+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------+----------------------------------+


Note that we don't cover photo-realistic rendering techniques here. There's a dedicated book on this topic: :doc:`/book/subjects/bk_photorealisticimages`.
