# New features and changes in Ocean 2018¶

## Features¶

### Support for X-Rite .AxF¶

Measured AxF material rendered in Ocean

The “Appearance eXchange Format” is an exclusive format of X-Rite compagny. It contains a large amount of information and characteristics of complex materials. This type of file, which can now be interpreted with Ocean (as a new material), allows a high level of realism to be achieved on many materials.

X-Rite, Pantone, AxF, the AxF logos are trademarks of X-Rite, Inc.

See :

### Mie Scattering¶

Colloidal solution with gold nanoparticles

Ocean already makes it possible to describe scattering media with scattering nodes, with Rayleigh scattering for example (for molecules or sub-nanometric particles), the Mie medium goes further and simulates the behaviour of particles diluted from nanometers to hundred micrometers!

Any smoke or cloud can be described as a set of particles diluted in air. The same applies to inclusions, with air or impurity bubbles in solids (ice cube,…) or liquids (fruit juice,…).

Mie medium

### Lens Shift¶

In counter diving image, vertical lines are oblique. Lens Shift have been added into instrument object parameter list to correct this effect. Instead of changing the point of view, lens shift can be used.

A typical use for random scalar shader in switch BSDF

A new type of scalar shader has been added and makes it possible to generate various materials assign randomly on instances. This node picks random values for each instance where it is used and should be combined with a switch or blend BRDF.

### Dielectric function¶

A new node called “Dielectric function” has been introduced for more clarity. From now, most nodes using a medium are directly related to the dielectric function of the material under study. The dielectric function represents the optical properties of the material: its refractive index and absorption.

Nodes may contain comments. They can be read and modified either with the graphical user interface, or in Ocean XML files.

Ocean XML 6.1 example:

<bsdf type="glossy" name="bsdf" ior="1.52">
<roughness type="phong" name="roughness">
</roughness>
<!--Cool! I can enter comments in nodes-->
</bsdf>


## Performance¶

### OpenCL Post-Processing¶

OpenCL, for Open Computing Language is a language that significantly improves the computation time of post-processing by parallelizing heterogeneous tasks between CPU and GPU.

In fact, by activating OpenCL, the time required for post-processing tasks: filters and denoising is drastically reduced.

### Noise processing¶

Render without and with the Blaster noise killer filter

Blaster algorithm as been implemented to perform a new image denoising. It is bestly adapted in the case where both types of noise, gaussian noise and impulse noise, are involved.

### Ray-tracing optimization¶

We optimized the ray-tracing code for scenes with large number of simple overlapping instances, which are commonly generated by software such as Revit or CAD imports.

The speedup is typically 3x to 5x in those scenes.

## Modelling programs integration¶

A displaced and chamfered mesh exported from Rhino, rendered in Ocean

Ocean continues to improve the integration of the various 3D modeling tools.

Autodesk 3ds Max 2019 is now supported with mesh, material and camera import.

The Rhinoceros exporter has undergone some improvements and offers more export functionalities and now can export materials defined per surface. It also exports mesh deformations (displacement, chamfer, …) by exporting final geometry in the OCXML.

See Rhino Plugin

## Software Development Kit (SDK)¶

Procedural wrinkes with SDK plugin

The SDK allows writing new object types (Environment, Filter shader, etc…) with high performance C++ code, for extending the possibilities of Ocean.

See: SDK

## GUI Improvements¶

### Camera crop¶

You may now create a cropped version of a camera by right-clicking on a render, selecting:

Crop instrument

and defining a rectangular region with the mouse. This creates a new instrument suffixed with “-crop”

### Smart node convert¶

Nodes are smartly converted when pasting or dragging them on other node classes. For instance, pasting a BSDF on a material converts the material to generic and adds the BSDF as a child.

### Tab shortcuts¶

There is now a set of keyboard shortcuts for handling open tabs, such as:

• Switching to the next tab (Ctrl-Tab or Ctrl-PgDown)
• Switching to the previous tabs (Ctrl-Shift-Tab or Ctrl-PgUp)
• Closing the current tab (Ctrl-W or Ctrl-F4)
• Undo closing the current tab (Ctrl-Shift-T)
• Duplicating the current tab (Ctrl-D)

### Material picker¶

You may now pick and edit the material on a render in progress!