Displacement nodes use textures and procedural shaders to generate geometry during render time. This allows you to build simpler base shapes and use materials to add complexity and detail. OctaneRender® is known for easy and fast displacement and developments have continue to expand displacement capabilities. As a result, there are two types of displacement available in OctaneRender: Texture displacement and Vertex displacement.


Texture Displacement

The original displacement offered by OctaneRender, Texture displacement is a very fast, high fidelity voxel-based displacement. Texture Displacements are single axis displacements, displacing as height for a given polygon. If you need omni-directional vector displacements (displacements that allow for undercuts and overhangs, such as those generated within ZBrush) use Vertex Displacement instead. 


Texture Displacement may not produce the desired results across polygons with un-welded vertices, as the shading normals in those cases are discontinuous. The result may appear as if these adjoining faces are at different elevations or as holes, depending upon the geometry underneath. It is possible to compensate for this using the mid-level setting (adjust with the Live Viewer active) but that can be cumbersome. One way to disguise this artifact is to use it to your advantage, as a seam in cloth, for example. 


Texture Displacement is limited to image textures only, no procedural textures are allowed, though you can use the Baking texture node to get around that limitation to a degree. Just note that the procedural texture will be limited to the resolution that you specify in the Baking texture node and will not be resolution independent with Texture Displacement. That same is the case for Triplanar projections. They will need to be baked as well. For more information on Texture displacement, click here.


Texture Displacement, Deformed Objects and Motion Blur

Do not use Texture Displacement if your mesh is deformed with Cinema's various deformers, including joints. Texture Displacement cannot see the deformations applied to the displaced polygons and therefore will not be able to properly render motion blur for those polygons. If you require motion blur for this type of deformation, use Vertex Displacement instead.


Vertex Displacement

Vertex Displacement is completely different from Texture Displacement. Vertex Displacement requires subdivisions to work. The more resolution to your mesh, the better the results will be. As discussed in more detail in the Vertex Displacement section, you can use either the Cinema SubD generator, the OctaneObject tag, or the Displacement node subdivision to add the additional resolution. That said, if you are relying on edge weighting to add crispness to your edges, you will then need to use the Cinema SubD generator for that ability. Note that the Octane Object tag and the Displacement node subdivision will do the subdivision on the GPU, which will improve the time it takes to load the asset onto the GPU — as opposed to the Cinema SubD generator, which uses the CPU to subdivide and will result in quite a bit more data being sent over to the GPU over the bus, and that will take some time in comparison. The Auto Bump option can be used to lighten that load, fortunately, as described in more detail in the Vertex displacement section.


Unlike Texture Displacement, Vertex Displacement will properly motion blur where Cinema deformers, such as joints, are used. Therefore, Vertex displacement may be the better choice for character work, if you notice Texture displacement is not producing the results you need. For more information on Vertex displacement, click here.