FAQ
Answers to frequently asked questions and common problems.
Which scene formats does Crust Render read?
Only USD: .usda, .usdc and .usdz. To render a scene from another format, convert it
to USD first. Most DCCs can export USD.
My surface renders grey. Why?
Crust Render couldn't read its material, and used grey diffuse instead. The log has a
WARN line naming the material and the reason: an unknown shader info:id, a shader
without info:id, or an unresolvable material. See
Materials and textures for what is supported.
I can't see my area light in the render
That's on purpose. Like most production renderers, Crust Render hides an area light's
surface from camera rays by default, and still lets it light the scene. To show it, add
bool crust:light:cameraVisible = 1 to the light. See
Lights.
How do I hide the background but keep the dome lighting?
Add bool crust:light:cameraVisible = 0 to the dome light, or
bool crust:domeLightCameraVisibility = 0 to the RenderSettings prim to hide every
dome and distant light at once.
My render is noisy
- Raise the sample count:
-sorcrust:samplesPerPixel. - Lower
crust:varianceThresholdso that adaptive sampling stops pixels later. - Many lights, most of them hidden? Try
--light-selection learned. - Mostly indirect light, for example a room lit through a door? Try path guiding.
My render has bright speckles (fireflies)
The default firefly clamp (10) already removes most of them. Lower
--indirect-clamp to remove more, at
the cost of a little energy.
My mesh looks faceted, or too smooth
By default subdivision meshes aren't refined. They render their control cage with smooth
normals. To refine them, use
--subdiv-level or
crust:subdivisionLevel. To
render a mesh flat-faceted, author subdivisionScheme = "none" on it.
The render runs out of memory
- Run with
--statsto see where the memory goes. - Create
.txfiles with--auto-txso UV textures are streamed instead of loaded whole, and lowerCRUST_TEX_CACHE_MBif needed. - Stream Ptex with
CRUST_PTEX_STREAM=1 CRUST_PTEX_STREAM_MIPSPACE=file. - Use the smaller triangle layout,
CRUST_TRI_PACKETS=indexed. - Lower
--subdiv-level. Each level multiplies the face count by four.
How do I limit the number of threads?
Set RAYON_NUM_THREADS,
for example RAYON_NUM_THREADS=8.
How do I find out where an artifact comes from?
Turn features off one at a time with the environment variables and see whether the artifact goes away:
| to rule out | set |
|---|---|
| UV textures | CRUST_TEX=0 |
| Ptex textures | CRUST_PTEX=0 |
| texture filtering | CRUST_RAY_CONES=0 |
| subdivision | CRUST_SUBDIV=0 |
| the MaterialX JIT | CRUST_SHADER_JIT=0 |
Also run with -l debug --log-file logs to keep a full log of what the importer read.
Where do I report a bug?
Open an issue on GitHub with the
command line, the log (-l debug --log-file), and a scene that shows the problem if you
can share one.