Rendu
A lightweight rendering engine for experimentations
Loading...
Searching...
No Matches
Classes
Scene

Contain objects, lights and environment representations used in 3D scene rendering.

A scene can be represented on disk as a text file referencing resources by name. The general scene parameters and environment are setup as follows:

 * scene:
    translation: X,Y,Z
    scaling: scale
    orientation: axisX,axisY,axisZ angle
 * background:
    bgtype: value

where bgtype is one of

  color: R,G,B
  image: texturetype: texturename
  cube: texturetype: texturename
  bgsky: direction: X,Y,Z

Each object can the be declared as follows:

 * object:
    type: objecttype
    mesh: meshname
    translation: X,Y,Z
    scaling: scale
    orientation: axisX,axisY,axisZ angle
    shadows: bool
    twosided: bool
    masked: bool
    textures:
        - texturetype: texturename
        - ...
    animations:
        - rotation: speed frame axisX,axisY,axisZ
        - backandforth: speed frame axisX,axisY,axisZ amplitude
        - ...

Animations can be applied in either the world or model frame.

Lights of different types can be declared. Point lights:

 * point:
    position: X,Y,Z
    radius: radius
    intensity: R,G,B
    shadows: bool
    animations:
       - ...

Spot lights:

 * spot:
    direction: dirX,dirY,dirZ
    position: X,Y,Z
    radius: radius
    cone: innerAngle outerAngle
    intensity: R,G,B
    shadows: bool
    animations:
        - ...

Directional lights:

 * directional:
    direction: dirX,dirY,dirZ
    intensity: R,G,B
    shadows: bool
    animations:
       - ...

Finally, an environment probe can be defined as follow, either static (using a cubemap and precompute SH coeffs):

* probe:
    radiance: texturetype: texturename
    irradiance: shcoeffsfilename

or updated on the fly

* probe:
    position: X,Y,Z

For more details on each parameter, consult each object decode function documentation.

See also
Scene::init, Object::decode, Light::decodeBase, PointLight::decode, DirectionalLight::decode, SpotLight::decode, Animation::decodeBase, BackAndForth::decode, Rotation::decode, Codable::decodeTexture, Sky::decode, LightProbe::decode

Classes

class  Animated< T >
 Wraps an animated property so that the initial value is preserved. More...
 
class  Animation
 An animation is a transformation evaluated at each frame and applied to an object. More...
 
class  Rotation
 Rotate an object around an axis. More...
 
class  BackAndForth
 Translate an object back and forth along a direction. More...
 
class  LightProbe
 Store environment lighting for reflections. More...
 
class  DirectionalLight
 A directional light, where all light rays have the same direction. More...
 
class  Light
 A general light with adjustable color intensity, that can cast shadows. More...
 
class  PointLight
 An omnidirectional punctual light, where light is radiating in all directions from a single point in space. Implements distance attenuation. More...
 
class  SpotLight
 A spotlight, where light rays in a given cone are radiating from a single point in space. Implements distance attenuation and cone soft transition. More...
 
class  Material
 Represent a surface material, including textures describing the surface parameters. More...
 
class  Object
 Represent a 3D textured object. More...
 
class  Scene
 Represents a 3D environment composed of objects, a background and additional environment lighting informations, along with serialization support. More...
 
class  Sky
 Represent a background environment with atmospheric scattering. The sun direction can be animated. More...