More bug fixes #2

wants to merge 29 commits into


None yet
1 participant

ghost commented May 13, 2011

slmeta file names no longer tied to a specific render tool set.
Render pass resolution can now be exported for non beauty passes.
Now using [ ] brackets around array values in RIB.

jeffmd added some commits May 11, 2011

Bug Fix: slmeta file name includes compiled name extension
the slmeta files should only have extension .slmeta and not .slx.slmeta
if compiled by aqsl.  This is so that generic pipline shader libraries can be
built and not be tied to a specific pipeline core ie Aqsis.

The Fix: Was just a matter of modifying the pipeline xml that uses a link
expression that replaces the compiler specific file extension with .slmeta.

This fixes #20 issue on GitHub:
Bug Fix: pass resolution is now exported if not a BEAUTY pass
non BEAUTY passes can have a different resolution than the scene.

This fixes #23 issue on GitHub repo:
Bug Fix: Aqsis 1.7 wants [ ] around array values in RIB
Arrays will now have [ at the start of the values and ] at the end in the RIB.
Pixie and 3Delight don't seem to mind the missing brackets but Aqsis 1.7 complains.
Bug Fix: Aqsis 1.7 wants [ ] around array values in RIB
Arrays will now have [ at the start of the values and ] at the end in the RIB.
Pixie and 3Delight don't seem to mind the missing brackets but Aqsis 1.7 complains.

This fixes #24 issue on GitHub repo:
ExportManager.export_shaders() code refactor:
Split up export_shaders() monolithic method into smaller methods for easier
maintenance and re-use.

Now have export_text_editor_shaders(), export_xml_shaders(),
build_shader_compiler_commands(), build_shader_info_commands(),
and make_shader_export_path().

Also fixed #25 issue on GitHub repo:
New Feature: shader in text editor can be added to active pipeline
A new blender operator WM_OT_ribmosaic_text_addshaderpanel() has been
added that allows the user to add shaders that are in the text editor to
the active pipeline by right mouse button click on the shader text and
selecting "Add Shader Panels" from the popup menu.

The operator will automatically compile and build the required slmeta
file for the shader and then attempt to build a shader panel in the active

this fixes #22 issue on GitHub repo:

@ghost ghost closed this May 16, 2011

jeffmd added some commits May 16, 2011

Allow World to be exported as an Archive:
Added Export Options panel to World properties to allow the user
to set the archive mode of the world.
ExportWorld class implemented:
ExportWorld now has an export_rib() method that takes care of exporting
all the objects in the world.  ExportPass delegates to ExportWorld
the handling of object exporting.  The world can be setup as a ReadArchive.

World object can now have image and volume shaders attached to it and will
export them.
Bug Fixes: materials, meshes, and archive mode:
The 2 sides property of a mesh is now exported properly.

Materials are now within the attribute block of an object so
that they don't effect other objects.  This fixes #27 issue on
GitHub Repo:

Don't assume a world will always have a rib_archive property.  Preview
scenes will not.  So we now use getattr() function to attempt reading
the property.

@ghost ghost reopened this May 17, 2011

jeffmd added some commits May 20, 2011

Bug Fix: user does not have to select file when shader being added to…
… a pipeline:

File select is now automatic when adding a shader that is in the text editor
to a pipeline.
Bug Fix: Preview was not updating after pipeline sync executed:
If the user loaded a blend file that was using RIBMosaic and selected
"sync pipelines" the preview would not update unless forced by the user.

The WM_OT_ribmosaic_modal_sync() operator renamed to WM_OT_ribmosiac_pipeline_sync()
to better reflect what it does.  It has also been promoted to a full operator
for the pipeline manager.
Bug Fix: Pipeline shader library relative path now works
The user is no longer required to use "Setup Library" for the built in
pipeline shader libraries (ie. Library_Surface) or any pipeline that
stores its shaders in the same directory as the pipeline or in a sub directory.
Code Refactor: Moved Pipeline Library relative path fix code into its…
… own method fix_pipeline_library().

This allows an operator to call on this method to fix pipelines that have moved
after being loaded.
The material can now control the two sides attribute.
The mesh no longer controls two sides attribute.
This allows much more flexibility over a mesh that has multiple materials
assigned to different faces of the mesh.

Fixed Transform spacing issue.
Bug Fix: Can now delete any render pass even if only one left:
If there was only one render pass left then the user could not delete it.
The user can now delete the render pass and if there are no render passes left
after the deletion then the internal default render pass is used.

This fixes #29 issue on GitHub:
Any blender Object can now be a camera in a render pass:
This allows building shadow map passes etc with views from a light or from
an object when making reflection cube maps etc.

This fixes #9 issue on GitHub:

Also fixed a small bug with orthographic projection - was using wrong
method to write to rib.
Code Refactor: building exporter object lists is now done through Exp…
…orterArchive class:

Building lists of ExporterCommand, ExporterUtility, and ExporterShader can
now be easily done through the new methods added to ExporterArchive class:

This cuts down on a lot of code duplication that was happening in the different
object exporters.
very basic mesh cache support set up:
  This is prelude code to supporting multiple materials on a mesh.  For
now cache is working but only one material is supported per mesh.

  This is for issue #15 on GitHub:
More work on export of meshes with multiple materials.
Most of the new code comes from RibMosaic Beta-0.4.7 for Blender 2.49B.
more work on getting mulitple material per mesh working.
Rather that rebuild the blender mesh for each material used, build
it once and use it for each material used on the mesh.
Blender Material Preview now updates when a shader parameter is modif…
…ied by the user.

In Blender 2.57 the user had to force a material preview update by selecting one
of the preview options.

Blender 2.58 now supports property callbacks which allows a python script to perform
some action when the property value changes.  Shader parameters that are set
up as a property on the shader panel now have a callback assigned which does
what the user did in 2.57: force a preview update by changing the preview render type.
Still more work on multiple materials per mesh:
- Still need to pre-generate rib caches for each mesh material combo
- Moved transform RIB output to beginning of object export since
  multiple material + mesh exports will follow.
Bug Fix: embedded shaders in pipeline generated runtime error
copy/paste error: copied some code from a different section and forgot to update
var name.

Embedded shaders in the pipeline will now be exported and compiled.

This fixes #30 issue on GitHub repo:
New aqsis point cloud pipeline - initial commit:
This pipeline currently only has the rudimentary light shaders needed to
do point cloud based ambient occlusion.

  This is the bare bones stuff needed to do ambient occlusion in two passes:
First pass: bake the point cloud through the use of bake_ptc_light shader.
Second pass (beauty): perform occlusion calc in occ_ptc_light.

Still need to add a utility panel and python scripting to help new
users setup the first bake pass + AO light whith shaders automatically.

Pipeline was generated by Ribmosaic as a test.  Still a lot of work to be
done on pipeline generation tools.  Embedding shaders still a bit of a pita.

Pipeline is based on work done by Jonathan Merritt (lancelt) GitHub repo:

@ghost ghost closed this Jul 11, 2011

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment