Base workflow

Introduction

Ocean is a scientific light simulation software, designed to predict the appearance of objects, and the illumination across a scene. It works with 3D CAD models from third party software, and allows applying complex optical properties to materials.

Geometry modelling

Ocean is not a 3D geometry modelling tool. It relies on 3D CAD models designed in other software, such as 3dsmax®, SketchUp® or Rhinoceros®

The following rules apply:

  • Ocean works with surfaces only. Lines and points cannot be used in the simulation, simply because a light ray cannot intersect with them
  • Volumes can be modeled by fully closed, watertight surfaces.
  • The surface orientation, defined by a normal pointing outwards, is important for asymmetric materials. It is also important for defining the inside and the outside of a volume. See modelling volumes for more information
  • Geometry instances are used efficiently in Ocean. When multiple copies of an object are used in a scene, the geometry can be stored only once, and the copies can be defined by their position in space only. This saves a lot of memory and increases simulation speed. This feature is called differently across CAD software, such as “Component” in SketchUp and “Block Instance” in Rhinoceros. Use it whenever possible!
  • Materials with relevant names must be defined and applied to the surfaces, but the material properties are not important.

Exporting the scene to Ocean

Ocean is shipped with plugins for exporting geometry from the following CAD software:

  • 3dsmax® 2015
  • Rhinoceros® 5 64-bit

Exporting is a straightforward process and just consists in launching the plugin export feature.

Editing items : the object tree

Scene items such as materials, instruments, environment lighting, can be edited graphically using an intuitive tree structure. For instance, this is the tree of a complex material:

Screenshot of the object editor

See object editor for more details

Adding physics to the scene

The tree can be edited, for adding the physical properties to the simulation elements

Material properties

../../_images/roughtransparent.jpg

Example of sandblasted soda-lime glass material

A very broad range of materials can be defined, from perfectly diffuse lambertian surfaces to specular models. Most models can be given spectral data, but RGB values may also be used for simplicity (although they will not be as accurate).

Light sources

../../_images/heated-graphite.jpg

Amorphous carbon heated to 1250°C at one side

Two type of light can be brought to the scene:

  • Area light sources are geometries with light emission properties. This can be set in the material definitions
  • Environment light comes from infinity, and is generally defined by a HDR environment map, or by sun/sky models

Instruments

In an Ocean simulation, an instrument is responsible for collecting light and generating the results. Instruments can be virtual camera models or light sensors. They work in the CIE XYZ color space by default, but can be defined to generate any color space using custom color matching functions, as well as spectral data.

Launching the simulation

When the scene is fully set-up, the simulation process can be started.

Ocean makes no approximations to the laws of geometry optics, as opposed to traditional CG renderers. As this would theoretically imply an infinite render time, it starts by generating a noisy image, which is periodically refined, and converges ultimately to the exact solution, as illustrated below:

../../_images/progressive-rendering.png

The computation is ended by the user, either manually or by setting a limit condition.

Post-processing

Simulation results are gathered by the instrument sensor, integrated over sensitivity spectra (also called observers), and stored as channel values. These values then post-processed by several filters, which have various purposes, such as tone-mapping. As opposed to other scene and simulation parameters, post-processing may be adjusted during or after the simulation.

The final values can be exported to various Output file formats