...
- Pros
- Perfectly smooth at any resolution.
- Can have sharp or semi-sharp features with creases and corners.
- Can be very lightweight in memory.
- Less displacement cracks (watertight)
- Cons
- Different modeling techniques/skills
- Need to tag sharp edges and vertices
- Some topological constraints (quads or tris, no holes or non-manifold geometry)
Polygon meshes
- Pros
- Great for heavy geometry like 3D scanned mesh
- Best for geometry that will be fractured / simmed.
- Good for models with only sharp edges that don't need displacement
- No microploygon generation if not displaced.
- Cons
- Heavy models use a lot of memory, however small they may be in the image.
- Shadow terminator may be visible on low resolution smoothed objects
- Displacement cracks may be visible
NURBs
- Pros
- Perfectly smooth at any resolution.
- Lightweight in memory
- Cons
- Quad-only modeling
- Not supported in XPU
- Not very popular nowadays
Suggested reading:
Subdivision modeling
- Always model the simplest control cage possible.
- Always view your model with smoothing or render it using PxrVisualizer.
- You can even model in a live PxrVisualizer render !
Use creases to make sharp or semi-sharp edges without adding extra edge loops.
Section Column width 410px Column Panel bgColor #EEE titleBGColor #DDD borderStyle solid title Subdiv Crease demo We selected all the edges of an isocahedron and animated their crease value from 0.0 to 5.0.
All edges can have different crease values and still keep smooth transitions accross the final surface.
Corners work like creases for vertices.
Section Column width 410px Column Panel bgColor #EEE titleBGColor #DDD borderStyle solid title Subdiv Corner demo In this animation, 3 edges of a triangular face have a crease value of 5.0.
We increase the triangle's vertices corner values from 0 to 5.0.
Note the very smooth transitions around the tightened areas.
- There are 3 type of subdivision surfaces.
- Catmull-Clark is the most flexible and popular one.
- Loop is a triangle-based subdivision surface.
- No creases or corners
- useful for cloth simulations
- Bilinear is like a catmull-clark with infinitely hard creases on all edges
...
Tip |
---|
We recommend disabling "raster-oriented dicing", unless you see some artefacts. |
Section | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Model detailing
Often, it is better to rely on displacement and bump mapping to add details.
- Displacement allows you to add larger geometric features that impact your object's outline and shadowing.
- Displacement impacts time to first pixel (micropolygon generation) but doesn't slow down shading.
- Bump or normal maps will add small scale details
- Bump mapping add small cost during shading (recomputed at each ray hit).
- Note that our bump mapping nodes will NOT compute bump if the incoming ray is too "blurry", which means an absence of bump will go un-noticed.
If you have modeled a highly detailed object in ZBrush, you should consider retopologizing and :
- retopologizing to create a lightweight model
extracting a displacement map from the high-resolution mesh.
Tip Our displacement nodes have a "model displacement" input to connect the extracted displacement map.
Memory usage and performance
Polygon meshes
- Shortest time to first pixel (TTFP) if not displaced.
- When displaced, the mesh will be diced and micropolygons generated.
- Un-displaced heavy meshes use the same amount of RAM, whether they are full screen or 2 pixels high.
Subdivision surfaces
- Slightly longer TTFP but dicing is multi-threaded and efficient.
- Use a bit more memory than meshes for the same number of vertices.
- A sparsely modeled subdiv will only contain the base mesh faces when 2 pixels high.
- This adaptivity lowers memory usage and speed up raytracing.