diff options
Diffstat (limited to 'source/blender/renderconverter')
-rw-r--r-- | source/blender/renderconverter/Makefile | 556 | ||||
-rw-r--r-- | source/blender/renderconverter/intern/convertBlenderScene.c | 161 |
2 files changed, 647 insertions, 70 deletions
diff --git a/source/blender/renderconverter/Makefile b/source/blender/renderconverter/Makefile index 0d65772b72b..c05e402ffe2 100644 --- a/source/blender/renderconverter/Makefile +++ b/source/blender/renderconverter/Makefile @@ -1,37 +1,521 @@ -# -# $Id$ -# -# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. The Blender -# Foundation also sells licenses for use in proprietary software under -# the Blender License. See http://www.blender.org/BL/ for information -# about this. -# +# Makefile.in generated by automake 1.7.6 from Makefile.am. +# source/blender/renderconverter/Makefile. Generated from Makefile.in by configure. + +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + # This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): none yet. -# -# ***** END GPL/BL DUAL LICENSE BLOCK ***** -# -# Bounces make to subdirectories. - -SOURCEDIR = source/blender/renderconverter -DIRS = intern - -include nan_subdirs.mk +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = ../../.. + +pkgdatadir = $(datadir)/blender +pkglibdir = $(libdir)/blender +pkgincludedir = $(includedir)/blender +top_builddir = ../../.. + +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +target_triplet = i686-pc-linux-gnu +ACLOCAL = ${SHELL} /home/qword/nuevo/fuentes/trabajo/blender/missing --run aclocal-1.7 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/qword/nuevo/fuentes/trabajo/blender/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /home/qword/nuevo/fuentes/trabajo/blender/missing --run autoconf +AUTOHEADER = ${SHELL} /home/qword/nuevo/fuentes/trabajo/blender/missing --run autoheader +AUTOMAKE = ${SHELL} /home/qword/nuevo/fuentes/trabajo/blender/missing --run automake-1.7 +AWK = mawk +BLIB_JPEG = +BLIB_PNG = +BLIB_SDL = +BlenderFMOD_FALSE = +BlenderFMOD_TRUE = # +BlenderGAME_FALSE = +BlenderGAME_TRUE = # +BlenderOPENAL_FALSE = +BlenderOPENAL_TRUE = # +BlenderPLUGIN_FALSE = +BlenderPLUGIN_TRUE = # +BlenderQUICKTIME_FALSE = +BlenderQUICKTIME_TRUE = # +BlenderSTATIC_FALSE = +BlenderSTATIC_TRUE = # +CARBON_FALSE = +CARBON_TRUE = # +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -funsigned-char +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -funsigned-char +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +F77 = +FFLAGS = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LIBM = -lm +LIBOBJS = + +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LN_S = ln -s +LTLIBOBJS = +MAKE = /usr/bin/make +MAKEINFO = ${SHELL} /home/qword/nuevo/fuentes/trabajo/blender/missing --run makeinfo +OBJEXT = o +PACKAGE = blender +PACKAGE_BUGREPORT = +PACKAGE_NAME = blender +PACKAGE_STRING = blender 2.29 +PACKAGE_TARNAME = blender +PACKAGE_VERSION = 2.29 +PATH_SEPARATOR = : +PBBUILD = +PYTHON = /usr/bin/python +PYTHONSYSPREFIX = /usr +PYTHON_EXEC_PREFIX = ${exec_prefix} +PYTHON_LDFLAGS = -Xlinker -export-dynamic +PYTHON_PLATFORM = linux2 +PYTHON_PREFIX = ${prefix} +PYTHON_VERSION = 2.2 +RANLIB = ranlib +SDL_CFLAGS = -I/usr/include/SDL -D_REENTRANT +SDL_CONFIG = /usr/bin/sdl-config +SDL_LIBS = -L/usr/lib -lSDL -lpthread +SET_MAKE = +SHELL = /bin/sh +STRIP = strip +USE_OPENAL_FALSE = +USE_OPENAL_TRUE = # +VERSION = 2.29 +WIN32_FALSE = +WIN32_TRUE = # +X11_FALSE = # +X11_TRUE = +X_CFLAGS = -I/usr/X11R6/include +X_EXTRA_LIBS = +X_LIBS = -L/usr/X11R6/lib +X_PRE_LIBS = -lSM -lICE +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = +ac_ct_RANLIB = ranlib +ac_ct_STRIP = strip +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +b_jpeg_FALSE = +b_jpeg_TRUE = # +b_png_FALSE = +b_png_TRUE = # +b_sdl_FALSE = +b_sdl_TRUE = # +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/qword/nuevo/fuentes/trabajo/blender/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +oldincludedir = /usr/include +pkgpyexecdir = ${pyexecdir}/blender +pkgpythondir = ${pythondir}/blender +prefix = /usr/local +program_transform_name = s,x,x, +pyexecdir = ${exec_prefix}/lib/python2.2/site-packages +pythondir = ${prefix}/lib/python2.2/site-packages +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target = i686-pc-linux-gnu +target_alias = +target_cpu = i686 +target_os = linux-gnu +target_vendor = pc +noinst_LTLIBRARIES = libblender_renderconverter.la + +libblender_renderconverter_la_SOURCES = \ + RE_renderconverter.h \ + intern/convertBlenderScene.c + + +INCLUDES = -I$(top_srcdir)/source/blender/blenlib \ + -I$(top_srcdir)/intern/guardedalloc \ + -I$(top_srcdir)/source/blender/makesdna \ + -I$(top_srcdir)/source/blender/blenkernel \ + -I$(top_srcdir)/source/blender/include \ + -I$(top_srcdir)/source/blender/render/extern/include \ + -I$(top_srcdir)/source/blender/python + + +EXTRA_DIST = \ + Makefile \ + intern/Makefile + +subdir = source/blender/renderconverter +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) + +libblender_renderconverter_la_LDFLAGS = +libblender_renderconverter_la_LIBADD = +am_libblender_renderconverter_la_OBJECTS = convertBlenderScene.lo +libblender_renderconverter_la_OBJECTS = \ + $(am_libblender_renderconverter_la_OBJECTS) + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +DEP_FILES = ./$(DEPDIR)/convertBlenderScene.Plo +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ + $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(libblender_renderconverter_la_SOURCES) +DIST_COMMON = Makefile.am Makefile.in +SOURCES = $(libblender_renderconverter_la_SOURCES) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu source/blender/renderconverter/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" = "$$p" && dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libblender_renderconverter.la: $(libblender_renderconverter_la_OBJECTS) $(libblender_renderconverter_la_DEPENDENCIES) + $(LINK) $(libblender_renderconverter_la_LDFLAGS) $(libblender_renderconverter_la_OBJECTS) $(libblender_renderconverter_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) core *.core + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/convertBlenderScene.Plo + +distclean-depend: + -rm -rf ./$(DEPDIR) + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ + -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ + else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ + fi +# source='$<' object='$@' libtool=no \ +# depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ + -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ + else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ + fi +# source='$<' object='$@' libtool=no \ +# depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + +.c.lo: + if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ + -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ + else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ + fi +# source='$<' object='$@' libtool=yes \ +# depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +convertBlenderScene.o: intern/convertBlenderScene.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convertBlenderScene.o -MD -MP -MF "$(DEPDIR)/convertBlenderScene.Tpo" \ + -c -o convertBlenderScene.o `test -f 'intern/convertBlenderScene.c' || echo '$(srcdir)/'`intern/convertBlenderScene.c; \ + then mv -f "$(DEPDIR)/convertBlenderScene.Tpo" "$(DEPDIR)/convertBlenderScene.Po"; \ + else rm -f "$(DEPDIR)/convertBlenderScene.Tpo"; exit 1; \ + fi +# source='intern/convertBlenderScene.c' object='convertBlenderScene.o' libtool=no \ +# depfile='$(DEPDIR)/convertBlenderScene.Po' tmpdepfile='$(DEPDIR)/convertBlenderScene.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o convertBlenderScene.o `test -f 'intern/convertBlenderScene.c' || echo '$(srcdir)/'`intern/convertBlenderScene.c + +convertBlenderScene.obj: intern/convertBlenderScene.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convertBlenderScene.obj -MD -MP -MF "$(DEPDIR)/convertBlenderScene.Tpo" \ + -c -o convertBlenderScene.obj `if test -f 'intern/convertBlenderScene.c'; then $(CYGPATH_W) 'intern/convertBlenderScene.c'; else $(CYGPATH_W) '$(srcdir)/intern/convertBlenderScene.c'; fi`; \ + then mv -f "$(DEPDIR)/convertBlenderScene.Tpo" "$(DEPDIR)/convertBlenderScene.Po"; \ + else rm -f "$(DEPDIR)/convertBlenderScene.Tpo"; exit 1; \ + fi +# source='intern/convertBlenderScene.c' object='convertBlenderScene.obj' libtool=no \ +# depfile='$(DEPDIR)/convertBlenderScene.Po' tmpdepfile='$(DEPDIR)/convertBlenderScene.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o convertBlenderScene.obj `if test -f 'intern/convertBlenderScene.c'; then $(CYGPATH_W) 'intern/convertBlenderScene.c'; else $(CYGPATH_W) '$(srcdir)/intern/convertBlenderScene.c'; fi` + +convertBlenderScene.lo: intern/convertBlenderScene.c + if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convertBlenderScene.lo -MD -MP -MF "$(DEPDIR)/convertBlenderScene.Tpo" \ + -c -o convertBlenderScene.lo `test -f 'intern/convertBlenderScene.c' || echo '$(srcdir)/'`intern/convertBlenderScene.c; \ + then mv -f "$(DEPDIR)/convertBlenderScene.Tpo" "$(DEPDIR)/convertBlenderScene.Plo"; \ + else rm -f "$(DEPDIR)/convertBlenderScene.Tpo"; exit 1; \ + fi +# source='intern/convertBlenderScene.c' object='convertBlenderScene.lo' libtool=yes \ +# depfile='$(DEPDIR)/convertBlenderScene.Plo' tmpdepfile='$(DEPDIR)/convertBlenderScene.TPlo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o convertBlenderScene.lo `test -f 'intern/convertBlenderScene.c' || echo '$(srcdir)/'`intern/convertBlenderScene.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique + +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +top_distdir = ../../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + $(mkinstalldirs) $(distdir)/intern + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) + +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + +distclean-am: clean-am distclean-compile distclean-depend \ + distclean-generic distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-depend distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am info \ + info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/source/blender/renderconverter/intern/convertBlenderScene.c b/source/blender/renderconverter/intern/convertBlenderScene.c index b8738968db4..9bccd128a5c 100644 --- a/source/blender/renderconverter/intern/convertBlenderScene.c +++ b/source/blender/renderconverter/intern/convertBlenderScene.c @@ -106,6 +106,14 @@ #include <config.h> #endif +/* yafray: VertRen vertices are not transformed, transform is replaced with the identity matrix, + * since yafray needs the untransformed meshes to calculate orco texture space as in Blender. + * This is not true for lamps however, which use a copy of the original object matrix instead. + * Duplicated data objects & dupliframe/duplivert objects are only stored once, + * only the matrix is stored for all others, in yafray these objects are instances of the original. + * The main changes are in RE_rotateBlenderScene(). + */ + /* ------------------------------------------------------------------------- */ /* Local functions */ /* ------------------------------------------------------------------------- */ @@ -1014,7 +1022,7 @@ static void render_static_particle_system(Object *ob, PartEff *paf) for(ctime= pa->time; ctime<mtime; ctime+=paf->staticstep) { - /* make sure hair grows until the end.. */ + /* make sure hair grows until the end.. */ if(ctime>pa->time+pa->lifetime) ctime= pa->time+pa->lifetime; @@ -1096,7 +1104,11 @@ static void init_render_displist_mesh(Object *ob) me= ob->data; - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); MTC_Mat3CpyMat4(imat, ob->imat); @@ -1280,7 +1292,7 @@ static void init_render_displist_mesh(Object *ob) vlr->puno= mf->puno; if(flipnorm== -1) flipnorm= test_flipnorm(v1->co, v2->co, v3->co, vlr, imat); - + if(flipnorm) { vlr->n[0]= -vlr->n[0]; vlr->n[1]= -vlr->n[1]; @@ -1388,10 +1400,14 @@ static void init_render_mball(Object *ob) float *data, *nors, mat[4][4], imat[3][3], xn, yn, zn; int a, need_orco, startvert, *index; - if (ob!=find_basis_mball(ob)) + if (ob!=find_basis_mball(ob)) return; - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); MTC_Mat3CpyMat4(imat, ob->imat); @@ -1511,10 +1527,14 @@ static void init_render_mesh(Object *ob) /* object_deform changes imat */ do_puno= object_deform(ob); - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); MTC_Mat3CpyMat4(imat, ob->imat); - + if(me->totvert==0) return; mvert= me->mvert; @@ -1809,12 +1829,16 @@ void RE_add_render_lamp(Object *ob, int doshadbuf) lar= (LampRen *)MEM_callocN(sizeof(LampRen),"lampren"); R.la[R.totlamp++]= lar; - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: in this case the lamp matrix is a copy of the object matrix */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4CpyMat4(mat, ob->obmat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); MTC_Mat3CpyMat4(lar->mat, mat); MTC_Mat3CpyMat4(lar->imat, ob->imat); - + lar->bufsize = la->bufsize; lar->samp = la->samp; lar->soft = la->soft; @@ -1822,7 +1846,7 @@ void RE_add_render_lamp(Object *ob, int doshadbuf) lar->clipsta = la->clipsta; lar->clipend = la->clipend; lar->bias = la->bias; - + lar->type= la->type; lar->mode= la->mode; @@ -1844,8 +1868,8 @@ void RE_add_render_lamp(Object *ob, int doshadbuf) lar->g= lar->energy*la->g; lar->b= lar->energy*la->b; lar->k= la->k; - - // area + + // area lar->ray_samp= la->ray_samp; lar->ray_sampy= la->ray_sampy; lar->ray_sampz= la->ray_sampz; @@ -1853,10 +1877,10 @@ void RE_add_render_lamp(Object *ob, int doshadbuf) lar->area_size= la->area_size; lar->area_sizey= la->area_sizey; lar->area_sizez= la->area_sizez; - + lar->area_shape= la->area_shape; lar->ray_samp_type= la->ray_samp_type; - + if(lar->type==LA_AREA) { switch(lar->area_shape) { case LA_AREA_SQUARE: @@ -1878,7 +1902,7 @@ void RE_add_render_lamp(Object *ob, int doshadbuf) lar->ray_totsamp= lar->ray_samp*lar->ray_sampy*lar->ray_sampz; break; } - + area_lamp_vectors(lar); } else lar->ray_totsamp= 0; @@ -1947,12 +1971,16 @@ void RE_add_render_lamp(Object *ob, int doshadbuf) } } } - - if( (R.r.mode & R_SHADOW) && (lar->mode & LA_SHAD) && (la->type==LA_SPOT) && doshadbuf ) { + + /* yafray: shadowbuffers only needed for internal render */ + if ((R.r.mode & R_YAFRAY)==0) + { + if( (R.r.mode & R_SHADOW) && (lar->mode & LA_SHAD) && (la->type==LA_SPOT) && doshadbuf ) { /* Per lamp, one shadow buffer is made. */ - RE_initshadowbuf(lar, ob->obmat); + RE_initshadowbuf(lar, ob->obmat); + } } - + lar->org= MEM_dupallocN(lar); } @@ -1980,7 +2008,11 @@ static void init_render_surf(Object *ob) nu= cu->nurb.first; if(nu==0) return; - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); /* material array */ @@ -2383,7 +2415,11 @@ static void init_render_curve(Object *ob) firststartvert= R.totvert; - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); /* material array */ @@ -2418,7 +2454,7 @@ static void init_render_curve(Object *ob) } bl= bl->next; } - + if(totvert) { fp= cu->orco= MEM_mallocN(3*sizeof(float)*totvert, "cu->orco"); @@ -2729,7 +2765,11 @@ static void init_render_object(Object *ob) else if(ob->type==OB_MBALL) init_render_mball(ob); else { - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); } } @@ -2901,6 +2941,8 @@ void RE_rotateBlenderScene(void) ob= G.main->object.first; while(ob) { ob->flag &= ~OB_DONE; + /* yafray: OB_YAF_DUPLISOURCE flag should be cleared as well here, otherwise is saved in .blend */ + ob->flag &= ~OB_YAF_DUPLISOURCE; ob= ob->id.next; } @@ -2912,10 +2954,24 @@ void RE_rotateBlenderScene(void) base= G.scene->base.first; while(base) { - + ob= base->object; - - if(ob->flag & OB_DONE); + + if(ob->flag & OB_DONE) { + /* yafray: this object needs to be included in renderlist for duplivert instancing. + This only works for dupliverts, dupliframes handled below. + This is based on the assumption that OB_DONE is only set for duplivert objects, + before scene conversion, there are no other flags set to indicate it's use as far as I know... + A special flag only used by yafray is set to indicate this object is the 'source' object + of which all other duplivert objects are an instance of. */ + if (R.r.mode & R_YAFRAY) { + printf("Adding %s to renderlist\n", ob->id.name); + ob->flag &= ~OB_DONE; + init_render_object(ob); + ob->flag |= OB_DONE; + ob->flag |= OB_YAF_DUPLISOURCE; + } + } else { where_is_object(ob); @@ -2923,6 +2979,15 @@ void RE_rotateBlenderScene(void) if(ob->transflag & OB_DUPLI) { /* exception: mballs! */ + /* yafray: Include at least one copy of a dupliframe object for yafray in the renderlist. + mballs comment above true as well for yafray, they are not included, only all other object types */ + if (R.r.mode & R_YAFRAY) { + if ((ob->type!=OB_MBALL) && ((ob->transflag & OB_DUPLIFRAMES)!=0)) { + printf("Object %s has OB_DUPLIFRAMES set, adding to renderlist\n", ob->id.name); + init_render_object(ob); + ob->flag |= OB_YAF_DUPLISOURCE; + } + } make_duplilist(sce, ob); if(ob->type==OB_MBALL) { init_render_object(ob); @@ -2933,7 +2998,7 @@ void RE_rotateBlenderScene(void) /* exception, in background render it doesnt make the displist */ if ELEM(obd->type, OB_CURVE, OB_SURF) { Curve *cu; - + cu= obd->data; if(cu->disp.first==0) { obd->flag &= ~OB_FROMDUPLI; @@ -2942,20 +3007,45 @@ void RE_rotateBlenderScene(void) } } } - + obd= duplilist.first; while(obd) { - if(obd->type!=OB_MBALL) init_render_object(obd); + if(obd->type!=OB_MBALL) { + /* yafray: special handling of duplivert objects for yafray: + only the matrix is stored, together with the source object name. + Since the original object is needed as well, it is included in the renderlist (see above) */ + if (R.r.mode & R_YAFRAY) { + printf("Adding dupli matrix for object %s\n", obd->id.name); + YAF_addDupliMtx(obd); + } + else init_render_object(obd); + } obd= obd->id.next; } } free_duplilist(); } - else init_render_object(ob); + else { + /* yafray: if there are linked data objects (except lamps), + yafray only needs to know about one, the rest can be instanciated. + The dupliMtx list is used for this purpose, so the test function sets the OB_YAF_DUPLISOURCE + flag when for the already known object as well. */ + if (R.r.mode & R_YAFRAY) { + if ((ob->type!=OB_LAMP) && (YAF_objectKnownData(ob))) + printf("Added dupli matrix for linked data object %s\n", ob->id.name); + else + init_render_object(ob); + } + else init_render_object(ob); + } } else { - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix, not sure if this is needed here */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); } @@ -2977,8 +3067,11 @@ void RE_rotateBlenderScene(void) if(ob->flag & OB_DO_IMAT) { ob->flag &= ~OB_DO_IMAT; - - MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); + /* yafray: set transform to identity matrix, not sure if this is needed here */ + if (R.r.mode & R_YAFRAY) + MTC_Mat4One(mat); + else + MTC_Mat4MulMat4(mat, ob->obmat, R.viewmat); MTC_Mat4Invert(ob->imat, mat); } ob= ob->id.next; @@ -2993,7 +3086,7 @@ void RE_rotateBlenderScene(void) if(blender_test_break()) return; /* if(R.totlamp==0) defaultlamp(); */ - + set_normalflags(); } |