From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Cycles Subdivision and Displacement

Goal of this project is to enable artists to create highly detailed surfaces with less effort and resources compared to normal modeling techniques.


Note
This feature is under active development and should be considered experimental. Settings may be added and removed as development progresses; it is recommended to avoid use in production until things become more finalized.


Cycles Subdivision & Displacement

Subdivision Rate

Global scene settings

  • Render: Micropolygon size in pixels for the final render
  • Viewport: Micropolygon size in pixels for the viewport render
  • Offscreen Scale: Automatically reduces the amount of micropolygons outside of the "camera view" (higher values will produce less/larger micropolygons)
  • Max Subdivisions:
  • Dicing Camera:
Subdivision Rate: 100, 50, 25, 12, 6, 3

Offscreen Scale: 1, 4, 10, 20 (A different camera was used for dicing to show the effect better)


Object settings

  • Adaptive: Enable/Disable Adaptive subdivision
  • Dicing Scale: Multiplier for the scene dicing rate
  • Final Dicing Rate: Final dicing values (Subdivision Rate * Dicing Scale)
  • Subdivide UVs: Not supported at the moment
  • Simple: The mesh is subdivided in a linear fashion, preserving its shape, this may be useful for example on walls in an architectural render.
  • Catmull-Clark: This subdivision produces smoothed meshes, good for characters, organic models, or models designed for use with this type of subdivision.
Base Mesh, Simple, Catmull-Clark

Displacement Method

Displacement Method found in the material settings

  • Bump Only:
  • Displacement Only:
  • Displacement and Bump
Bump Only, DIsplacement Only, Displacement and Bump

Displacement Nodes

  • Space: World or Object
  • Height:
  • Midlevel:
  • Scale: Multiplier for the strength of the displacement
  • Normal:
Displacement Node

  • Space: Tangent, World or Object
  • Vector:
  • Midlevel:
  • Scale: Multiplier for the strength of the displacement
Vector Displacement Node

  • Displacement Output:
Displacement Output

Mean Crease

Crease Setting

Edge with different crease values: Base Mesh, 0.0, 0.1, 0.2, 0.4, 0.6

Tips

  • no abrupt changes in shader, use smoothstep or other smoothing functions instead
  • prefer quad only meshes, use creases sparsely...
  • formula to calculate the amount of polys with a rate < 1 -> 1/(dicing rate ^ 2)
  • multiply the displacement input by 10 to get the correct result (2.78)

Geometry Cache

  • Todo

Not Supported

  • Subdivide UVs
  • Instancing
  • UV Tangent
  • Deformation Motion Blur
  • Deformation Motion Blur with displacement
  • multiple materials on a single mesh will break the surface

Example Render

Baked Displacement Map

Procedural Displacement

Base Mesh, Catmull-Clark, Catmull-Clark + Crease

Catmull-Clark, Bump, True, Both