IntroductionWelcome to the RIBRobin Toolkit! This series of scripts lets you setup a scene right in the object editor for export to either 3Delight or RenderPixie!
Current Features
Camera
| - Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values.
- Width: Width of image that'll be rendered. Represented by the relative width of the camera's viewing rectangles. [640]
- Height: Height of image that'll be rendered. Represented by the relative height of the camera's viewing rectangles. [480]
- FOV: Field of Vision. [60]
- NearClip: Anything closer to the camera than this gets culled. Represented by the rectangle in front of the camera mesh. Non-uniform scale on the y-axis changes this value. [50]
- FarClip: Anything farther from the camera than this value gets culled. Represented by the rectangle furthest from the camera mesh. [1000]
- DOF:Enables Depth of Field. DOF does not render when Ambient Occlusion or orthographic is enabled. When activated, the camera receives a series of circle guides in its viewing range that represents the "circle of confusion" at that depth. Basically, the larger the circle, the more blur there will be at that spot. Giving DOF a value of 2 gives it a very dense representation (one circle every 10 units), whereas giving DOF a value of 1 makes it more sparse (one circle every 100 units). A value of 0 disables it. [ 0 ]
- f-stop: To make it easier to understand, just think of f-stop as a "scale" of sorts. The smaller the number, the larger the circles get. You can use either his or Focal Length or both. They scale the same way except at different values. [ 0.5 ]
- Focal Length: This also scales the circles of confusion. A higher value equals a larger scale. Combine this with f-stop to get the blur you want. [ 45 ]
- Focal Distance: The image is sharpest at this distance away from the camera. This is represented by a division located between the near and far clip. You'll notice that the circles of confusion are at its thinnest at this point. The best strategy is to set this value first before messing around with Focal Length and Focal Distance. [ 500 ]
- Orthographic: Changes the camera from perspective to orthographic. The camera's lines that represent its field of view change form accordingly. Non-uniform scale on the x-axis changes its width/height. [ 0 ]
|
Ambient Light
|
- Description: This object lights the entire world evenly, and is non-directional. You can place it anywhere in the scene and it'll have the same effect.
- Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color.
- Intensity: Intensity of the light. For ambient lights, it needs to be set fairly low[100]
|
Distant Light
|
- Description: This object lights the entire world evenly, in one direction. You can place it anywhere in the scene and it'll have the same effect. It's the same as Anim8or's infinite light.
- Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color, and the arrow's direction shows the light's direction
- Intensity: Intensity of the light [ 1 ]
- Casts Shadows? (Scanline not implemented yet): 0 = disabled, 1 = enabled. [ 0 ]
- Shadow Samples: Number of samples shadows are rendered at. [16]
- Shadow Width: The "softness" of the shadow. [1]
|
Spot Light
|
- Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color.
- Intensity: Intensity of the light. For spot lights, it needs to be set fairly high. (Poorly) Represented by the light's cone distance[Uniform Scale]
- Cone Angle: This is the overall cone angle of the spot light. [ 30 ]
- Delta Angle: This is the "inner" angle of light. Light will focus harder on this width when given a high beam distribution (maybe) [ 5 ]
- Beam Distribution: The higher the number, the more "focus" it has. [ 2 ]
- Casts Shadows?: 0 = disabled, 1 = enabled. [ 0 ]
- Shadow Samples: Number of samples shadows are rendered at. [16]
- Shadow Width: The "softness" of the shadow. [1]
|
Point Light
|
- Implementation: Click on icon in left toolbar, click and drag anywhere in work space. Double click to set values. The Emmissive RGB values in its corresponding material determine the light's color.
- Intensity: Intensity of the light. For point lights, it needs to be set fairly high. [100]
- Casts Shadows?: 0 = disabled, 1 = enabled. [ 0 ]
- Shadow Samples: Number of samples shadows are rendered at. [16]
- Shadow Width: The "softness" of the shadow. [1]
|
AO Options
|
- Description: This shape carries the ambient occlusion options for you to tweak its settings as needed. Please note that all but the first three settings apply only to point-cloud AO, and most of those are for 3Delight only. Fully raytraced Ambient Occlusion is mostly automatic, except you can set its bias and samples here. All default settings should turn out decent results for most cases.
- Implementation: Click on icon in left toolbar, click and drag anywhere in the work space to create it. Double click object to set values.
- Enabled: 0 = disabled, 1 = enabled. [ 0 ]
- Bias: Offsets the computation points a bit above the original surface. This can be necessary to avoid self-occlusion on highly curved surfaces. In other words, higher numbers can reduce artifacts, but may cause other problems. [ 1 ]
- Falloff: This shapes the falloff curve based on Falloff Mode. Scanline- and 3Delight-only.[ 0 ]
- Falloff Mode: 0 is exponential, 1 is polynomial. Scanline- and 3Delight-only.[ 0 ]
- Max Distance: Can decrease render times in large scenes if you set the max distance to only the range you want to shadows to be calculated, but otherwise changing this value won't give a noticeable bump in speed[ 1e+005 ]
- Clamp: Point-based AO (scanline) usually computes too much occlusion, so set this to 1 to make it look good. Nearly doubles the render time. Scanline- and 3Delight-only. [ 0 ]
- Max S. Angle: Max Solid Angle is a straightforward time-vs-quality knob. It determines how small a cluster must be for it to be a reasonable stand-in for all the points in it. Reasonable values seem to be in the range 0.03 - 0.1. Lower numbers = better quality. [ 0.05 ]
- Sample Base: A number between 0 and 1 that determines the jitter for computation points. Setting to 0.5 or higher may be necessary to avoid thin lines of too low occlusion where two (perpendular) surfaces intersect. Scanline- and 3Delight-only. [ 0 ]
- GUI Size: This is how big the Scene Options dialog will look in your workspace. You can scale it with the uniform scale tool, so usually you don't have to bother setting the numbers manually.[ 1 ]
|
Render Passes
|
- Description: If you want to save each major channel (diffuse, ambient, alpha, etc) into a separate image file, you can set that option here
- Implementation: Click on icon in left toolbar, click and drag anywhere in work space to create it. Double click object to set values. 0 is disabled, 1 is enabled
- Diffuse: Diffuse channel (development still in progress)[ 0 ]
- Ambient: Ambient channel (development still in progress)[ 0 ]
- Depth: Depth channel (development still in progress)[ 0 ]
- Alpha: Alpha channel (development still in progress)[ 0 ]
- Specular: Specular channel (development still in progress)[ 0 ]
- GUI Size: This is how big the Render Passes dialog will look in your workspace. You can scale it with the uniform scale tool, so usually you don't have to bother setting this number manually.[ 1 ]
|
Scene Options
|
- Description: This shape carries scene options that will override or dramatically change how your scene normally looks.
- Implementation: Click on icon in left toolbar, click and drag anywhere in work space to create it. Double click object to set values.
- Renderer: 0 = 3Delight, 1 = Aqsis, 2 = RenderPixie. There are specific features where the output has to be changed specifically for the renderer you are using. Hence this option so that it will be automated for you. [3Delight]
- Pixel Samples: This is your anti-aliasing. Higher numbers will reduce the jagged edges more, but also increases render time. [ 4 ]
- Ambient Occlusion: 0 = disabled, 1 = enabled. Converts your scene render to AO. Lights do not affect the outcome, so it's easy to flip the switch for an AO pass[ 0 ]
- AO Samples: The higher the number, the more samples and therefore the better it'll look, at the cost of render speed. [ 32 ]
- Bias: A lower number can introduce more AO artifacts but it'll look sharper. Best to adjust at small doses [ 1 ]
- GUI Size: This is how big the Scene Options dialog will look in your workspace. You can scale it with the uniform scale tool, so usually you don't have to bother setting the numbers manually.[ 1 ]
|
Setup, Exporting, and RenderingDownload the Toolkit using the link in the
Release log. The .zip file will include multiple .a8s (Anim8or scripts) files, folders, .sl (shader) files, and Convert.exe (converts image files). Delete ALL previous versions of RIBRobin completely! Then extract the entire contents of the folder into your Anim8or Scripts directory.
Current structure of the .zip file contents:
- /archives - directory that holds all associated .rib files that are called by your main .rib file
- /shaders - directory that holds all source shaders that the shader compilers look in and compile to.
- /textures - directory where convert.exe and the renderer's texture optimizer place converted textures for use by the .rib file
- convert.exe - ImageMagick program that the .bat file uses to convert all textures to the .tif format
- IMGMAGICK_LICENSE - ImageMagick's license. Read it if you feel like it.
- readme.txt - Readme file that gives some trivial info and points to this forum topic
- RIBRobin_Camera.a8s - Anim8or script that contains the Camera shape
- RIBRobin_Export.a8s - The brunt of the RIBRobin work is done by this file
- RIBRobin_Light_Ambient.a8s - Ambient light shape
- RIBRobin_Light_Distant.a8s - Distant light shape
- RIBRobin_Light_Point.a8s - Point light shape
- RIBRobin_Light_Spot.a8s - Spot light shape
- RIBRobin_Scene_AO.a8s - Ambient Occlusion dialog shape
- RIBRobin_Scene_Options.a8s - Scene Options dialog shape
- RIBROBIN_Scene_RP.a8s - Render Passes dialog shape
Set up your scene with the Toolkit's camera, lights, and other RIBRobin shapes available in the left toolbar. Set your renderer by double clicking the Scene Options object after you created it in the workspace. You can set up other parameters in the Scene Options shape, the Ambient Occlusion shape, the Render Passes shape, and the Camera shape. All other shape objects have parameters pertaining specifically to the Renderman component that it represents.
If you're ready to export, go to Object->Export... and select the Renderman (.rib) file type, specify the file name and directory (it can be any locations), and hit Save.
IMPORTANT: The exporter doesn't
just save a .rib file. It also saves .sl (shader language) files that are needed by the .rib file, and a .bat file that compiles the textures and shaders and then renders the .rib for you, via command line. The .bat file gets saved in the same directory as the main .rib file. All other files get saved into the folders mentioned above and don't need immediate attention unless there was an error.
So to render your .rib file, assuming you have your renderman renderer installed and you set the correct one in the Scene Options shape, double click on the .bat file that was generated in the same directory as your .rib file. It'll be called something like x_y_z.bat, where x is the same name as the .rib file, y is the name of the object you exported from, and z is the name of the renderer. It will perform four steps depending on your scene's contents:
- Associated textures will be converted to .tif using Convert.exe and saved in the textures directory
- Those converted textures will then be compiled into whatever format the renderer requires, using that renderer's texture optimizer.
- Any associated Shader Language (.sl) files will be compiled using the renderer's shader compiler and saved in the shaders directory
- Finally, all associated RIB files will be rendered. The final image will be a .tif file with the same name as the .rib file you saved.
Notes- Do not rename any of the RIBRobin shapes. The export script relies on their names to recognize what they are and how they should be processed.
- There can only be one camera, named RibRobinCam01
- When you download and install the Toolkit, make sure you delete all older RIBRobin Toolkit scripts first. Some file name changes may have occurred resulting in old scripts not being replaced automatically
- If you update the toolkit and open an Anim8or file that contains shapes made from the older toolkit scripts, they may need to be replaced depending on what was updated.
- This toolkit uses ImageMagick for its image conversion to tif files.
RIB Rendering SoftwareThe only RIB renderers supported are 3Delight and RenderPixie. I dropped Aqsis because it was too slow, buggy, and lacked features that the other two had. Not to mention RIBRobin's development is a lot faster now with one less renderer to stay compatible with.
- 3Delight - Commercial quality. One free license per user, restricted to 2 cores. Best one you can get at no cost.
- RenderPixie - Free, but not actively developed anymore. Fast and can make good images.
Development Milestone MarkersNote: Some features marked as complete may not have been released yet.
[
Complete ] [
Started ]
v0.3- Add emissive attribute to phong shader
- Per-Poly Materials - As the name suggests, multiple materials per mesh object.
- Smarter .bat files - To save time, detect whether or not a texture or shader was modified before regenerating it.
- Smooth Angles - Creases get exported properly
- Render separate passes - Allows the user to render separate channels as their own images with the option to combine them automagically.
- Point-Cloud Based Ambient Occlusion - An automatic setting that renders an AO pass separately from the main renderer
- Render Alpha - Renders only the alpha channel
- Render RGB - Renders only the RGB channel
- Render Depth - Renders only a depth map based on near/far distances
- Shadows - Shadows are treated as separate entities, so they'll take a little bit of work.
- Focal Blur - Blurs a certain distance/area in the scene for more depth.
- Special Materials & Effects
v0.4- Global Illumination - Automatically set up GI when given some parameters
- Limited Animation Support - Camera movement only
- Motion Blur - Blurs objects based on direction of movement.
- Special Materials & Effects - Reflection, refraction, caustics, etc. More details later.