Core Functionality ================== .. list-table:: Core functionality examples :widths: 28 50 22 :header-rows: 1 * - Name - Description - Preview * - :ref:`Ray Intersection Points ` - Tracking of and visualisation of where rays intersect with objects in the scene. - .. image:: core/ray_intersection_points_fig1.png :height: 150px :width: 150px * - :ref:`Point Inside A Material ` - Finding all primitives which contain a test point. - .. image:: core/test_point_inside_material.png :height: 150px :width: 150px * - :ref:`Energy conservation ` - Checking all emitted light is collected correctly on a 3D enclosing surface. - * - :ref:`Multiple Importance Sampling ` - The classic multiple importance sampling demo re-implemented from E. Veach's PhD thesis. - .. image:: core/multiple_importance_sampling.jpg :height: 150px :width: 150px Materials ========= .. list-table:: Examples of the different material properties available :widths: 28 50 22 :header-rows: 1 * - Name - Description - Preview * - :ref:`Emissive colours ` - Simple coloured emissive materials. - .. image:: materials/emissive_colours.png :height: 150px :width: 150px * - :ref:`Diffuse colours ` - Simple diffuse coloured materials. - .. image:: materials/diffuse_colours.png :height: 150px :width: 150px * - :ref:`Metals ` - Loading metal materials from the library. - .. image:: materials/metal_balls.png :height: 150px :width: 150px * - :ref:`Glass ` - Loading glass materials from the library. - .. image:: materials/glass_bunny.jpg :height: 150px :width: 150px * - :ref:`Diamond ` - Making a diamond material. - .. image:: materials/diamond.jpg :height: 150px :width: 150px * - :ref:`Surface roughness ` - Material properties can be varied from smooth to rough with a material roughness modifier. - .. image:: materials/surface_roughness.jpg :height: 150px :width: 150px * - :ref:`Anisotropic surface emitters ` - Make an anisotropic material with a custom emission function. - .. image:: materials/anisotropic_emitters_preview.png :height: 150px :width: 150px * - :ref:`Custom volume emitters ` - Make a custom volume emitter with your own 3D function. - .. image:: materials/volume_inhomogeneous.png :height: 150px :width: 150px * - :ref:`Tetrahedral volume mesh emitters ` - Make a tetrahedral volume mesh emitter. - .. image:: materials/tetrahedra_mesh_emitter.png :height: 150px :width: 150px * - :ref:`Polar BRDF plots ` - Producing polar plots of material BRDFs. - .. image:: materials/brdf_polar_plots.png :height: 150px :width: 150px * - :ref:`3D surface BRDF plots ` - Producing 3D surface plots of material BRDFs. - .. image:: materials/brdf_surface3d_plots.png :height: 150px :width: 150px Observers ========= .. list-table:: Examples of the different types of observers :widths: 28 50 22 :header-rows: 1 * - Name - Description - Preview * - :ref:`Cornell Box ` - An industry standard test scene for benchmarking ray-tracers. Also demonstrates how to setup and configure a basic pinhole camera in Raysect. - .. image:: observers/cornell_box_mis_1550_samples.png :height: 150px :width: 150px * - :ref:`Orthographic camera ` - Using the orthographic camera. - .. image:: observers/orthographic_camera.png :height: 150px :width: 150px * - :ref:`Optical fibre ` - Spectral observations from an optical fibre. - .. image:: observers/optical_fibre_power.png :height: 150px :width: 150px * - :ref:`Mesh Observers ` - Making observations on a mesh surface. - .. image:: observers/mesh_observers.jpg :height: 150px :width: 150px * - :ref:`Making a camera 1 ` - Making a camera from components. - .. image:: observers/cornell_box_real_lens.png :height: 150px :width: 150px * - :ref:`Making a camera 2 ` - Another example of making a camera from components. - .. image:: observers/metal_balls_with_lens.png :height: 150px :width: 150px * - :ref:`Making animations ` - Looping over the observe loop whilst changing the position of primitives generates an animation. - .. image:: observers/animation_preview.jpg :height: 150px :width: 150px Optics ====== .. list-table:: Example scenes :widths: 28 50 22 :header-rows: 1 * - Name - Description - Preview * - :ref:`Prism dispersion ` - White light is split into its component colours as it passes through a glass prism. - .. image:: optics/prism_720x405.png :height: 150px :width: 150px * - :ref:`Etendue ` - Calculating the etendue of a pinhole with ray-tracing. - .. image:: optics/etendue_of_pinhole.png :height: 150px :width: 150px