NOX updated to version 0.3.52

Marchewa 2013-05-01 12:00 article  > NOX

Displacement support added.

Displacement is available from version 0.3.52. It is set per material.

All geometry division is done just after loading scene and only then. This is set this way because all the initialization of speed-up structures like BVH and BSP should be recalculated after displacement change and memory fragmentation would slow down NOX. Because of this any changes to displacement settings should be saved to file and loaded again. One exception here is in material editor. Here one simple scene with plane (1mx1m) is added and only on this one displacement material can be rendered and there displacement will be recalculated for each change.

In material editor all displacement settings are placed in Geometry area. All here is set per material (exception is normal mapping which is per material layer).
- Displacement texture should be in grayscale (nonsaturated). For texture settings 1.0 gamma is recommended.
- Continuity checkbox turns on feature that will fill the gap that may arise when displacement is put on two neightboring triangles that don't share smooth group (different shade normals on connective vertices).
- Depth is the amount of displace for maximum value (white on tex). It is set in meters.
- Shift is a correction of above setting. It is a constant value added to depth.
- Subdivisions means how many triangles will be created from one source triangle. There is no per-view security mechanism to decrease that value and it will always divide in that number of triangles. So caution is recommended when using it with actual dense source geometry.
- Normals define how destination normals will be evaluated. Default "Smooth" will evaluate local value from displacement texture on vertex coordinates. It is the slowest option. "Face" will set one normal per triangle - as there would be no smoothness. "As source" will put normals as were on source triangle. It is recommended for usage with normal mapping.
- Ignore scale option changes internal used depth and shift values. With it turned on magnitude of displacement will be evaluated for source object. It can be very usable when you have many instances of the same object with different scale. With "Ignore scale" turned off for each instance there would be another copy of mesh created with possibly large amount of memory consumed. But it would give correct amount od displacement.
It is also recommended to use it with some caution. In 3d software instances of object when scaled can have large magnitude of scale which won't be applied to mesh but to instance itself. Here "Ignore scale" will displace it with wrong value for instance.

Now that you know how it works you should be aware that displacement is very scale dependent feature. Careful depth and shift values and texture coordinates are very recommended.

Author: Marchewa Editor: dr_After
Tags:
You may also like...
Construct

Construct

Early to work one morning, Aiden happens upon illegal activities purveyed by his employer and is drawn into a brutal fight for his life and the safety of his family.
×

LEAVE A COMMENT

You need to be logged in to leave a comment. Don't have account? Register now.
  • ul. Przedzalniana 8, 15-688 Bialystok, POLAND