Procedural Circular Graining
The ultimate tool to generate photorealistic watchmaking and industrial circular graining (perlage). A powerful hybrid system (OSL & Python) for absolute control and resolutions up to 16K.
A Hybrid Workflow: OSL + Python
Get the best of both worlds. Instantly switch between a mathematically perfect procedural shader and optimized baked textures, without losing your settings.
100% Procedural (Custom Node)
A custom shader node coded in OSL. Enjoy infinite resolution and ultra-fast compilation times. Perfect for Cycles renders requiring microscopic precision.
Baking System (Node Group)
Need Eevee compatibility or want to reduce computation load? The Python script translates your settings and generates/updates baked textures up to 16K resolution, completely seamlessly.
Choosing Your Workflow
Method A: The OSL Node (Cycles Only)
This method is 100% plug-and-play and provides infinite resolution for extreme close-ups.
Important: You must enable OSL for this node to compile. Go to the Render Properties tab (ensure your engine is set to Cycles) and check the Open Shading Language box.
- Simply add the OSL node group via the N-Panel and connect it to your material.
Method B: The Texture Baker (Cycles & EEVEE)
This method uses a Python script to generate baked texture maps. It is perfect if you need Eevee compatibility, want to save render times, or need to export the model to another software.
- Add the Baking node group via the N-Panel.
- Adjust your graining parameters (scale, density, resolution) directly within the N-Panel interface.
- Click the Generate button. The textures will be calculated and automatically applied to your node.
Note on Viewport Refreshing: If your 3D Viewport is currently in Rendered Mode, the changes might not appear immediately. Simply toggle back to Solid or Material Preview mode, then return to Rendered mode to force Blender to refresh the textures.
Comprehensive Data Channels
Normal |
Tangent |
Mask |
Circle UUIDFor per-circle randomization |
Per-Circle UVUV centered on each circle |
MetalicBSDFPre-made custom shader |
Technical Specifications
- ✓ 1-Click Installation via Blender preferences
- ✓ Engine 1: 100% Procedural OSL Node
- ✓ Engine 2: Python Texture Baking (up to 16K)
- ✓ Outputs: Normal, Tangent, Mask, UUID, UV
- ✓ Pre-connected Metallic BSDF included