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: https://github.com/nfz/RIBMosaic-exp/issues/20
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: https://github.com/nfz/RIBMosaic-exp/issues/24
Split up export_shaders() monolithic method into smaller methods for easier
maintenance and re-use.
Now have export_text_editor_shaders(), export_xml_shaders(),
Also fixed #25 issue on GitHub repo: https://github.com/nfz/RIBMosaic-exp/issues/25
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: https://github.com/nfz/RIBMosaic-exp/issues/22
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
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: https://github.com/nfz/RIBMosaic-exp/issues/27.
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
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.
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.
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: https://github.com/nfz/RIBMosaic-exp/issues/29
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: https://github.com/nfz/RIBMosaic-exp/issues/9
Also fixed a small bug with orthographic projection - was using wrong
method to write to rib.
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
…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.
copy/paste error: copied some code from a different section and forgot to update
Embedded shaders in the pipeline will now be exported and compiled.
This fixes #30 issue on GitHub repo: https://github.com/nfz/RIBMosaic-exp/issues/30
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: