Directs photoreal 3D product renders - 0.5-1.5mm edge fillets on every mesh, 2-5 percent roughness variation via smudge and fingerprint maps, 2-4 percent grain over large gradients, physically correct glass at IOR 1.45-1.52, studio HDRI plus explicit shaped area lights, and reference-backed real internals in exploded views - so a render passes for photography instead of reading CG. Use when someone asks "why does my 3D product render look fake", "make our CGI product shot photoreal", "spec the render setup for a product visualization", "should we photograph this product or render it in 3D". Do NOT use for AI image generation - use photoreal-prompt-craft instead; the rig it executes comes from studio-lighting-design.
---
name: cgi-render-direction
description: Directs photoreal 3D product renders - 0.5-1.5mm edge fillets on every mesh, 2-5 percent roughness variation via smudge and fingerprint maps, 2-4 percent grain over large gradients, physically correct glass at IOR 1.45-1.52, studio HDRI plus explicit shaped area lights, and reference-backed real internals in exploded views - so a render passes for photography instead of reading CG. Use when someone asks "why does my 3D product render look fake", "make our CGI product shot photoreal", "spec the render setup for a product visualization", "should we photograph this product or render it in 3D". Do NOT use for AI image generation - use photoreal-prompt-craft instead; the rig it executes comes from studio-lighting-design.
---
# cgi-render-direction
Renderers regress toward mathematical perfection, and perfection is the tell - zero-roughness materials, unbeveled edges, and noise-free gradients are precisely how the eye flags a frame as CG. A launch hero that reads as concept render instead of shipping product poisons the honesty contract for every asset around it. This skill runs the render as a four-pass checklist of designed imperfections, each row a verifiable number, so the frame passes for photography.
## Operating procedure
Run the passes in dependency order: geometry before shading, shading before light, light before camera and comp. The order is load-bearing - a missing fillet cannot be shaded or lit into existence, so a defect caught in a later pass forces a re-run of every pass above it.
### Step 1: Elicit the scene and gate the internals
Ask for the charter first - it carries the stage and grade values this render must honor. Paste the charter block if one exists. If the client has a charter but the foundations pack is not installed, elicit the needed values directly and label them provisional. If no charter exists at all, halt and route to premium-design-foundations - never substitute worked-example values. Then gather:
- **Mesh source**: CAD export or modeled from reference, and whether every edge already carries a fillet. Engineering CAD ships zero-radius edges by default.
- **Material list**: every visible material by name; route its optical values through material-rendering-direction rather than guessing shader numbers.
- **Rig plan**: the lighting plan from studio-lighting-design, to be rebuilt as area lights. If no rig plan exists, build it there first - this skill executes light, it does not design it.
- **Renderer** in use. The checklist is engine-agnostic; pass-stacking habits differ, see references/renderer-notes.
- **Internals reference** for any exploded or transparent shot: teardown photos or the client's own CAD.
Scope gate on internals: exploded views are legal only for hardware the client itself manufactures. Never invent or explode the internals of third-party devices the client does not make - a software client's campaign has no exploded shot. No internals reference, no exploded shot. If any input is a guess, label it a guess and move on.