Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blender 2.72 (works so far) #8

Open
wants to merge 58 commits into
base: master
Choose a base branch
from
Open

Blender 2.72 (works so far) #8

wants to merge 58 commits into from

Conversation

gabyx
Copy link

@gabyx gabyx commented May 22, 2015

Combines pull request from nfz and my changes to make it work for blender 2.72.
Blender changed mesh.faces, to mesh.polygons

Also the init.py ( bpy.ops.wm.ribmosaic_modal_sync() ) does not work at the end of register() function:

Exception in module register(): '/home/zfmgpu/.config/blender/2.72/scripts/addons/render_ribmosaic/__init__.py'
Traceback (most recent call last):
  File "/opt/blender2.72/2.72/scripts/modules/addon_utils.py", line 312, in enable
    mod.register()
  File "/home/zfmgpu/.config/blender/2.72/scripts/addons/render_ribmosaic/__init__.py", line 169, in register
    bpy.ops.wm.ribmosaic_modal_sync()
  File "/opt/blender2.72/2.72/scripts/modules/bpy/ops.py", line 182, in __call__
    BPyOpsSubModOp._scene_update(context)
  File "/opt/blender2.72/2.72/scripts/modules/bpy/ops.py", line 148, in _scene_update
    scene = context.scene
AttributeError: '_RestrictContext' object has no attribute 'scene'

uncommented this (this the only strange change in this pull request)

Added Renderman PIxar Pipeline (copied from 3Ddelight)

jeffmd added 30 commits May 17, 2011 02:43
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
the property.
… a pipeline:

File select is now automatic when adding a shader that is in the text editor
to a pipeline.
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.
… own method fix_pipeline_library().

This allows an operator to call on this method to fix pipelines that have moved
after being loaded.
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.
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.
…orterArchive class:

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

This cuts down on a lot of code duplication that was happening in the different
object exporters.
  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: https://github.com/nfz/RIBMosaic-exp/issues/15
Most of the new code comes from RibMosaic Beta-0.4.7 for Blender 2.49B.
Rather that rebuild the blender mesh for each material used, build
it once and use it for each material used on the mesh.
…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 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.
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: 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:
https://github.com/lancelet/pointrender-examples
- allow user to modify micro buffer resolution through light shader parameters.
- added ptc render options panel that adds Hider option to RIB output.
- added ptc attributes that allow user to turn off culling for hidden and
  backfacing geometry during bake pass.
…oup of passes:

- Each panel now has a property called "Pass Filter" that allows the user to
associate the panel with a specific pass, all passes, or a group of passes.
Its just a string that contains a list of the pass names that the panel is to
be used.  If the string is empty then the panel works with all passes.  Pass
names are seperated by a comma if more than one name is in the string.

- Bug Fix: Lights will now not be exported to RIB when RIB archive property
 in Export Options panel is set to No Export.
This fixes #31 issue on GitHub Repo: https://github.com/nfz/RIBMosaic-exp/issues/31
The zfile display utility panel can now be attached to render settings and be
made to only be active for a specific pass ie shadow map generation pass.
The utility will automatically add the MakeShadow rib statement at the end of
the rib in order to converter the image to a proper shadow map.
… to RIB:

Ribmosaic will now split up a mesh into submeshes based on the materials applied
to each face in the mesh.
Still need more extensive testing done.

This is for issue #15 on GitHub: https://github.com/nfz/RIBMosaic-exp/issues/15
…s created

Reseting of the indentation was in the wrong place
…n some values

UV data must have all face data on one line.
UV data for a submesh was not properly read from the main mesh cache so there was
to much UV data exported ie all of the UV data from the main mesh.  Aqsis was
complaining about to much array st being too large.
jeffmd and others added 15 commits August 25, 2011 16:46
…ted in Camera section

before WorldBegin.

Aqsis work around: Surface shader variables don't work when shader is setup before WorldBegin.

3Delight and Pixie allow Surface shaders before WorldBegin but Aqsis doesn't pass
the shader parameters. So shaders attached to the World get exported after
the WorldBegin statement.
Not sure how this did not generate an error before but with latest python it does.
… if that pass

didn't have the render dimensions set.

A passes render dimensions now default to the scene render dimensions if not set.
… same

when output matrix data in the RIB export.

Also commented out some external references to other ribmosaic modules so that the
file can be converted to rm_ribify.c
…port transformation (wrong)

works with blender 2.72, some missing stuff is still not working correctly,
hope to get some support
…h renderman prman, other renderes 3ddelight is fine)

small changes to make it work with blender 2.72
Conflicts:
	render_ribmosaic/__init__.py
	render_ribmosaic/rm_export.py
	render_ribmosaic/rm_ribify.py
… so changed export stuff for faces, normals, vertices of mesh
SyncPipline (load_callback function is now persistent such that blender does not flush this handler when load new file)
Unregister removes the callback

-> Why does loading the .blend file somehow set up the pipeline which was used for this file correctly but does not include shaders pinned to materials)
-> Fix this?
SyncPipline (load_callback function is now persistent such that blender does not flush this handler when load new file)
Unregister removes the callback

-> Why does loading the .blend file somehow set up the pipeline which was used for this file correctly but does not include shaders pinned to materials)
-> Fix this?
made folders smallcase,

- defaults scene settings are now working properly.
- added name prefix, such that animated (keyframed objects) can be exported for all frames
by adding "@[EVAL:.current_frame:]" for example.
- open_archive_rib in ExporterArchive, now respects GEO,MAT,OBJ archives and looks up default rib archive (inline,readarchive) settings in scene correctly.
- camera can no be exportet as object consitently like all other objects.

etc.
Gabriel Nützi (UBUNTU) and others added 13 commits May 28, 2015 19:43
Conflicts:
	render_ribmosaic/__init__.py
…only PxrDisney)

corrected save/restore issue with shader panels -> (wrong hash function in PropertyHash)
using md5 hash which is consistent and safe, saving and restoring shaders work now as expected!
RIBUtilities.rmp contains some simple usefull RIBString utility, which adds a user-specified begin/end block if this panel is enabled
Sorry about that I forgot to merge the files after testing
Two more shaders to use in this plug-in!!
Merge for new glass shader
Submeshs and Materials are somehow not working (uvs get exported only partially)
…submesh caching which needs all uvs for one face on one line
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants