<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://dokuwiki.grogra.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://dokuwiki.grogra.de/feed.php">
        <title>GroIMP wiki - 02_user_tutorials:20_light:01_first_steps</title>
        <description></description>
        <link>https://dokuwiki.grogra.de/</link>
        <image rdf:resource="https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-05-16T09:17:52+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:01_light-modeling-introduction&amp;rev=1773307620&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:02_light-modeling-first-steps&amp;rev=1774023627&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:03_light-modeling-light-sources&amp;rev=1774023652&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:04_light-modeling-light-shader&amp;rev=1774023745&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:10_sensor&amp;rev=1774424789&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:13_light-modeling-visualizing-light-rays&amp;rev=1774023734&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:15_more_light_functions&amp;rev=1774023803&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:18_sensor-grids&amp;rev=1765542255&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:20_basic-spectral-light-modeling&amp;rev=1774023819&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:23_spectral-light-modeling-architecture&amp;rev=1774023833&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:30_light-modeling-differences&amp;rev=1774272190&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:use_fluxmodel&amp;rev=1774023941&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>GroIMP wiki</title>
        <link>https://dokuwiki.grogra.de/</link>
        <url>https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:01_light-modeling-introduction&amp;rev=1773307620&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-12T09:27:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>General Introduction</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:01_light-modeling-introduction&amp;rev=1773307620&amp;do=diff</link>
        <description>General Introduction

Rendering vs Light Modelling

Rendering is the process of generating a (final) image (or a series of images) from a 3D scene. This includes computing how surfaces appear based on materials, lighting, camera position, and other visual effects.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:02_light-modeling-first-steps&amp;rev=1774023627&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:20:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>First steps on light modelling</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:02_light-modeling-first-steps&amp;rev=1774023627&amp;do=diff</link>
        <description>First steps on light modelling

This tutorial we show you the basics on how to do light modelling in GroIMP. 



For some more theoretical background pleas refer to the  Introduction - A little bit of Theory  page. For an advanced tutorial on spectral light modelling check out the  Spectral light modelling  tutorial.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:03_light-modeling-light-sources&amp;rev=1774023652&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:20:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Light Sources</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:03_light-modeling-light-sources&amp;rev=1774023652&amp;do=diff</link>
        <description>Light Sources

Regarding light sources, GroIMP provides a complete set of possible implementations. They all implement the Light and LightBase interfaces, which makes them easy to handle and exchange. The standard light sources are: PointLight, SpotLight</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:04_light-modeling-light-shader&amp;rev=1774023745&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:22:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Local illumination - Shader</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:04_light-modeling-light-shader&amp;rev=1774023745&amp;do=diff</link>
        <description>Local illumination - Shader

To set the optical properties of an object, in computer graphics the so-called local illumination model is used. It defines so-called shaders, that are define the amount of absorption, reflection and transmission and how the light rays are scattered. The values for absorption are obtained as the &#039;remaining radiation&#039;, i.e., the difference between reflectance and transmission, when we subtract the reflectance and transmission from the total of incoming radiation: Abso…</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:10_sensor&amp;rev=1774424789&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-25T07:46:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sensors</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:10_sensor&amp;rev=1774424789&amp;do=diff</link>
        <description>Sensors

Sensors or sensor nodes are invisible objects that can be used to monitor light distributions with a scene without interfering with the rest of the scene or the light modelling. For this, GroIMP provides the SensorNode class, a spherical object that can be placed arbitrarily within the scene. To obtain the sensed spectrum, the function</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:13_light-modeling-visualizing-light-rays&amp;rev=1774023734&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:22:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Visualizing light rays</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:13_light-modeling-visualizing-light-rays&amp;rev=1774023734&amp;do=diff</link>
        <description>Visualizing light rays

Sometimes it is interesting to see the traces of light rays emitted by a light source when they travel through a scene. In GroIMP, this can be done using the integrated LightModelVisualizer.



To use it, all one needs to do is to add a</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:15_more_light_functions&amp;rev=1774023803&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:23:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>More light model functions... beyond getAbsorbedPower</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:15_more_light_functions&amp;rev=1774023803&amp;do=diff</link>
        <description>More light model functions... beyond getAbsorbedPower

So far, we only used the light model to obtain the amount of absorbed power for the objects within our scene, but there is more :)

Note: The following is only implemented for the CPU-based twilight light model of GroIMP and NOT implemented for the GPU-based Flux light model.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:18_sensor-grids&amp;rev=1765542255&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-12T12:24:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sensor Grids and Areal Sensors</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:18_sensor-grids&amp;rev=1765542255&amp;do=diff</link>
        <description>Sensor Grids and Areal Sensors

Light distributions, micro-light climate, light above canopy, light extinction coefficients, etc. are key parameters for any canopy simulations. To obtain these, areal or gird like sensor arrangements are required. Both can be generated within GroIMP by only a few lines of code.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:20_basic-spectral-light-modeling&amp;rev=1774023819&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:23:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spectral Light Modelling</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:20_basic-spectral-light-modeling&amp;rev=1774023819&amp;do=diff</link>
        <description>Spectral Light Modelling

These three core aspects of light simulation—global and local illumination models, and light sources—are the base for any light simulation. When it comes to spectral light simulations, specialized implementations of the aforementioned aspects are required, capable of simulating not only one or three light channels, as is typical for common light models, but also the entire light spectrum for different wavelengths.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:23_spectral-light-modeling-architecture&amp;rev=1774023833&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:23:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Effect of spectral light on morphogenesis</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:23_spectral-light-modeling-architecture&amp;rev=1774023833&amp;do=diff</link>
        <description>Effect of spectral light on morphogenesis

Open [SpectralLight.gsz] and explore the four files it consists of: Main.rgg, Modules.rgg, Parameters.rgg, and KL.java. The names already suggest that in Main.rgg you will find the main parts of the model, notably the methods</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:30_light-modeling-differences&amp;rev=1774272190&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-23T13:23:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Differences between the CPU and GPU light model</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:30_light-modeling-differences&amp;rev=1774272190&amp;do=diff</link>
        <description>Differences between the CPU and GPU light model

1. Interpretation of specular and shininess reflection





2. Interpretation of transparency of image textures

3. Implementation of the GrinClonerNode behaviour

	*  CPU (Twilight) implementation: repeats objects only into first quadrant</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:use_fluxmodel&amp;rev=1774023941&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-20T16:25:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Flux Light Model</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=02_user_tutorials:20_light:01_first_steps:use_fluxmodel&amp;rev=1774023941&amp;do=diff</link>
        <description>Flux Light Model

In this tutorial we will see how to get started with a FluxModel in GroIMP.



Go here to see more about how the FluxModel is defined in GroIMP.

First, we setup of the Flux Light Model:


import de.grogra.gpuflux.tracer.FluxLightModelTracer.MeasureMode;
import de.grogra.gpuflux.scene.experiment.Measurement;

const int RAYS = 10000000;
const int DEPTH = 10;
const FluxLightModel LM = new FluxLightModel(RAYS,
DEPTH);

protected void init () {
LM.setMeasureMode(MeasureMode.FULL_SP…</description>
    </item>
</rdf:RDF>
