Showing posts with label passes. Show all posts
Showing posts with label passes. Show all posts

Wednesday, July 23, 2008

MOSAIC feature ramblings - part 12

Part 12 - Mapping utilities tutorial:


This post represents the last of the MOSAIC feature ramblings series and will focus on actually building and rendering a simple scene using mapping.
In particular this tutorial will focus on the following tasks:


  • Build a basic scene in Blender highlighting RenderMan setup

  • Prepare shaders via materials

  • Set up MOSAIC

  • Set up an occlusion map pass

  • Set up an environment map pass

  • Set up a shadow map pass

  • Set up a caustic map pass

  • Set up camera DOF

  • Add, build and use RenderMan shader sources and fragments

  • Tweak RenderMan settings

  • Tweak shaders via MOSAIC's GUI



This tutorial will specifically target MOSAIC's mapping utilities to create advanced rasterization techniques, because of this I will be using Aqsis for this tutorial (since it's a pure REYES renderer). Before we begin be sure you have at least Blender 2.46, Aqsis 1.4 and CVS mosaic.py 1.39 or newer.

If you're impatient and, like me, just want to see the scene, you can download it here:http://www.dreamscapearts.com/Public/mapping.blend

Also the first image is the final render, so you can use it as reference for building your scene ;)

Building the scene


To start off with, we will need to build a scene in Blender keeping in mind a few details related to how MOSAIC and RenderMan work. To save a little time instead of outlining every step of this I'll just explain what's in the scene and show some scene shots. I'm assuming a basic knowledge of Blender if we're using external renderers :)

Here's what's in the scene, look at the pictures to the right for the layout:


  • 1024x1024 UV test grid image saved as a tif.

  • 1 mesh plane Scale 13.7x13.7, double sided, UV unwrap, with unique material.

  • 1 mesh Suzanne Scale 2.1x2.1x2.1, double sided, smooth, SDS mod with unique material.

  • 4 instances (alt d) Suzanne Scale 1x1x1, double sided, smooth SDS mod with unique material.

  • 1 standard spot light, energy 1.2, color RGB 1.0,0.9,0.8.

  • 1 standard camera with 35mm lens.


Now that we have the basic components and layout of the scene let's setup the RenderMan related settings. To start off with we need to assign the large Suzanne to a group, this is because later on we will assign it to caustic pass by itself.

Preparing shaders via materials


Next let's quickly outline the material settings:

For the plane use standard material :
  • Col RGB=1,1,1,

  • Amb=1 (sets occlusion),

  • Spec=0,

  • create image texture using tif image, disable map to Col, enable map to Disp, and set its Disp slider to 0.477 (this tells MOSAIC to use texture for micropoly displacements).

For big central Suzanne use standard material :
  • Col RGB=0.098,0.665,0.544,

  • Ref=0.709,

  • Spec=2,

  • Hard=309,

  • Amb=0.607,

  • RayMir=1,

  • Mir Fresnel=1.2,

  • IOR=1.3,

  • Transp Fresnel=2.0.

For the instanced Suzannes use standard material :
  • Col RGB=0.617,0.617,0.617,

  • Spec=0.184,

  • Hard=215,

  • Amb=1,

  • enable "Subsurface Scattering";
  • Scale=1,
  • IOR=1.3,
  • Error=0.05,
  • Col RGB=1,0.791,0,
  • Front=0.8,
  • Back=1.


One thing to note about the big Suzanne's material is you'll notice that we're setting the ray mirror and transp settings even though we're not enabling Ray Mirror and Transp. This is because if MOSAIC sees an environment map enabled on an object it will use its material's ray mirror and transp settings on the map as if it were raytraced. This allows more advanced control such as fresnel over the environment map. If an environment map is enabled you will need to first disable it before being able to use raytracing even if you enable the "Ray Mirror" and "Ray Transp" toggles (maps take precedence since they involve render passes to MOSAIC).

Just for a nice effect let's also enable some fog. Go to Blender's world material settings and set the HorRGB color to 0.289,0.542,0.817. Also enable "Mist" and set "Dist" to 30. The other default settings should work but you may want to play with them to get other effects :)

Finally we need to setup the camera for DOF by switching on the camera's Limits and adjusting the Dof Dist (yellow cross) so that it's near the front of the big Suzanne. This will tell MOSAIC where the focal point for the DOF will be.

Setting up MOSAIC


Now that we have the camera, lights, objects and materials setup now it's time to setup MOSAIC. Before we begin be sure to go to the "MOSAIC Settings" tab and make sure you have "Aqsis" selected in the preset menu.

In the previous posts I briefly mention the mapping utilities and several buttons related to this, let's describe this in a little more detail.

The mapping utilities collectively are just a series of buttons throughout MOSAIC interface that allow you to create and edit map related render passes. You can find these button connected to the thing they make a map for, such as occlusion maps with scenes, environment maps with objects, shadow and caustic maps with lights. Once clicked , you will be presented with a dialog that allows you to setup how you want the map to be generated and how you want its contents updated. When complete MOSAIC will generate a render pass entry in the "Project Setup" tab and a scene to use as the pass using the name of the object and a special extension as its name (such as lamp.sm, see post 5 for details). Once the pass is created the button for the utility will be pressed in (letting you know at a glance if the pass already exists), if you click on the utility button again the scene and all its render pass entries will be removed. You can click the "edit" button next to the utility buttons to edit an existing pass without destroying its contents. The mapping dialogs have a set of controls that are standard for all dialogs and some that are specific to the map type.

Here are some of the standard ones:

  • SizeX/Y - These are standard controls for all utilities and adjust the width and height of the map.

  • Use Shaders - This is standard for all utilities and if enabled the shaders for the scene are used in the pass. This should be turned on if the map needs to see displacement mapping or surface shader related transparency (for deep shadows, etc). This is best left off for faster render times unless needed.

  • Use Preview - This is standard for all utilities and if enabled the pass will use the framebuffer display (will popup a render window). This should only be enabled if you wish to see the passes render output.

  • Degrees/Scale - This is standard for all utilities and has different meaning depending on the object type. If this is an environment or point shadow pass then this controls the seams for the cube mapping, if this is a sun lamp then this is orthographic scale (usually good to start a 9 or so), if this is a spot light then it does nothing (lens determined from spot size). In the case of occlusion mapping this does nothing because the occlusion rig uses spot lights.

  • Shading Rate - This is standard for all utilities and sets the shading rate for the pass. This is by default set very high for lower quality but faster rendering (which is usually OK for support passes), set this lower for higher detail and higher for faster render times.

  • Group - This is standard for all utilities and combined with the other filter settings control how the generated pass is built from the beauty pass. MOSAIC creates the pass from the current scene which becomes the passes beauty scene, the filter settings at the end of all utility dialogs tell MOSAIC what to use from the beauty scene. Depending on the pass type, some of these controls are always forced to certain values and some are available to the user. This one (group filter), is the most commonly used and just tells MOSAIC to build this pass only from objects contained in the specified group.


Now that we've covered a little about how mapping utilities work let's use them to setup the passes for this scene.

Set up an occlusion map

Let's start by going to the "Scenes Setup" tab and pressing the "Enable Occlusion Mapping" button. The default setting for this should be fine.

Just in case you were wondering, here are what some of the controls do:

  • Hemisphere - This is exclusive to occlusion mapping and controls whether the occlusion rig is a hemisphere or a full sphere. MOSAIC does occlusion mapping by creating a mesh in the pass and dupliverting a spot light to it, thereby making a dome light rig.

  • Rig Segment / Rings - This is exclusive to occlusion mapping and controls the number of segment and rings used in the occlusion rig. The higher these numbers the more lights are used in the rig.

This will produce an occlusion map that Aqsis will use to calculate occlusion.

The occlusion color is set by the world's HorRGB color and its intensity is controlled by each material's Amb slider, just like Blender.









































Set up an environment map

Next click on the big Suzanne and let's give her an environment map!

Once you've clicked on the big Suzanne go to the "Geometry Setup" tab and click the
"Enable Environment Mapping" button.

Unlike last time instead of using all defaults enable the "Use EnvDOF" toggle and set
"fstop" to 600.

This will produce a glossy like reflection by using DOF to make objects further away
blurry (in this particular scene it's not very visible so could be skipped).









































Set up a shadow map

Next click on the light and go to the "Lights Setup" tab and press the "Enable Shadow
Mapping" button. The default settings should be fine for this, but note if we weren't
wanting displacements in shadows we could cut render times by disabling "Use Shaders".

Set up a caustic map

We also want to click "Enable Caustic Mapping" for this light but instead of using all the defaults set "Group" to "Group" (or whatever group you assigned the big Suzanne to
earlier).

We need to do this because by assigning a group to the filter, this pass will only use
objects in that group, in this case that's just the big Suzanne.

Since we only want caustics for that one glass object then this works well, if you were to
add more glass objects with caustics you would just assign them to the same groups.

Set up camera DOF

Finally the last thing we need to setup is the camera.

Click on the camera and go to the
"Cameras Setup" tab.

Enable the "Use DOF" toggle and
set the "fstop" to 240.

This tells the renderer to use DOF
and MOSAIC will set the focal point
to the camera's Dof Dist setting.

At this point we can now render a
basic scene but you'll probably
notice that the environment map
renders get "eyesplits" errors and
overall the rendering is slow.


Also the scene lacks the interesting procedural displacements.

Adding, building and using RenderMan shader sources


Let's go ahead and play with some RenderMan procedural shaders :) If you've installed a full version of MOSAIC you will have a folder in the installation called "shaders", let's use a couple of the shaders in there. In Blender setup a window to the "Text Editor", click "File" and browse to MOSAIC's "shader/displacements" folder and load two shader sources: "dented.sl" and "bubbly.sl". When shader sources are loaded into Blender's text editor MOSAIC can use them automatically, but in order to use them in the project we need shader fragments. To do this go to the "MOSAIC Utilities" tab and click "Generate Shader Fragment". Once clicked, select the "dented.sl" and "bubbly.sl" one at a time to automatically generate shader fragments for those shaders. Once shader fragments have been generated then you can select them in the "Shader Parameters" menu to manually edit them (and of course you can now use them in the "Materials Setup" tab).

Now that we have shader fragments let's edit them so they look like my example. Select "ds_bubbly" in the "Shader Parameters" menu and edit the following (including the square brackets):

  • Kd = [ -0.15 ]

  • bubsize = [ 0.5 ]

For the "ds_dented" the default values will be fine. Now that we have tweaked our shader values let's apply them. Select the big Suzanne and go to the "Materials Setup" tab (make sure this really is the material for the big Suzanne). Change the "Displacement Shader" entry to "ds_dented", this will apply the dented shader to this material which is applied to the big Suzanne. Next select one of the instanced smaller Suzannes, go to the material setup tab and change the "Displacement Shader" entry to "ds_bubbly". This will apply the bubbly shader to this material which is applied to all the instanced Suzannes.

That's it for using shader sources, very easy :)

Tweaking RenderMan settings


At this point everything should begin looking like the example render I've provided, but you're probably getting errors on the environment passes and things are a little slower than they should be, so let's look at optimizing this scene for RenderMan :)

Eyesplits happen when geometry passes through the eye plane of the camera (it helps to think of this as the near clip visually), when this happens the renderer has to continue to dice and split the geometry into finer pieces to create a clean edge. How many times this happens is controlled by the "eyesplits" control in the "Scenes Setup" tab, but you want to be careful because eyesplits are very slow and can usually be avoided. One of the first things to look for when getting eyesplits is whether the camera is too close to any geometry, when rendering environment maps the camera is placed at the center of where the object is (which is usually very close to other objects). To correct this one of the simplest things to do is decrease the DisplaceBound setting. The DisplaceBound setting basically extends the bounding box of an object to make extra room for displacement shaders, this is necessary because RenderMan renderers are really sensitive to the bounding box since it's used to determine how far to calculate the shaders. The bounds have to be manually adjusted because the renderer has no way of knowing how far the displacements are passing outside the bounds box. By default MOSAIC uses 0.100 for all objects which is actually very large (I did this so all displacements would work for beginners).

So, I said all that to say this, to remove the eyesplits error for the environment map and increase overall render performance change the "DisplaceBound" settings in the "Geometry Setup" tab for each object to these:

  • plane = 0.010

  • big Suzanne = 0.010

  • smaller Suzannes = 0.030

Another small tweak that can help performance depending on your machine and memory is to increase the "bucketsize" in the "Scene Setup" tab to 32. This determines how large each render bucket is and will usually use more memory the larger it is but render each bucket a little faster (up to a point).

Tweaking shaders via MOSAIC's GUI


Finally one of the last areas I want to discuss for tweaking the scene is manual shader parameters.

The built-in shaders that come with MOSAIC have several parameters that have no where to hook into Blender's interface.

One thing to keep in mind when tweaking these are that they are global in scope, this is because the same shader fragments are usually used by everything in the project (this is possible because tokens allow each object to pass different settings through the same fragment).

One way around this would be to copy the built-in fragment and apply it to the individual objects you wanted.

Here's some parameters on "ls_MOSAIClight" I've tweaked to improve the caustic effect by coloring, smoothing and adding a little procedural noise:

  • CausticAlpha = [ 0.7 ]

  • CausticColor = [ 0.0 1.0 0.6 ]

  • CausticSamples = [ 256 ]

  • CausticBlur = [ 0.12 ]

  • noisefreq = [ 1.5 ] (this turns on noise)

















Well that's it, thanks to everybody who's encouraged me to continue writing these blogs (it's been a lot of work).

Also a big thanks for everyone who's played a part in making MOSAIC better, it's absolutely amazed me how people's ideas, encouragements and bug reports have made MOSAIC far better then I ever planned :D

Thanks for reading, WHiTeRaBBiT

Friday, July 18, 2008

MOSAIC feature ramblings - part 10

Part 10 - The Lights Setup tab and light export types:


The "Lights Setup" tab allows you to control different aspects of how MOSAIC exports lights. The exporter can handle Lamp, Area, Spot, Sun, and Hemi lights in much the same way that Blender does, making reusing existing scenes and creating new ones an easy task. MOSAIC's built-in light shader has built-in hooks to most of Blender's light controls, and have been designed to behave very similar to Blender's (When re-writing the built-in shaders I intend on enhancing this even further). For all lights the shader supports "Dist", "Energy", all "falloff" types, "Sphere", "No Diffuse", "No Specular" and light RGB color. If your renderer supports raytracing then MOSAIC's built in light and material shaders can use "Ray Shadow", "SpotSi", "SpotBl", "Soft Size", "Samples" and "Threshold" for soft raytraced shadows. For doing shadow mapping the shader supports "Buf Shadow", "SpotSi", "SpotBl", "Samples", "Bias" and "Soft". Also since Blender's Python API does not have hooks for light textures, there are several parameters in the light shader that can be manually set to use projection mapping and a few features not available in Blender.


Since MOSAIC handles shadow mapping with scene passes, setting a light to "Buf Shadow" does not create the shadow map or passes, in order to create the shadow map you need to use the "Enable Shadow Mapping" and "Enable Caustic Mapping" buttons in the "Lights Setup" tab.

Once clicked you'll be presented with a dialog that allows you to setup exactly how you want the pass created. This offers more control and fine tuning than Blender's built in shadow mapping is capable of (such as enabling deep shadows, fine tuning which objects are in the map, fine tuning shading rates and other optimizations, etc). It also allows you to directly manipulate the shadow pass since it's created as a Blender scene.

Once a pass is created then it is always preferred even if "Buf Shadow" is disabled or "Ray Shadow" is enabled, and you need to disable the "Enable Shadow Mapping" button to remove it.

Mapping controls and setup is a lengthy topic so I'll stop here and discuss it latter in another blog :)




Shadow Mapping LightsA few other things worth mentioning is that MOSAIC can export cube shadow maps for the Lamp type (same thing as a point light), orthographic shadow maps for the Sun type (same thing as a distant light), Hemi light types control constant ambient light and color, Spot light types work just like Blender's and finally Area lights which export a diffused wide cone spot light array. This last type (area light) simulate Blender's area light by building a grid array of diffused spot lights with the same shape as Blender's area light. It uses the area light's "SizeX" and "SizeY" for the "Rect" shape and the "Ray Shadow" "SamplesX" and "SamplesY" for the number of lights in the array. This works for both ray traced and shadow mapped lights and since MOSAIC is building the light array (instead of the shader) you can even use your own shaders on this light type. Also because MOSAIC is using the "Buf Shadow" settings for shadow map tweaking and because Blender only offers these controls for the spot light type, you'll need to switch the light to spot to tweak these controls and then switch it back when using non spot shadow mapped lights. You can now also use lights in dupli systems and particles as raytraced or shadow maps, although if you use them in particles you will need to parent the particle emitter to the light in order for MOSAIC to see it. I should also mention that caustic mapping is still experimental and at the moment it does not take the shape of the occluding objects into account, only the shape of the inverted shadow with an option to control its blur, color, intensity and add noise.

Now let's begin listing the controls, I'll break them down by group explaining what each group does and then outline each control in that group.

Navigation and RIBset management:Lights Setup
This group of controls is at the top of the tab and allows you to select available geometry objects, updating all controls and Blender selections accordingly. It also has controls for creating, deleting and selecting RIBsets for this tab.

Here's a breakdown of the controls in this group:

  • Select Light - This will show a list of available lights for selection, once selected it will update the current active object selection and all controls in this tab.

  • Select RIBset - This will show a list of available RIBsets for selection, once selected it will update all controls in this tab.

  • Create New RIBset - This will create a new RIBset from the current RIBset control settings and select it.

  • Delete This RIBset - This will delete the currently selected RIBset and select the DEFAULT RIBset.


Code management:
This group of controls is for attaching user created code fragments (text files with the "cf_" prefix in their names) to the beginning and end of different RIB blocks. As with the previous group, this group of settings is available in various configurations for all the remaining tabs.

Here's a breakdown of the controls in this group:

  • Light Archive - This menu allows you to specify whether the exported RIB code for lights is exported into separate RIB archives or inlined into the scene RIB.

  • Light Begin Code - This allows the insertion of custom code fragments into the beginning of the lights RIB archive before anything MOSAIC exports.

  • Light End Code - This allows the insertion of custom code fragments into the end of the lights RIB archive after anything MOSAIC exports.


Shader management:
This group of settings is available in various configurations for all the remaining tabs and is for selecting shaders for the selection.

Here's a breakdown of the controls in this group:

  • Light Shader - This will select a light shader for this light.
  • Notes - This will display a popup of any notes attached to shader fragments by the author (usually containing information about which Blender controls are used by this shader).

Pass utilities:
This group of controls is for creating specialty render passes related to this light.

Here's a breakdown of the controls in this group:

  • Enable Shadow Mapping - This will generate a scene and render pass entry for a shadow map for this light using the current scene as its beauty pass. There will be a future blog covering this in more detail latter.

  • Edit - This will pop-up the shadow map dialog for editing the shadow pass if it exists.
  • Enable Caustic Mapping - This will generate a scene and render pass entry for a caustic map for this light using the current scene as its beauty pass. There will be a future blog covering this in more detail latter.

  • Edit - This will pop-up the caustic map dialog for editing the caustic pass if it exists.


Options and attributes:
This group of controls is for setting object related options and attributes for this light.

Here's a breakdown of the controls in this group:

  • Use Light in Animations - This option allows you to manually take advantage of a "speed hack" in MOSAIC. This option can drastically improve export times in an animation for any light that is not animated. If enabled then MOSAIC will only export this light on the first frame of this animation and will then just re-use it without recalculating any of its data.

  • Use Transform - In many standard RenderMan shaders there are two techniques for passing the light's transform data to light shaders, by setting the light transform before calling the shader or by passing "to" and "from" parameters to the shader. For maximum compatibility MOSAIC and its light shader supports both methods. When enabled a transform will be setup before calling the light shader and "to" and "from" will equal (0,0,0) and (0,0,1) respectively, when disabled no transform will be used and "to" and "from" will equal the light positional data.

  • Light MBlur - This enables the motion blurring of the light's transform motion, that is the change in the objects position, rotation or scale.

  • frames - This specifies the number of frames to blur across.

    Note : MOSAIC begins the blur by this number before the current frame so blur lead to current frame.


Well, that's it for the lights tab... next up is the "Materials Setup" tab :)

Thanks for reading, WHiTeRaBBiT

Saturday, July 12, 2008

MOSAIC feature ramblings - part 5

Part 5 - The Project Setup tab and render passes:


The "Project Setup" tab presents a series of controls for setting aspects of the current project. The term "project" is unique to MOSAIC since Blender has no project settings or internal datablocks (the lowest structures in Blender are scenes).

Since scenes are render passes to MOSAIC a project tab is necessary to have a global place for scenes to be managed as passes. This is also a convenient place to put settings global to all exported RIBs.

Before I begin outlining the controls for this tab I need to talk a little about render passes and RIBsets.

Render Passes:
We've learned from earlier posts that render passes are Blender scenes to MOSAIC. We've also hinted that these scenes can be managed by MOSAIC, so let's expound on that.

There are essentially 3 types of render passes to MOSAIC:

  • Generated map autopasses recognized by their names and extensions.

  • Generated user autopasses recognized by their extensions.

  • Manually linked scenes as passes (no special naming).

Generated map passes are automatically made by MOSAIC and are for things like shadow maps, occlusion maps, etc. They are created and edited by various controls in MOSAIC's interface and are named using the name of the object they are made for with an added special extension. So for example if you use the "Enable Shadow Mapping" dialog in the "Lights Setup" tab for a lamp called "mylamp", MOSAIC would generate a scene called "mylamp.sm" and add its entry to the render pass list.

MOSAIC recognizes five scene extensions for map autopasses:

  • ".sm" - shadow map scene

  • ".cm" - caustic map scene

  • ".om" - occlusion map scene

  • ".em" - environment map scene

  • ".wm" - world environment map scene

Generated user autopasses are created by a tool in the "MOSAIC Utilities" tab and allow the user to create a pass that's maintained by MOSAIC, but can be crafted for custom use (such as building an occlusion cache pass, etc). These passes are identified by MOSAIC because they have the ".ap" extension.

Manual passes are nothing but normal scenes linked to the render pass list and contain no filtering or automation. They are very flexible because MOSAIC does not mess with them (so anything is possible), but do not always update properly when the beauty scene is updated (such as adding objects to the beauty scene).

I've mentioned several times that autopasses are "maintained" by MOSAIC. By "maintained" I mean that the contents of these scenes are automatically updated according to filter settings before they are exported. This "filter" concept is the corner stone of autopasses. How this works is every scene can have a series of settings applied to them that tell MOSAIC how to filter the scene, these filters contain things like which scene this pass is to be updated from, which object will be the active camera, only link objects in certain groups, block all lights, block all objects, use a particular RIBset, etc. Before MOSAIC exports a scene it will look to see if it's an autopass (by its extension) and if so then filter its contents according to its filter settings before it's exported (unless you disable the "Export Render Passes" toggle in the actions tab). Both map and user autopasses use the same filter mechanism but map autopasses have several filter settings automatically filled in.

Even though this all sounds very complicated in practice all you really need to do for most projects is hit the button for the type of map you want (depending on where you are in MOSAIC) and it'll all be done for you ;)


RIBsets:
RIBsets are a simple mechanism to have multiple "sets" of RenderMan settings per MOSAIC tab (ergo "RIB" "set"). Scene, Camera, Geometry, Light, and Material tabs can all use RIBsets. RIBset controls are located at the top of each tab and have buttons for creating, deleting and selecting RIBsets. Any changes to any controls in the tab are applied to the current RIBset, all controls are updated by the selection of other RIBsets. All RIBsets have a "DEFAULT" selection that cannot be deleted, if a default RIBset is deleted all controls in it are reset to their default states. RIBsets have several purposes:

  • To allow the user to have multiple setups (such as multiple shader selections on one Blender material).

  • To allow multiple scenes with shared objects to use different settings (such as having shadow map passes with no surface shaders on shared materials).

  • To have potentially hundreds of settings in a single scene.

Occlusion


The last point is very important for occlusion mapping. Occlusion mapping involves having hundreds of spot lights in a hemisphere pointed at the center of the scene, each spot light needs to have its own render pass. Since we don't want hundreds of render passes entries we need a better way to do this. The best way to handle the setup for that many coordinated lights is by parenting a mesh to a light and using Blender's "DupliVert" feature thereby creating a light at every vertex of the mesh.

MOSAIC has a feature so that if a light is made an active camera and if that light is part of a dupli system then you can set the "Dupli Index" number in the "Scene Setup" tab to set which dupli light perspective to use for the camera. By itself this isn't very helpful but combined with RIBsets you can create hundreds of RIBsets for the "Scene Setup" tab for every index into the dupli system. Next if you set the render pass to use "RIBSETPASSES" then MOSAIC will export every RIBset (except DEFAULT) in the scene as a separate pass. Using this mechanism it's possible to create hundreds of passes in a single compact scene with just one render pass entry.

Again even though this sounds complicated all you have to do in reality is click "Enable Occlusion Mapping" in the "Scene Setup" tab and MOSAIC will build all of this for you ;)


Now let's outline the controls in this tab.

Project Folder:
This is the name of the folder to export the project into (this folder if created in the "Export Directory" set in "MOSAIC Settings"). Remember to change this for each project if you want multiple projects running (such as rendering one while you edit another).

Search Paths:
All options in this category allow you to control which paths are used in the RIBs, see your renderer's documentation for a more detailed description of searchpaths.

Note : If you blank a path it will reset to its default, if you type in "NONE" then it will not be exported.

Texture Export Options:
This utility allows you to set how a each texture is handled by MOSAIC. Their options are:

  • Completely ignore - Do not export or optimize this texture.

  • Export only - Simply export this texture, but do not optimize it.

  • Export and Optimize - Both export and optimize it for the renderer.

  • Export into Environment Map - Export map but optimize it as a lat/long env map.

Create Render Pass:
This button will generate a blank render pass. This control and everything below it are were render passes are managed in MOSAIC. When a render pass is added you will get a row of controls for managing that pass. Passes are exported and rendered from top down with the beauty pass normally being the last in the list. Render passes can be added manually or automatically created and ordered by autopass utilities throughout MOSAIC. When passes are automatically created they are stacked in this order:

  • occlusion map passes

  • shadow map passes

  • caustic map passes

  • environment map passes

  • world map passes

  • user autopasses

  • beauty passes

They are stacked in this order so that shadows are calculated before environments which are before final passes. Also note that MOSAIC can support multiple beauty passes. When a pass is created you will see a row of these controls for each pass:

  • "Use" - This lets you enable or disable the export of this pass.

  • "Select Scene" - This lets you select which Blender scene is used for this pass.

  • "Select RIBset" - This lets you select which RIBset to set for this scene for export. Use this to select a custom created scene setups or use RIBSETPASSESS to render every RIBset in scene as a separate pass (DEFAULT RIBset is ignored).

  • "Sta" - Set this to the starting animation frame for this pass (if 0 then uses scenes "Sta" control in Blender).

  • "End" - Set this to the ending animation frame for this pass (if 0 then uses scenes "End" control in Blender).

  • "Up/Dn" - Move this pass up or down the pass list to change its export and render order.

  • "Del" - Delete this pass entry (does not delete the scene however).


That's it for the project tab, next blog will be focused on the "Scene Setup" tab and will probably be broken into two blog posts (since it's such a large topic).

Thanks for reading, WHiTeRaBBiT