Monday, July 14, 2008

MOSAIC feature ramblings - part 6

Part 6 - The Scene Setup tab and display drivers:



The "Scene Setup" tab represents the currently selected Blender scene, and since MOSAIC uses scenes as passes most of the settings here are related to render passes. All tabs from this point forward begin having a direct relationship to Blender's GUI and data structure, meaning selections in Blender will affect MOSAIC and selections in MOSAIC affect Blender. This becomes especially helpful when dealing with complex scenes where mouse selection is difficult and the outliner clutters the project space... for instance if dealing with lights just leave the "Lights Setup" tab open, select the light you want from a list of only lights, not sure it was right? just spin the 3D view around and see what was selected, etc. This also means that all settings in each tab are written to whatever is selected (its datablock properties), so whatever you're setting up you can be sure that those settings will link and append as you'd expect into other projects. To aid in navigating, MOSAIC also color codes each tab, and controls in each tab are grouped visually according to similar tasks ;)

Render passes in MOSAIC also automatically use Blender's scene format controls "SizeX", "SizeY", "AspX", "AspY" and the Anim controls "Sta" and "End".

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:Scene Setup
This group of controls is at the top of this and all the remaining tabs in MOSAIC and allows you to select available scenes, 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 Scene -This will show a list of available scenes for selection, once selected it will update Blender's current scene 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 file with the "cf_" prefix in their names) to the beginning and end of different RIB blocks. As 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:

  • Frame Archive -This menu allows you to specify whether the exported RIB code for scenes is exported into separate RIB archives or inlined into the main RIB.

  • Header Begin Code -This allows insertion of custom code fragments into the beginning of the header block which is after all of MOSAIC's Options (search paths, etc), but before the RiFrame blocks.

  • Frame Begin Code -This allows the insertion of custom code fragments into the beginning of the RiFrame block (this is immediately after the FrameBegin call, before anything MOSAIC exports).

  • World Begin Code - This allows the insertion of custom code fragments into the beginning of the RiWorld block (this is immediately after the WorldBegin call, before anything MOSAIC exports).

  • World End Code - This allows the insertion of custom code fragments into the end of the RiWorld block (this is immediately before the WorldEnd call, after anything MOSAIC exports).

  • Frame End Code - This allows the insertion of custom code fragments into the end of the RiFrame block (this is immediately before the FrameEnd call, 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:

  • Atmosphere Shader -This will select an atmosphere (fog) shader that will affect everything in this scene. RenderMan and MOSAIC allows multiple types of atmosphere shading such as shading an entire scene in the scene tab, or individual objects in the geometry tab, or groups of objects in the group tab, and materials using interior and exterior volume shading. Be aware of this as you setup your scene, for instance if you only want a particular object to have fog you would disable the shader in the scene tab and enable it in the geometry tab of that object, etc.
  • Notes - This will display a popup of any notes attached to shader fragment by the author (usually containing information about which Blender controls are used by this shader).

Also note that the built-in vs_MOSAICfog shader automatically uses all Blender's world Mist settings and uses the HorRGB color for the mist. This means that setting up and using the world mist should feel identical to using it in Blender.

Note : Immediately following this blog series I will be rewriting the built-in shader system so some shader related information may change.


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

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

  • Enable Occlusion Mapping -This will generate a scene and render pass entry for occlusion depth mapping 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 occlusion map dialog for editing the occlusion pass if it exists.

  • Enable IBL Environment Map -This will generate a scene and render pass entry for making a global cube map for things like image based lighting or global environment maps, etc. There will be a future blog covering this in more detail latter.

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

  • Custom Render Call - This allows you to manually type the call to the renderer for this pass only, this is handy for doing custom parameters to the renderer on a pass-by-pass basis (such as disabling threads of a photon map pass).


Options and attributes:
This group of controls is for setting frame and world related options and attributes for this pass.

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

  • SizeX -This will bypass Blender's SizeX control if greater then 0 and allows for a much higher image width of up to 1000000000.

  • SizeY -This will bypass Blender's SizeY control if greater then 0 and allows for a much higher image height of up to 1000000000.

  • Steps -This sets how many steps to skip in-between frame animations.

  • Shading Rate - This sets RiShadingRate (0 is off, won't export).

  • eyesplits - This sets the eye plane failure detection (0 is off, won't export).

  • gridsize - This sets the number of micropolies shaded at once (0 is off, won't export).

  • bucketsize - This sets the render bucket size (0 is off, won't export).

  • Xsamples - This sets RiPixelSamples xwidth (0 is off, won't export).

  • Ysamples - This sets RiPixelSamples ywidth (0 is off, won't export).

  • Filter - This sets RiPixelFilter type (blank is off, won't export).

  • Xwidth - This sets xwidth for filter (off if no filter).

  • Ywidth - This sets ywidth for filter (off if no filter).

  • Xwidth - This sets xwidth for filter (off if no filter).

  • Hider - This sets the Hider to use (DEFAULT doesn't export anything).

  • Emit - This sets hiders emit value (-1 is off, won't export).

  • Jitter - This sets hiders jitter value (-1 is off, won't export).

  • Irr maxerror - This sets the irradiance maxerror attribute, see renderer's documents for details (0 is off, won't export).

  • Trace maxdepth - This sets the trace maxdepth option, see renderer's documents for details (0 is off, won't export).

  • Shadow bias - This sets the global shadow bias option, see renderer's documents for details (0 is off, won't export).

  • Trace bias - This sets the global trace bias attribute, see renderer's documents for details (0 is off, won't export).

  • Photon globalmap - This sets the photon globalmap attribute, see renderer's documents for details (0 is off, won't export).

  • Photon causticmap - This sets the photon causticmap attribute, see renderer's documents for details (0 is off, won't export).


Mapping Utility Controls:
This group of controls are normally setup and used by different autopass dialogs throughout MOSAIC's GUI automatically, they are responsible for controlling how MOSAIC handles the exporting of shadow and environment maps. You should rarely need to access these directly but are provided to offer full control in the spirit of the rest of MOSAIC's design decisions.

Here's a breakdown of the controls in this group:
  • Shadow - This will pop-up a dialog for entering parameters for MakeShadow (normally automatically filled in by autopass dialogs).

  • LatLong - This will pop-up a dialog for entering parameters for MakeLatLongEnvironment (normally automatically filled in by autopass dialogs).

  • Cube - This will pop-up a dialog for entering parameters for MakeCubeFaceEnvironment (normally automatically filled in by autopass dialogs).

  • Texture - This will pop-up a dialog for entering parameters for MakeTexture (normally automatically filled in by autopass utilities).

  • Projections: - This menu allows you to select the active camera projection type for active cameras that are lights or objects. Active cameras as lights are used for shadow mapping and active cameras as objects are used for environment mapping (usually this control is setup automatically by the autopass dialogs).

  • Degrees/Scale - The degrees for projection camera types and scale for orthographic projection types (only used if active camera is not a camera).

  • Near Clip - Cameras near clipping (only used if active camera is not a camera).

  • Far Clip - Cameras far clipping (only used if active camera is not a camera).

  • Dupli Index - This is used to select which object/light perspective position to use if active camera is in a dupli system (normally automatically filled in by autopass dialogs).

  • Area Index - Similar to the dupli index, this selects which x/y samples perspective position to use if this is an area light (area lights are translated into light arrays using the x/y samples to determine grid divisions, normally automatically filled in by autopass dialogs).

  • EnvDOF - This will enable the DOF effect for this object active camera to fake glossy reflections for environment maps (normally automatically filled in by autopass dialogs).

  • focalL - The focal length for DOF if EnvDOF is enabled.

  • fstop - The fstop for DOF if EnvDOF is enabled.

  • dist - The view distance for DOF if EnvDOF is enabled.

  • Image Shader - The image shader for active object camera.

  • Autopass Filter Setup - Shows the filter pop-up with a series of filters that control how this scene is updated if it is a autopass. MOSAIC uses these settings to determine how to rebuild this scene for updating against its beauty scene if its for shadow maps, environment maps, etc (normally automatically filled in by autopass dialogs).


Display Setup:
This group of controls is responsible for managing the export of display codes. RenderMan uses display codes to determine what to render to and is capable of not only writing images to file but also to framebuffers for preview and arbitrary output data. To make this as unrestricted as possible MOSAIC allows the user to directly type the display code exactly as they want it, then enabling and disabling them as they like. To get the user up and running quickly most MOSAIC renderer presets automatically include the default file and framebuffer displays so a render will preview and write to file automatically.

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

  • Quantize -This will export RiQuantize for HDRI images (blank is off, won't export).

  • Add Display Driver - This will add a new file display to the display list as a starting place for user setup.

  • Use -This will enable or disable the display code on the same line (notice that this is achieved by simply adding a '#' to the beginning of the code, this is nice because it will still be exported in RIB and can be re-enabled in a text editor later).

  • Display Code - This contains the actual display code and can be edited as you see fit. Also note the use of the '#' for enabling and disabling the code and the use of the <###> token for inserting frame numbers in file names.

    Note : Even though the default display codes contain '+' on every line for appending, the exporter will actually strip it for the first display code by default.

  • Del - Deletes the display code on the same line.


Well that's it for the scene setup tab, as promised I'll cover the autopass dialogs for occlusion and IBL on a latter post ;) Next up cameras setup tab.

Thanks for reading, WHiTeRaBBiT

No comments:

Post a Comment