Skip to content
This repository has been archived by the owner on Jul 18, 2020. It is now read-only.

Commit

Permalink
Merge pull request #37 from DavidBluecame/experimental
Browse files Browse the repository at this point in the history
Bring all YafaRay-E fork changes to official YafaRay, experimental branch
  • Loading branch information
DavidBluecame committed Apr 6, 2016
2 parents 27d5eb1 + 53eb6b1 commit daa8cf6
Show file tree
Hide file tree
Showing 31 changed files with 2,732 additions and 402 deletions.
277 changes: 277 additions & 0 deletions CHANGELOG

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
To install YafaRay-E (Experimental) into Blender:

Don't use the Blender from the distro repositories. Download the Blender official builds from:
https://www.blender.org/download/

Once Blender is installed, locate the folder where it was installed. The paths given below are just examples, but they will probably be different in your system.

Copy this entire folder "yafaray" to (for example):
- in Linux 64bit, for example: "$HOME/blender-2.74-linux-glibc211-x86_64/2.74/scripts/addons" folder.
- in Windows 64bit, for example: "C:\Program Files\Blender Foundation\Blender\2.74\scripts\addons" folder.

After it, start Blender, go to User Preferences, AddOns and try to enable Render:YafaRay. Once (hopefully) enabled you should see it in the list of renderers.

* Important: the YafaRay-E Linux 32bit build requires a processor with SSE/SSE2 instructions. Any non-ancient processor should have them...

If you have any issues:

* Check that you have copied the "yafaray" folder into the correct Blender addons folder.
* Check that you have downloaded the appropiate YafaRay build for your Operating System and Blender build (32/64 bit)
* Check that you are using the official Blender build from www.blender.org and it's a version supported by YafaRay (see CHANGELOG)
* If you still have problems, please ask for help in the yafaRay.org forums or post a bug report in http://www.yafaray.org/development/bugtracker/yafaray
49 changes: 40 additions & 9 deletions README
Original file line number Diff line number Diff line change
@@ -1,22 +1,53 @@
Yafaray 0.1.5 exporter for Blender 2.7:
DESCRIPTION
-----------
YafaRay is a free open-source montecarlo raytracing engine released under the LGPL 2.1 license. Raytracing is a rendering technique for generating realistic images by tracing the path of light through a 3D scene.

For the latest exporter updates check:
For more information, see: http://www.yafaray.org


YafaRay-E (Experimental) is an unofficial testing/unstable branch for fixes and new features, maintained by David Bluecame. Some of these fixes and features could be eventually accepted into the official/stable YafaRay, while others may end up rejected or implemented in a different way.

*WARNING*: YafaRay-E contains EXPERIMENTAL CHANGES AND FEATURES, so it's recommended not to use it for production scenes. This application is provided as is, and no guarantee is given that this code will preform in the desired way.

IMPORTANT: current LIMITATIONS of YafaRay:
* YafaRay only supports *one* version of YafaRay installed in the system. This limitation also affects installations of multiple "forks" of YafaRay, even if they have different names.
If you have a black window when rendering:
- Make sure that YafaRay is correctly installed in the appropiate place
- Make sure there are no other YafaRay versions/forks installed.

* YafaRay only supports *one* scene in the .blend file. If you have more than one scene, it could cause unexpected results and problems in the new Material Preview Controls.

Please post bugreports and feature requests here:
http://www.yafaray.org/development/bugtracker/yafaray


RELEASES
--------

YafaRay-E (Experimental) releases can be found here:
https://github.com/DavidBluecame/Blender-Exporter/releases

YafaRay-E latest source code:
* Core code: https://github.com/DavidBluecame/Core
* Blender Exporter: https://github.com/DavidBluecame/Blender-Exporter

More information about the changes in each YafaRay-E version see the file CHANGELOG



For the official YafaRay latest exporter updates check:

https://github.com/YafaRay/Blender-Exporter

and for the latest Yafaray builds (including exporter files too)
check for builds on graphicall.org:
check for builds here:

http://www.graphicall.org/yafaray
* http://www.yafaray.org/download
* http://www.graphicall.org/yafaray

or look into this forum post for other platform builds:

http://www.yafaray.org/community/forum/viewtopic.php?f=16&t=3520

http://www.yafaray.org/community/forum/viewforum.php?f=12

Download and extract the exporter files and folders to the 'Blender/2.7/scripts/addons/yafaray' directory.

Please post bugreports and feature requests here:
http://www.yafaray.org/development/bugtracker/yafaray

Expand Down
48 changes: 35 additions & 13 deletions __init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
"author": "Shuvro Sarker, Kim Skoglund (Kerbox), Pedro Alcaide (povmaniaco),"
"Paulo Gomes (tuga3d), Michele Castigliego (subcomandante),"
"Bert Buchholz, Rodrigo Placencia (DarkTide),"
"Alexander Smirnov (Exvion), Olaf Arnold (olaf)",
"version": (0, 1, 5, 'Stable'),
"blender": (2, 6, 3),
"Alexander Smirnov (Exvion), Olaf Arnold (olaf), David Bluecame",
"version": ('Experimental', 2, 1, 1),
"blender": (2, 7, 6),
"location": "Info Header > Engine dropdown menu",
"wiki_url": "http://www.yafaray.org/community/forum",
"tracker_url": "http://www.yafaray.org/development/bugtracker/yafaray",
Expand All @@ -46,20 +46,34 @@
# Preload needed libraries
# Loading order of the dlls is sensible please do not alter it
if sys.platform == 'win32':
for file in os.listdir(BIN_PATH):
# load dll's from a MSVC installation
if file in {'yafaraycore.dll'}:
dllArray = ['zlib1', 'iconv', 'zlib', 'libpng15', 'libxml2', 'yafaraycore', 'yafarayplugin']
break
# load dll's from a MinGW installation
else:
dllArray = ['zlib1', 'libxml2-2', 'libgcc_s_sjlj-1', 'Half', 'Iex', 'IlmThread', 'IlmImf', 'libjpeg-8', \
'libpng14', 'libtiff-3', 'libfreetype-6', 'libyafaraycore', 'libyafarayplugin']
if sys.maxsize == 2**63 - 1: # Windows 64bit system
for file in os.listdir(BIN_PATH):
# load dll's from a MSVC installation
if file in {'yafaraycore.dll'}:
dllArray = ['zlib1', 'iconv', 'zlib', 'libpng15', 'libxml2', 'yafaraycore', 'yafarayplugin']
break
# load dll's from a MinGW64 installation
else:
dllArray = ['libwinpthread-1', 'libgcc_s_seh-1', 'libstdc++-6', 'libiconv-2', 'libzlib1', 'libxml2-2', 'libHalf', 'libIex', 'libImath', 'libIlmThread', 'libIlmImf', 'libjpeg-8', 'libpng16', 'libtiff-5', 'libbz2-1', 'libfreetype-6', 'libyafaraycore', 'libyafarayplugin']

else: # Windows 32bit system
for file in os.listdir(BIN_PATH):
# load dll's from a MSVC installation
if file in {'yafaraycore.dll'}:
dllArray = ['zlib1', 'iconv', 'zlib', 'libpng15', 'libxml2', 'yafaraycore', 'yafarayplugin']
break
# load dll's from a MinGW32 installation
else:
dllArray = ['libwinpthread-1', 'libgcc_s_sjlj-1', 'libstdc++-6', 'libiconv-2', 'libzlib1', 'libxml2-2', 'libHalf', 'libIex', 'libImath', 'libIlmThread', 'libIlmImf', 'libjpeg-8', 'libpng16', 'libtiff-5', 'libbz2-1', 'libfreetype-6', 'libyafaraycore', 'libyafarayplugin']

elif sys.platform == 'darwin':
dllArray = ['libyafaraycore.dylib', 'libyafarayplugin.dylib']
else:
dllArray = ['libyafaraycore.so', 'libyafarayplugin.so']
if sys.maxsize == 2**63 - 1: # Linux 64bit system
dllArray = ['libHalf.so.6.0.0', 'libIex.so.6.0.0', 'libImath.so.6.0.0', 'libIlmThread.so.6.0.0', 'libIlmImf.so.6.0.0', 'libpython3.4m.so.1.0', 'libjpeg.so.62.0.0', 'libz.so.1.2.3.4', 'libpng12.so.0.44.0', 'libtiff.so.4.3.3', 'libfreetype.so.6.6.0', 'libyafaraycore.so', 'libyafarayplugin.so']

else: # Linux 32bit system
dllArray = ['libHalf.so.6.0.0', 'libIex.so.6.0.0', 'libImath.so.6.0.0', 'libIlmThread.so.6.0.0', 'libIlmImf.so.6.0.0', 'libpython3.4m.so.1.0', 'libjpeg.so.62.0.0', 'libz.so.1.2.3.4', 'libpng12.so.0.44.0', 'libtiff.so.4.3.3', 'libfreetype.so.6.6.0', 'libyafaraycore.so', 'libyafarayplugin.so']

for dll in dllArray:
try:
Expand Down Expand Up @@ -90,6 +104,14 @@ def load_handler(dummy):
# converts old files, where propertie yaf_tex_type wasn't defined
print("Load Handler: Convert Yafaray texture \"{0}\" with texture type: \"{1}\" to \"{2}\"".format(tex.name, tex.yaf_tex_type, tex.type))
tex.yaf_tex_type = tex.type
for mat in bpy.data.materials:
if mat is not None:
# from old scenes, convert old blend material Enum properties into the new string properties
if mat.mat_type == "blend":
if not mat.is_property_set("material1name") or not mat.material1name:
mat.material1name = mat.material1
if not mat.is_property_set("material2name") or not mat.material2name:
mat.material2name = mat.material2
# convert image output file type setting from blender to yafaray's file type setting on file load, so that both are the same...
if bpy.context.scene.render.image_settings.file_format is not bpy.context.scene.img_output:
bpy.context.scene.img_output = bpy.context.scene.render.image_settings.file_format
Expand Down
Loading

0 comments on commit daa8cf6

Please sign in to comment.