Cleanup commit:

- Yafray removed. Also did cmake/scons files, but didn't compile with it,
  so test would be appreciated :)
- Removed old crap from Windows release dir, should be checked on
  further by windows release builder later.
This commit is contained in:
Ton Roosendaal
2009-06-01 12:10:30 +00:00
parent 0e02fef8b4
commit 7c4fccd684
60 changed files with 3 additions and 6864 deletions

View File

@@ -67,7 +67,6 @@ OPTION(WITH_OPENJPEG "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
OPTION(WITH_OPENAL "Enable OpenAL Support (http://www.openal.org)" ON)
OPTION(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" OFF)
OPTION(WITH_WEBPLUGIN "Enable Web Plugin (Unix only)" OFF)
OPTION(WITH_YAFRAY "Enable Yafray (Renderer)" OFF)
IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")

View File

@@ -279,7 +279,6 @@ if 'blenderlite' in B.targets:
target_env_defs['WITH_BF_OPENJPEG'] = False
target_env_defs['WITH_BF_FFMPEG'] = False
target_env_defs['WITH_BF_QUICKTIME'] = False
target_env_defs['WITH_BF_YAFRAY'] = False
target_env_defs['WITH_BF_REDCODE'] = False
target_env_defs['WITH_BF_DDS'] = False
target_env_defs['WITH_BF_ZLIB'] = False

View File

@@ -155,8 +155,6 @@ BF_SOLID = '#extern/solid'
BF_SOLID_INC = '${BF_SOLID}'
BF_SOLID_LIB = 'extern_solid'
WITH_BF_YAFRAY = True
#WITH_BF_NSPR = True
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr

View File

@@ -93,8 +93,6 @@ BF_SOLID = '#extern/solid'
BF_SOLID_INC = '${BF_SOLID}'
BF_SOLID_LIB = 'extern_solid'
WITH_BF_YAFRAY = 'true'
#WITH_BF_NSPR = 'true'
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr

View File

@@ -87,8 +87,6 @@ BF_SOLID = '#extern/solid'
BF_SOLID_INC = '${BF_SOLID}'
BF_SOLID_LIB = 'extern_solid'
WITH_BF_YAFRAY = True
#WITH_BF_NSPR = True
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr

View File

@@ -1,8 +1,6 @@
LCGDIR = '#../lib/windows'
LIBDIR = '${LCGDIR}'
WITH_BF_YAFRAY = True
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_VERSION = '2.5'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'

View File

@@ -75,8 +75,6 @@ BF_SOLID = '#extern/solid'
BF_SOLID_INC = '${BF_SOLID}'
BF_SOLID_LIB = 'extern_solid'
WITH_BF_YAFRAY = True
#WITH_BF_NSPR = True
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr

View File

@@ -83,8 +83,6 @@ BF_SOLID = '#extern/solid'
BF_SOLID_INC = '${BF_SOLID}'
BF_SOLID_LIB = 'extern_solid'
WITH_BF_YAFRAY = True
#WITH_BF_NSPR = True
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr

View File

@@ -94,8 +94,6 @@ BF_SOLID_LIB = 'extern_solid'
BF_WINTAB = LIBDIR + '/wintab'
BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
WITH_BF_YAFRAY = True
#WITH_BF_NSPR = True
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr

View File

@@ -107,8 +107,6 @@ BF_SOLID_LIB = 'extern_solid'
BF_WINTAB = LIBDIR + '/wintab'
BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
WITH_BF_YAFRAY = True
WITH_BF_BINRELOC = False
#WITH_BF_NSPR = True

View File

@@ -110,8 +110,6 @@ BF_SOLID_LIB = 'extern_solid'
BF_WINTAB = LIBDIR + '/wintab'
BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
WITH_BF_YAFRAY = True
WITH_BF_BINRELOC = False
#WITH_BF_NSPR = True

View File

@@ -1,450 +0,0 @@
;
; $Id$
;
; Blender Self-Installer for Windows (NSIS - http://nsis.sourceforge.net)
;
!include "MUI.nsh"
Name "Blender VERSION"
!define MUI_ABORTWARNING
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Blender.\r\n\r\nIt is recommended that you close all other applications before starting Setup.\r\n\r\nNote to Win2k/XP users: You may require administrator privileges to install Blender successfully."
!define MUI_WELCOMEFINISHPAGE_BITMAP "01.installer.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "00.header.bmp"
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_RUN "$INSTDIR\blender.exe"
!define MUI_CHECKBITMAP "00.checked.bmp"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "DISTDIR\Copyright.txt"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
Page custom DataLocation
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
Icon "00.installer.ico"
UninstallIcon "00.installer.ico"
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Language Strings
;Description
LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy all required files to the application folder."
LangString DESC_Section2 ${LANG_ENGLISH} "Add shortcut items to the Start Menu. (Recommended)"
LangString DESC_Section3 ${LANG_ENGLISH} "Add a shortcut to Blender on your desktop."
LangString DESC_Section4 ${LANG_ENGLISH} "Blender can register itself with .blend files to allow double-clicking from Windows Explorer, etc."
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Specify User Data Location"
;--------------------------------
;Data
Caption "Blender VERSION Installer"
OutFile "DISTDIR\..\VERSION\blender-VERSION-windows.exe"
InstallDir "$PROGRAMFILES\Blender Foundation\Blender"
BrandingText "http://www.blender.org/bf"
ComponentText "This will install Blender VERSION on your computer."
DirText "Use the field below to specify the folder where you want Blender to be copied to. To specify a different folder, type a new name or use the Browse button to select an existing folder."
; GetWindowsVersion
;
; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
; Updated by Joost Verburg
;
; Returns on top of stack
;
; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
; or
; '' (Unknown Windows Version)
;
; Usage:
; Call GetWindowsVersion
; Pop $R0
; ; at this point $R0 is "NT 4.0" or whatnot
Function GetWindowsVersion
Push $R0
Push $R1
ReadRegStr $R0 HKLM \
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
IfErrors 0 lbl_winnt
; we are not NT
ReadRegStr $R0 HKLM \
"SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
StrCpy $R1 $R0 1
StrCmp $R1 '4' 0 lbl_error
StrCpy $R1 $R0 3
StrCmp $R1 '4.0' lbl_win32_95
StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
lbl_win32_95:
StrCpy $R0 '95'
Goto lbl_done
lbl_win32_98:
StrCpy $R0 '98'
Goto lbl_done
lbl_win32_ME:
StrCpy $R0 'ME'
Goto lbl_done
lbl_winnt:
StrCpy $R1 $R0 1
StrCmp $R1 '3' lbl_winnt_x
StrCmp $R1 '4' lbl_winnt_x
StrCpy $R1 $R0 3
StrCmp $R1 '5.0' lbl_winnt_2000
StrCmp $R1 '5.1' lbl_winnt_XP
StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
lbl_winnt_x:
StrCpy $R0 "NT $R0" 6
Goto lbl_done
lbl_winnt_2000:
Strcpy $R0 '2000'
Goto lbl_done
lbl_winnt_XP:
Strcpy $R0 'XP'
Goto lbl_done
lbl_winnt_2003:
Strcpy $R0 '2003'
Goto lbl_done
lbl_error:
Strcpy $R0 ''
lbl_done:
Pop $R1
Exch $R0
FunctionEnd
Var BLENDERHOME
Var winversion
Function SetWinXPPath
StrCpy $BLENDERHOME "$PROFILE\Application Data\Blender Foundation\Blender"
FunctionEnd
Function SetWin9xPath
StrCpy $BLENDERHOME $INSTDIR
FunctionEnd
Function .onInit
Call GetWindowsVersion
Pop $R0
Strcpy $winversion $R0
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "data.ini"
FunctionEnd
Var HWND
Var DLGITEM
Var is2KXP
Function DataLocation
!insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" ""
; Set default choice
!insertmacro MUI_INSTALLOPTIONS_WRITE "data.ini" "Field 3" "State" 1
StrCpy $R1 $winversion 2
StrCmp $R1 "NT" do_win2kxp
StrCmp $winversion "2000" do_win2kxp
StrCmp $winversion "XP" do_win2kxp
StrCmp $winversion "2003" do_win2kxp
;else...
Strcpy $is2KXP "false"
Goto continue
do_win2kXP:
Strcpy $is2KXP "true"
continue:
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "data.ini"
Pop $HWND
Strcmp $is2KXP "true" do_dlg
; Disable App Data option on Win9x
GetDlgItem $DLGITEM $HWND 1201
EnableWindow $DLGITEM 0
do_dlg:
!insertmacro MUI_INSTALLOPTIONS_SHOW
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "data.ini" "Field 2" "State" ; App Dir
Strcmp $R0 1 do_app_data
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "data.ini" "Field 3" "State" ; Inst Dir
Strcmp $R0 1 do_inst_path
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "data.ini" "Field 4" "State" ; Home Dir
Strcmp $R0 1 do_home_path
Goto end
do_app_data:
Call SetWinXPPath
Goto end
do_home_path:
ReadEnvStr $BLENDERHOME "HOME"
Goto end
do_inst_path:
Call SetWin9xPath
end:
FunctionEnd
Section "Blender-VERSION (required)" SecCopyUI
SectionIn RO
; Sets $BLENDERHOME to suit Windows version...
; Set output path to the installation directory.
SetOutPath $INSTDIR
; Put file there
File DISTDIR\blender.exe
File DISTDIR\blenderplayer.exe
File DISTDIR\python23.dll
File DISTDIR\python23.zip
File DISTDIR\sdl.dll
File DISTDIR\gnu_gettext.dll
File DISTDIR\Copyright.txt
File DISTDIR\Blender.html
File DISTDIR\python-license.txt
File DISTDIR\Release_SHORTVERS.txt
File DISTDIR\GPL-license.txt
File DISTDIR\Help.url
File DISTDIR\zlib.pyd
SetOutPath $BLENDERHOME\.blender
File DISTDIR\.blender\.bfont.ttf
SetOutPath $BLENDERHOME\.blender\scripts
File DISTDIR\.blender\scripts\ac3d_export.py
File DISTDIR\.blender\scripts\ac3d_import.py
File DISTDIR\.blender\scripts\Apply_def.py
File DISTDIR\.blender\scripts\Axiscopy.py
File DISTDIR\.blender\scripts\batch_name_edit.py
File DISTDIR\.blender\scripts\bevel_center.py
File DISTDIR\.blender\scripts\blender2cal3d.py
File DISTDIR\.blender\scripts\bvh_export.py
File DISTDIR\.blender\scripts\bvh_import.py
File DISTDIR\.blender\scripts\clean_mesh.py
File DISTDIR\.blender\scripts\config.py
File DISTDIR\.blender\scripts\DirectX8Exporter.py
File DISTDIR\.blender\scripts\DirectXExporter.py
File DISTDIR\.blender\scripts\disp_paint.py
File DISTDIR\.blender\scripts\doc_browser.py
File DISTDIR\.blender\scripts\fixfromarmature.py
File DISTDIR\.blender\scripts\help_browser.py
File DISTDIR\.blender\scripts\help_getting_started.py
File DISTDIR\.blender\scripts\help_manual.py
File DISTDIR\.blender\scripts\help_py_reference.py
File DISTDIR\.blender\scripts\help_release_notes.py
File DISTDIR\.blender\scripts\help_tutorials.py
File DISTDIR\.blender\scripts\help_web_blender.py
File DISTDIR\.blender\scripts\help_web_devcomm.py
File DISTDIR\.blender\scripts\help_web_eshop.py
File DISTDIR\.blender\scripts\help_web_usercomm.py
File DISTDIR\.blender\scripts\hotkeys.py
File DISTDIR\.blender\scripts\kloputils.py
File DISTDIR\.blender\scripts\knife.py
File DISTDIR\.blender\scripts\lightwave_export.py
File DISTDIR\.blender\scripts\lightwave_import.py
File DISTDIR\.blender\scripts\nendo_export.py
File DISTDIR\.blender\scripts\nendo_import.py
File DISTDIR\.blender\scripts\obdatacopier.py
File DISTDIR\.blender\scripts\obj_export.py
File DISTDIR\.blender\scripts\obj_import.py
File DISTDIR\.blender\scripts\off_export.py
File DISTDIR\.blender\scripts\off_import.py
File DISTDIR\.blender\scripts\paths_import.py
File DISTDIR\.blender\scripts\radiosity_export.py
File DISTDIR\.blender\scripts\radiosity_import.py
File DISTDIR\.blender\scripts\raw_export.py
File DISTDIR\.blender\scripts\raw_import.py
File DISTDIR\.blender\scripts\renameobjectbyblock.py
File DISTDIR\.blender\scripts\rvk1_torvk2.py
File DISTDIR\.blender\scripts\save_theme.py
File DISTDIR\.blender\scripts\sel_same.py
File DISTDIR\.blender\scripts\skin.py
File DISTDIR\.blender\scripts\slp_import.py
File DISTDIR\.blender\scripts\sysinfo.py
File DISTDIR\.blender\scripts\tex2uvbaker.py
File DISTDIR\.blender\scripts\truespace_export.py
File DISTDIR\.blender\scripts\truespace_import.py
File DISTDIR\.blender\scripts\unweld.py
File DISTDIR\.blender\scripts\uv_export.py
File DISTDIR\.blender\scripts\UVpaint05.py
File DISTDIR\.blender\scripts\videoscape_export.py
File DISTDIR\.blender\scripts\vrml97_export.py
File DISTDIR\.blender\scripts\wings_export.py
File DISTDIR\.blender\scripts\wings_import.py
File DISTDIR\.blender\scripts\wrl2export.py
SetOutPath $BLENDERHOME\.blender\scripts\bpymodules
File DISTDIR\.blender\scripts\bpymodules\ai2obj.py
File DISTDIR\.blender\scripts\bpymodules\BPyBlender.py
File DISTDIR\.blender\scripts\bpymodules\BPyRegistry.py
File DISTDIR\.blender\scripts\bpymodules\eps2obj.py
File DISTDIR\.blender\scripts\bpymodules\gimp2obj.py
File DISTDIR\.blender\scripts\bpymodules\meshtools.py
File DISTDIR\.blender\scripts\bpymodules\svg2obj.py
SetOutPath $BLENDERHOME\.blender\scripts\bpydata
File DISTDIR\.blender\scripts\bpydata\readme.txt
File DISTDIR\.blender\scripts\bpydata\KUlang.txt
SetOutPath $BLENDERHOME\.blender\scripts\bpydata\config
File DISTDIR\.blender\scripts\bpydata\config\readme.txt
; Additional Languages files
SetOutPath $BLENDERHOME\.blender
File DISTDIR\.blender\.Blanguages
SetOutPath $BLENDERHOME\.blender\locale\ca\LC_MESSAGES
File DISTDIR\.blender\locale\ca\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\cs\LC_MESSAGES
File DISTDIR\.blender\locale\cs\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\de\LC_MESSAGES
File DISTDIR\.blender\locale\de\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\fi\LC_MESSAGES
File DISTDIR\.blender\locale\fi\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\es\LC_MESSAGES
File DISTDIR\.blender\locale\es\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\fr\LC_MESSAGES
File DISTDIR\.blender\locale\fr\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\it\LC_MESSAGES
File DISTDIR\.blender\locale\it\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\ja\LC_MESSAGES
File DISTDIR\.blender\locale\ja\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\nl\LC_MESSAGES
File DISTDIR\.blender\locale\nl\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\sv\LC_MESSAGES
File DISTDIR\.blender\locale\sv\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\zh_cn\LC_MESSAGES
File DISTDIR\.blender\locale\zh_cn\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\pt_br\LC_MESSAGES
File DISTDIR\.blender\locale\pt_br\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\hr_HR\LC_MESSAGES
File DISTDIR\.blender\locale\hr_HR\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\ru\LC_MESSAGES
File DISTDIR\.blender\locale\ru\LC_MESSAGES\blender.mo
SetOutPath $BLENDERHOME\.blender\locale\pl\LC_MESSAGES
File DISTDIR\.blender\locale\pl\LC_MESSAGES\blender.mo
SetOutPath $INSTDIR
; Write the installation path into the registry
WriteRegStr HKLM SOFTWARE\BlenderFoundation "Install_Dir" "$INSTDIR"
; Write the uninstall keys for Windows
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayName" "Blender (remove only)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteUninstaller "uninstall.exe"
SectionEnd
Section "Add Start Menu shortcuts" Section2
SetOutPath $INSTDIR
CreateDirectory "$SMPROGRAMS\Blender Foundation\Blender\"
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Blender.lnk" "$INSTDIR\Blender.exe" "" "$INSTDIR\blender.exe" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Readme.lnk" "$INSTDIR\Blender.html" "" "" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Copyright.lnk" "$INSTDIR\Copyright.txt" "" "$INSTDIR\copyright.txt" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\GPL-license.lnk" "$INSTDIR\GPL-license.txt" "" "$INSTDIR\GPL-license.txt" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Help.lnk" "$INSTDIR\Help.url"
SectionEnd
Section "Add Desktop Blender-VERSION shortcut" Section3
SetOutPath $INSTDIR
CreateShortCut "$DESKTOP\Blender.lnk" "$INSTDIR\blender.exe" "" "$INSTDIR\blender.exe" 0
SectionEnd
Section "Open .blend files with Blender-VERSION" Section4
SetOutPath $INSTDIR
;ExecShell "open" '"$INSTDIR\blender.exe"' "-R -b"
;do it the manual way! ;)
WriteRegStr HKCR ".blend" "" "blendfile"
WriteRegStr HKCR "blendfile" "" "Blender .blend File"
WriteRegStr HKCR "blendfile\shell" "" "open"
WriteRegStr HKCR "blendfile\DefaultIcon" "" $INSTDIR\blender.exe,1
WriteRegStr HKCR "blendfile\shell\open\command" "" \
'"$INSTDIR\blender.exe" "%1"'
SectionEnd
UninstallText "This will uninstall Blender VERSION. Hit next to continue."
Section "Uninstall"
; remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender"
DeleteRegKey HKLM SOFTWARE\BlenderFoundation
; remove files
Delete $INSTDIR\blender.exe
Delete $INSTDIR\blenderplayer.exe
Delete $INSTDIR\python23.dll
Delete $INSTDIR\python23.zip
Delete $INSTDIR\sdl.dll
Delete $INSTDIR\gnu_gettext.dll
Delete $INSTDIR\Copyright.txt
Delete $INSTDIR\Blender.html
Delete $INSTDIR\GPL-license.txt
Delete $INSTDIR\python-license.txt
Delete $INSTDIR\Release_SHORTVERS.txt
Delete $INSTDIR\Help.url
Delete $INSTDIR\uninstall.exe
Delete $INSTDIR\zlib.pyd
Delete $INSTDIR\.blender\.bfont.ttf
Delete $INSTDIR\.blender\.Blanguages
; remove shortcuts, if any.
Delete "$SMPROGRAMS\Blender Foundation\Blender\*.*"
Delete "$DESKTOP\Blender.lnk"
; remove directories used.
RMDir /r $INSTDIR\.blender\locale
RMDir /r $INSTDIR\.blender\scripts
RMDir /r $INSTDIR\.blender\scripts\bpydata
RMDir /r $INSTDIR\.blender\scripts\bpydata\config
RMDir /r $INSTDIR\.blender\scripts\bpymodules
RMDir $INSTDIR\.blender
RMDir "$SMPROGRAMS\Blender Foundation\Blender"
RMDir "$SMPROGRAMS\Blender Foundation"
RMDir "$INSTDIR"
RMDir "$INSTDIR\.."
SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
!insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3)
!insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -1,314 +0,0 @@
[ADX]
ADXVersion=1.00.00
<=>2240
CCM^8603:<;8=2
CCM^8603:>;8=6
CCM^8603:?;8=3
CCM^8603:?;9=2
CCM^8603:8;8=2
CCM^8603:8;9=2
CCM^8603::;8=2
CCM^8603::;9=2
CCM^8603::;:=2
CCM^8603:;;8=2
CCM^8603:4;:=2
CCM^8603:4;<=2
CCM^8603:5;8=$HM
CCM^8603:5;9=$Dgokcl
CCM^8603:5;:=$Naogte
CCM^8603:5;;=$^cr
CCM^8603:5;<=$Ii
CCM^8603:5;=$Etnue
CCM^8603:5;>=[bu!\i %K`g
CCM^8603:5;?=$Ucuz
CCM^8603:5;0=Qbjdkr %K`g
CCM^8603:5;1=G!~uzgcw*Emf&x'
CCM^8603:5:8=$Ciom
CCM^8603:5:9=Lbrvgtk-$"
CCM^8603:5::=$Fdnzr
CCM^8603;<;8=2
CCM^8604:<;8=3
CCM^8604:<;9=@kcolcr#',Ymz{n}v
CCM^8604:<;:=Rkc`{c pzihamw+zjb&qirh#~c+cghf"nrdeu tc`g(ik+kzst`kreg$,+Qd{+cc~&`duo#z~n{x.fg'Dsgqsf*n~|ae.vh&rmje`~,jf+ksgqsooo&pb~d%(+^jzjt&l}ut#cbhd~jn.c'bsape#fi|n|+ap'dd(g VDO+fjcn
CCM^8604:<:9=67?7
CCM^8604:;8=3
CCM^8604:;9=@kcolcr#',Ymz{n}v
CCM^8604:;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs-*,[zn}x. ^cr*&ie*ud}+yj`v'rn(ivfx{yak+zjb&gaje-*,[zn}x. Ii#(of#sc~(oae)v'q`fr we,d~n|||ksc!|ne#legm%.+^pbur($Cbdond).bh"~it(qam~,g+}ar'cy|ta`~eeo+.bzgju/
CCM^8604::9=4625
CCM^8604:>;8=3
CCM^8604:>;9=@kcolcr#',Ymz{n}v
CCM^8604:>;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs#kbo(b}+\gfb,Ghlz$,+Xykx}"%_d{$ jl,rg~.|ols&ug&ouo~|zbzn.voc!nolf$,+Xykx}"%Hn*&ie*ud}+jd`%s&viht#~c+g}kyypnrd(rhf*jbdn +.Rucr{&"@kbhmg,+gd'n}&wbdx+|d.xzmw&dprrbixbfl.+gvbkr&
CCM^8604:>:9=4625
CCM^8604:?;8=3
CCM^8604:?;9=@kcolcr#',Ymz{n}v
CCM^8604:?;:=Voc!nolf*eelbmjzgc&cmjot*dj{+oe.gftmacr#|iy{bae.lrkcmt lx,oik+zjfh!|ne#ebn(jbykcc!gh zeyy(xwxzgj(!(Vrfy+*Rkx,"n`!qiu#}me|+zd.pbvmiee#~dn(mggk,'&Qzcsp*.Eg).bh"~it(bom-x+j`.vh&smvlbii+|ck+hkkc/(&Pqox()Mj`abj#(of#sc~(|oez"si!{ros*is|yohzkia!(otfg%
CCM^8604:?:9=4625
CCM^8604:8;8=3
CCM^8604:8;9=@kcolcr#',Ymz{n}v
CCM^8604:8;:=Rkc`{c fdxnz+zck"wgr{qoqn$x!+`nkfbb!|i frxyihz+zjb&h|cmp$,+Xykx}"%IJ*&tl*odfge{g'is($Cbdond).a"trnx&e{~~jkgei"nrdeu.
CCM^8604:8:9=7641
CCM^8604:9;8=3
CCM^8604:9;9=@kcolcr#',Np|jmvnio(Vrlm~n{x
CCM^8604:9;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb.
CCM^8604:9:9=15170
CCM^8604::;8=3
CCM^8604::;9=@kcolcr#',Np|jmvnio(Vrlm~n{x
CCM^8604::;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb.#*\ymx}+,Afhbmj"#~c+{a{.grsietjdk+akf},
CCM^8604:::9=15170
CCM^8604:;;8=3
CCM^8604:;;9=@kcolcr#',Nzyay
CCM^8604:;;:=Voc!xgtk*eelbmjzgc&cmjot*od}gj+`ms&cm&cqommo.d|"cid{&nl~,jdykjj{'cyaut-*,_zr.x~gdogqond*m+lbhmkpbhu(vawb"
CCM^8604:;:9=4625
CCM^8604:4;8=3
CCM^8604:4;9=@kcolcr#',Nzyay
CCM^8604:4;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&ouo~|zbzkl)
CCM^8604:4:9=4625
CCM^8604:5;8=3
CCM^8604:5;9=@kcolcr#',Nzyay
CCM^8604:5;:=Voc!nolf*eelbmjzgc&cmjot*ex(j.Ykcc+Nfjy#legm+oej"ditdb mex+jn.dxguqsartfd"
CCM^8604:5:9=4625
CCM^8604;<;8=3
CCM^8604;<;9=@kcolcr#',Nzyay
CCM^8604;<;:=Voc!xgsp}cyl+wd{"tvdkofjoh+j}+gldiszccw$,+Xykx}"%E`feeo(,g+}ar'cy|ta`~eeo+gkot(!(Vrfy+*Bieapb$!|i pae{(dxn|"snd(vapy{dzo#{|mscb|cd#cxne%
CCM^8604;<:9=2
CCM^8604;;8=3
CCM^8604;;9=@kcolcr#',Nzyay
CCM^8604;;:=Mic!gt ne~n(dh+zjb&qzigqkax(fjz"pcsm&svz|d{n.a"uso(eovfh+fdz+lg'`n}hd-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$
CCM^8604;:9=2
CCM^8604;>;8=3
CCM^8604;>;9=@kcolcr#',Nzyay
CCM^8604;>;:=Onurahg#imiaek.dnjd u)-
CCM^8604;>:9=2
CCM^8604;?;8=3
CCM^8604;?;9=@kcolcr#',Nzyay
CCM^8604;?;:=Voc!ksswea+znib}vu!ahflxaj|bae.dnjd(rhb~,|ix.x{rwirmb we,im+cn|ebb!otk*xcm+}r}vbk!zcgjyxyq+md{nc&ogr ao,mg~`o "'Vmmgsf*odfohz"~itz&sllx|iyk+~phphlcr#lcy(ckg~,
CCM^8604;?:9=2
CCM^8604;8;8=3
CCM^8604;8;9=@kcolcr#',Nzyay
CCM^8604;8;:=Voc!aren*eelbmjzgc&hf&tko,manbo.`bjn&cl`o(ea.`b&smaip~iymo +.Rkc`{c `ebihz+wmrt!{ifw}mym+~yatnbdz&flx,cmg~%
CCM^8604;8:9=4625
CCM^8604;9;8=3
CCM^8604;9;9=@kcolcr#',Nzyay
CCM^8604;9;:=Voc!mhd#ej+|ck+]gk`,M~tqkoaei+tkw&gaje#}mx(ykjmjbb!jcflxi+igb+ad'rim&iwoax(ha~bf'dd(vrlziydr.nvvugb|cd-*,_`b}+]gk`,M~tqkoaei+tkw&gaje#gmr(ik+jcjgfmb.#*\gmj}n.mer`ah b*jymxf+mmw!ihd#~~r(jijgl)
CCM^8604;9:9=2
CCM^8604;:;8=3
CCM^8604;:;9=@kcolcr#',Nzyay
CCM^8604;:;:=Voc!m~tqkoad`+~phed{u gch+fdz+mmjvmmre#yyhkn}xhwkjx&& Wbex(for.jfpd(defd,hi~}nj"e!ih lziyiay.Afhbmj lx,d|cky.gutnz( #Z`nixk+mmir`kr zeyy(xamzuftd(vrl|eomy.map'nddv.
CCM^8604;::9=2
CCM^8604;;;8=3
CCM^8604;;;9=@kcolcr#',Nzyay
CCM^8604;;;:=[hss(uyp~if(oan}"iiu(nauo,nfd{lf"fp`ajaafi+encd|{'rn(uu`iix{m{gb{'cy|ta`~,`n.bzgju!nton*xcax.Xkna+Dprrbixbfl.qgr'`hdc.#*\gmj}n.ahhuiet#sc~z+}dhvpgsm&pqezbln|+hmu&imjp-
CCM^8604;;:9=2
CCM^8604;4;8=0
CCM^8604;4;9=@kcolcr#',Nzyay
CCM^8604;4;:=Voc!m~tqkoad`+~phed{u tk+kj`hknkce(deee~n(jbg.ma&u`c j~if{+yn|g'cy|ta`~io&+.Raw'k`q&nfoh+|d.y{l'rim&e{~~jkgd`"wtnkcsp*mlib`%
CCM^8604;4:9=2
CCM^8604;5;8=3
CCM^8604;5;9=@kcolcr#',Nzyay
CCM^8604;5;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&e{~~jkko "'Ou(kaz*mgznoow"ec!ah vyi+jr.fg'ux{ren*cy(gahegc&cq&amexcmy.j~rkobirild"+A.|gnk&cm&shc|{mo
CCM^8604;5:9=4625
CCM^86048<;8=3
CCM^86048<;9=@kcolcr#',Nzyay
CCM^86048<;:=Ci&dztoq*chk~|ykf'btzond*xcm+kszpfeuain#z~dkn}x "'Rim&aqidb~n.mgnb.r!&mbs,im+jjcc`ce&& Sfij{n.dlvfoo(g exix`+md~{'gol&tqs,jojge
CCM^86048<:9=2
CCM^86048;8=3
CCM^86048;9=@kcolcr#',Nzyay
CCM^86048;:=Uoomm&e{~~jkgei"nrdeu b*hj|j.n|pht!`gs#eoh}y|nj,'Riau Po`m%Nv|cdrhfa yc|+nbbn.of!jc gkajonj%."Wjdiue#enib`+o"atd{n `e|r(j`o.vu!iaajd"
CCM^86048:9=4625
CCM^86048>;8=3
CCM^86048>;9=@kcolcr#',Nzyay
CCM^86048>;:=Uoomm&e{~~jkgei"nrdeu wbiym+yj}l r!mhovmd+zdaf.mi&u`c goaeogmi&ezovf$,+Qd{+cc~&omcd#~c+zncdxg'unec ec`n{+lnhmuc!qiu#ime(nv|cdr!ijl#ej+|ck+gvbkr&
CCM^86048>:9=2
CCM^86048?;8=0
CCM^86048?;9=@kcolcr#',\iy`b`e
CCM^86048?;:=Uoomm&e{~~jkgei"nrdeu excf(fn.Qbjg%Cxwxmh|b`l.xnv!nolf*den.bzgju!crf*`a{~nj,
CCM^86048?:9=2
CCM^860488;8=0
CCM^860488;9=@kcolcr#',Bfmayccsonf
CCM^860488;:=Ckj!areny,|myk+}wded{ufvf`r(nv|cdrdl(
CCM^860488:9=2
CCM^860489;8=3
CCM^860489;9=Kiouagljpi
CCM^860489;:=Rucqitimm,mgy.Nvvugb|oom$,+Xgkj}g'Q`ar.
CCM^860489:9=2
CCM^86048:;8=3
CCM^86048:;9=@kcolcr#',Nzyay
CCM^86048:;:=Ci&dztoq*{j{+kemmrhumteg*{cagk+~pbv`zond*jdz+kszpfeuain-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$
CCM^86048::9=2
CCM^860484;8=3
CCM^860484;9=@kcolcr#',H`daxk"Aimlcr#Fchigd`
CCM^860484:9=2
CCM^86048498=Fntdkroqcix
CCM^86048499=Fuowmu
CCM^860485;8=3
CCM^860485;9=@kcolcr#',Xmgkhz"@tn}v ee~+[cayzarrr
CCM^860485:9=2
CCM^86048598=Girdz&oq*ndnm.c'asgsp#dmfm+hd|"nhr|glocbl(xfd|vdsu{(
CCM^86049<;8=3
CCM^86049<;9=@kcolcr#',Nzyay
CCM^86049<;:=Ci&dztoq*chk~|ykf'qiaje#kxmf~gl`&ug&imyxjdg.xfmurb}rs-
CCM^86049<:9=2
CCM^86049;8=3
CCM^86049;9=@kcolcr#',Ymz{n}v
CCM^86049;:=Mic!gt ne~n(mggkq'qdzc jdigbnj"sn`|&rf{ybzn.rawu&rqutfg,g+ln.pbuuittfn"
CCM^86049:9=2
CCM^8604998=Pbuuitt#,Bd
CCM^8604999=Pbuuitt#,@j|n|
CCM^86049>;8=3
CCM^86049>;9=@kcolcr#',Ymz{n}v
CCM^86049>;:=Rkc`{c jdnz.]anrkd(Hunhiy(.j+glsi!|ne#xifg}oibg'bsape-
CCM^86049>:9=67?7
CCM^86049?;8=3
CCM^86049?;9=@kcolcr#',Nzyay
CCM^86049?;:=[hs!`gvf*ee{n|kf'rim&wqebl(]ag{ob(!(Vlfkn(hfnmi'rim&mfnej(j`o.vu!iaajd"
CCM^86049?:9=2
CCM^860498;8=3
CCM^860498;9=@kcolcr#',Nzyay
CCM^860498;:=Voc!losh*ex(ea.pbgeq&flx,jkhkx},'&Qdcapo,h`nm`.vh&lime#yyym+zcov'rim&mfnej(b}+ypnrd(cnbh`nl+oej"wtnxcros,bfxkyzgc&hfro#~dn(o|bxg)
CCM^860498:9=2
CCM^860::?31=Ahhgatm
CCM^860::?28='t&iiu mex+jnke.qbrtx( Bxi+qd{+}wuc!qiu#}me|+zd.gou7
CCM^860::>31=Gutnz
CCM^860::>28=Qbrtx&hby,bfky`ck&dztoq$,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$
CCM^860::<;8=1
CCM^8603:;9=^[udzpeqVdden}Wa`mZcdcngo~&kykjzmu+3&~x.}eeldyx gc
CCM^8603:;8=AZEGEUNOr:Tm|j`i[JNKGLPtW\nc{Rqa~7K0.yc|
CCM^8603:4;8=2
CCM^8603:9;8=2
CCM^8603:9;9=2
CCM^8603:9;:=2
CCM^8603:;;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^76/ahswk`gmy bmm<6
CCM^860334;8=2
CCM^860334;9=2
CCM^860339;8=@kcolcr8:
CCM^8603:8;;=2
CCM^860::>=3
CCM^860::<?;=3
CCM^860::<9:=3
CCM^860::<;;=2
CCM^860::<9<=AZEgeunob{+oej"Tcu|ondyPmzj``RFbuj|ip_yddzm~z,fby
CCM^860::>38=3
CCM^860::<;=>Nhr|gloLcgln|5RWioo{raof"npn
CCM^860::<;?=3
CCM^860::<;1=3
CCM^860::<9=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.zICCY\I@J[XKXQPHIUTdlfdhmagk0&Fb``}jt*vD@MRQHBCTUD[YRLEXWjgkejdnjdTuhff`Wg{keRahklihd8"Hnnj{gz+{NJM__@FMX[N]T\MHR]jjemnjbdnROkdfsm|Ocld7#Lnhj{ns/}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguEaupokuEifkwFIB_^DICBFSFIHFB@G[UnnrwbxiWEbmyaqh`uTQimnc|{WM~|pbhu^crpcceT^`b`qsgmdZBoobomy5^`kiuuijlP~~bflr
CCM^860::<;0=>Nhr|gloLcgln|5R@kcolcr-otnt7Ge}vfjmNilgo~5THa{wpnai|(t{~p7Ae}onk@ndbeq4PYmjjfk,s~ut:ImyxjdgHdbfbt?TNeoz"~zg505~;Oo{raofJddoky0^wu`in1:"odg505~
CCM^860::>;=3
CCM^860::<?<=2
CCM^860::?1=3
CCM^860::<91=2
CCM^860::>8=3502:455
CCM^860::?=
CCM^860::?>=
CCM^860::?0=2
CCM^860::>:=3
CCM^860::?=1
CCM^860::0=3
CCM^860::>3=2
CCM^860::=>WtnotanLegmx0WLnbhemt
CCM^860::>=@kcolcr-otn37Ge}vfjmNilgo~5TIbn`fbt/m~e8:7;3;505~Diqqtidbx%|sz02KiuuijlEe`omy0WMmwsaahw$xs|0>0>97:3zRfkhfm%zsz9;Oo{raofJddoky0^Uc`lke-~t3;5;52<:tNeoz"~zg57Gltr`djFlfhnz5RCknw(tzj;31<08050rr~righ23$hgd02B`qsgmd@ooniy6W~rzjhh38(dof7;3;5;59<z
CCM^860::>3>=3
CCM^860::>3?=2
CCM^860::<8=3
CCM^860::>?8=2
CCM^860::<9=3
CCM^860::>?9=2
CCM^860::<:=3
CCM^860::>?:=2
CCM^860::<;=3
CCM^860::>?;=2
CCM^860::<<=3
CCM^860::>?<=2
CCM^860::<=2
CCM^860::>?=2
CCM^860::<>=3
CCM^860::>?>=2
CCM^860::9=Lhr!i&Nvgnnz
CCM^860:::=
CCM^860::;=upq/jjemniy&eb
CCM^860::<=
CCM^860::>1=@kcolcr#I~niay
CCM^860::8=0)40k
CCM^860::9>9=2
CCM^860::9>:=3
CCM^860::9><=3
CCM^860::9>=3
CCM^860::5<<=2
CCM^860::9>?=
CCM^860::<8;=2
CCM^860::<8<=
CCM^860::<8=>Nhr|gloLcgln|5RJbjq&sro
CCM^860::<8>=
CCM^860::831=2
CCM^860::59=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^77/ahswk`gmy icr
CCM^860::5:=
CCM^860::5;=2
CCM^860::<9>=3
CCM^860::<9?=3
CCM^860::5<=2
CCM^860::5=2
CCM^860::5>=2
CCM^860::5<=2
CCM^860::5<>=2
CCM^860::5<?=
CCM^860::5<1=2
CCM^860::5<0=2
CCM^860::538=2
CCM^860::52>=3
CCM^860::52?=>Nhr|gloLcgln|5R@FEJ]V
CCM^860::520=2
CCM^860::>>=2
CCM^860::>?=2
CCM^8603:?;:=3
CCM^8603:?;;=2
CCM^8603:>;:=>FBUmkp
CCM^8603:;;>=2
CCM^860::9>;=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.cdcnglegm0]|kia}@MEZUOGIX]N]]UIN\Zboobonbbn5*Ccgislw#7Idn`okp'@hdc;P~~bflrCEG^YBDGSPO_TZDA_R`kcol`iooPx`nbgRmwcoTeongmel0&Okdfsm|/;!6Ee{ogbDhjemt>_H`nfoky gc#($%2(7X|ygei~OMDQYCOK_XMXQYAMSZcdcnglegmWJnhcrjuAeom1$Ommo~bv.#4Onp~mgdMagjgu8]Jjemniy&nvn,.6R|timmpCCNWTBMDGMWKA@BEEMW]dhvpgsmZMji~d{dhRUnhegqs_Iyyzn`Xguuhgh\Vdee{ogb^Ejdfbeq1Hb{{bjwLfkd3Dlfdhnz0]|kia}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguTfonp~mgdXzygl`Ahswk`gNdbokp9ZTfonp~mgd%ksk9Trsahg
CCM^860::28=Ubjbgke
CCM^860::>:8=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^77/cl`ean&yzm
CCM^860::>8=2
CCM^860::521=[bu
CCM^860:;<;8=Lh
CCM^860::829=Rkc`{c qomo(fn.dhjmgqimm,Gahke}g'Gfzcenob&+.^}g'rim&s`xcgd+lj|"si!~oet*xcm+|n}v'ig(rhf*hdk~cn`v)
CCM^860::9:9=Fh&xgs bionx.jbn'rim&tfxax(dh+zjb&qzccfneeo+Bbmgiud(Ggqoifmez4."N`!qiu#iddgxk+@m+&rmrus*{bdg.hbmtc/(&Tl*ee{ogb"snd(vrlm~je'.raw'kt{r bionx.fkt&`otefgie|%
CCM^860::29=Nnedfue#Kkymncn`v
CCM^860::>:9=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^74/kipzxel` vv
CCM^860::>9=3
CCM^860::2:=Ceit|&Boobomy.H|gfrnz
CCM^860::>::=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^75/zcaggi%|sz
CCM^860::>:=2
CCM^860::82;=Kiuuijlb~edf+Hdbfbt
CCM^860::9:;=Wtc!|ne#lendo.iknhq!|i pzihamw+zjb&ggjdfx,|`n|n.{hs!gnw*xcm+o{~nne`|oom*jbdn}+zm'dd(eoscio(a%.Vh&rxccjlu+i+jbhdbtdfr ee`omy"+z{wc!i&nf},eifk'.mu&t{c wbi+Ti.I|mpudTd0#*n~|ae.vh&rmje`~,jf+ksgqsooo&flfhnz%.+^pbur(Zb#Dis|Wl;."si!kinwcb~m%
CCM^860::2;=Aoin{c Pox~x+Hdbfbt
CCM^860::>:;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^72/nilgo~%zh
CCM^860::>;=2
CCM^860::82<=Uhtjahg
CCM^860::9:<=Rkc`{c tke(|fbbg'#r(os#yi}{.d`"~itz&clg|~|n|%
CCM^860::2<=Qbrtx&Pqekymx}
CCM^860::>:<=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^73/xtodxix{%|h
CCM^860::><=2
CCM^860::82>=Qbrtx&wby,x}hmn}qasm
CCM^860::9:>='t&viu pohmx}m{nk!{ctvz,df+wd{p'enevuwo~%(+^ykqt&]j&Fjdex`Wl;."si!m~iw*n|~~%
CCM^860::98>=Qsgs|&Boobomy
CCM^860::>3;=>Nhr|gloLcgln|5R`kcolcr-otn
CCM^860::>3<=2
CCM^860::>39=3
CCM^860::2>=Qbrtx&Clg|gmk
CCM^860::>:>=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^70/kimsfim%|h
CCM^860::>>=2
CCM^860::<:8=Wioo{raofiy
CCM^860::<:9=Voc!}himyxjdg.{|m`t`e&wjf`+zncdxg'`hdcs#kbo(magjguu-(uhlxxh}}'.cib!zcgjyxyq+kezpncr(`rlg,`n.ogql(!(Grf*ud}+}~|g'n}&wbdx+|d.~`kiuuijl<
CCM^860::<::=Mic!g` `ea{gekezq'or(gcwczn&+.Nvks&u`c sxclzjc+lgaism&swk~aei+[lnhr|glo$
CCM^860::<:;=Wioo{raof,x}hmn}qasmd!
CCM^860::<:<=Ci&dztoq*chk~|ykf'qiaje#~~raei+zm'soahswk`g(fn.ruifzgm-*,^fb`xzckj!`gs#hinf+mj`abjdl(
CCM^860::><=Qbrtx
CCM^860::<9;=Lhr!i&Nvgnnzwrwr~{Dmmhdfx,Hznoap{4/:7c
CCM^860::<;:=Giamauh#',^fbznj"Tr`|cs
CCM^860::<;9=3752
CCM^86033:;8=>DAsgsp10BfxzjbnAimlcrVNgmejn|,b~d3Boobomy5059<6
CCM^86033:;9=>DAsgsp10BfxzjbnAimlcrVYeae}onk(dpc;8_bbfxzjbn'Dmmhdfx70305;
CCM^86033:;:=>DAsgsp10BfxzjbnAimlcrV^niocn vr:3Tebnan305052
CCM^86033:;;=>DAsgsp10BfxzjbnAimlcrVOdxr|bijs(upr;8Ic{qyglfv<:30
CCM^86033:;<=>DAsgsp10BfxzjbnAimlcrVDnd{ ~|n<Imjp81703;
CCM^86033:;=>Ccrcros477Ae}onk@ndbeq4PIdn`okp)cym;Afieln|059<1
CCM^860:;<;9=^[udzpeqVdden}Wa`mZcdcngo~&b`oautZ+&,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -1,425 +0,0 @@
;
; $Id$
;
; Blender Self-Installer for Windows (NSIS - http://nsis.sourceforge.net)
;
; Requires the MoreInfo plugin - http://nsis.sourceforge.net/MoreInfo_plug-in
;
!include "MUI.nsh"
!include "WinVer.nsh"
!include "FileFunc.nsh"
!include "WordFunc.nsh"
!include "nsDialogs.nsh"
SetCompressor /SOLID lzma
Name "Blender VERSION"
!define MUI_ABORTWARNING
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Blender.\r\n\r\nIt is recommended that you close all other applications before starting Setup.\r\n\r\nNote to Win2k/XP users: You may require administrator privileges to install Blender successfully."
!define MUI_WELCOMEFINISHPAGE_BITMAP "RELDIR\01.installer.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "RELDIR\00.header.bmp"
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_RUN "$INSTDIR\blender.exe"
!define MUI_CHECKBITMAP "RELDIR\00.checked.bmp"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "DISTDIR\Copyright.txt"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
Page custom DataLocation DataLocationOnLeave
;Page custom AppDataChoice AppDataChoiceOnLeave
Page custom PreMigrateUserSettings MigrateUserSettings
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro Locate
!insertmacro VersionCompare
Icon "RELDIR\00.installer.ico"
UninstallIcon "RELDIR\00.installer.ico"
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Language Strings
;Description
LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy all required files to the application folder."
LangString DESC_Section2 ${LANG_ENGLISH} "Add shortcut items to the Start Menu. (Recommended)"
LangString DESC_Section3 ${LANG_ENGLISH} "Add a shortcut to Blender on your desktop."
LangString DESC_Section4 ${LANG_ENGLISH} "Blender can register itself with .blend files to allow double-clicking from Windows Explorer, etc."
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Specify User Data Location"
;--------------------------------
;Data
Caption "Blender VERSION Installer"
OutFile "DISTDIR\..\blender-VERSION-windows.exe"
InstallDir "$PROGRAMFILES\Blender Foundation\Blender"
BrandingText "http://www.blender.org"
ComponentText "This will install Blender VERSION on your computer."
DirText "Use the field below to specify the folder where you want Blender to be copied to. To specify a different folder, type a new name or use the Browse button to select an existing folder."
SilentUnInstall normal
# Uses $0
Function openLinkNewWindow
Push $3
Push $2
Push $1
Push $0
ReadRegStr $0 HKCR "http\shell\open\command" ""
# Get browser path
DetailPrint $0
StrCpy $2 '"'
StrCpy $1 $0 1
StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char
StrCpy $2 ' '
StrCpy $3 1
loop:
StrCpy $1 $0 1 $3
DetailPrint $1
StrCmp $1 $2 found
StrCmp $1 "" found
IntOp $3 $3 + 1
Goto loop
found:
StrCpy $1 $0 $3
StrCmp $2 " " +2
StrCpy $1 '$1"'
Pop $0
Exec '$1 $0'
Pop $1
Pop $2
Pop $3
FunctionEnd
Var BLENDERHOME
Var DLL_found
Var PREVHOME
Function SetWinXPPathCurrentUser
SetShellVarContext current
StrCpy $BLENDERHOME "$APPDATA\Blender Foundation\Blender"
FunctionEnd
Function SetWinXPPathAllUsers
SetShellVarContext all
StrCpy $BLENDERHOME "$APPDATA\Blender Foundation\Blender"
FunctionEnd
Function SetWin9xPath
StrCpy $BLENDERHOME $INSTDIR
FunctionEnd
; custom controls
Var HWND
Var HWND_APPDATA
Var HWND_INSTDIR
Var HWND_HOMEDIR
Var HWND_BUTTON_YES
Var HWND_BUTTON_NO
Var SETUSERCONTEXT
Function PreMigrateUserSettings
StrCpy $PREVHOME "$PROFILE\Application Data\Blender Foundation\Blender"
StrCpy $0 "$PROFILE\Application Data\Blender Foundation\Blender\.blender"
IfFileExists $0 0 nochange
StrCmp $BLENDERHOME $PREVHOME nochange
nsDialogs::Create /NOUNLOAD 1018
Pop $HWND
${If} $HWND == error
Abort
${EndIf}
${NSD_CreateLabel} 0 0 100% 12u "You have existing settings at:"
${NSD_CreateLabel} 0 20 100% 12u $PREVHOME
${NSD_CreateLabel} 0 40 100% 12u "Do you wish to migrate this data to:"
${NSD_CreateLabel} 0 60 100% 12u $BLENDERHOME
${NSD_CreateLabel} 0 80 100% 12u "Please note: If you choose no, Blender will not be able to use these files!"
${NSD_CreateRadioButton} 0 100 100% 12u "Yes"
Pop $HWND_BUTTON_YES
${NSD_CreateRadioButton} 0 120 100% 12u "No"
Pop $HWND_BUTTON_NO
SendMessage $HWND_BUTTON_YES ${BM_SETCHECK} 1 0
nsDialogs::Show
nochange:
FunctionEnd
Function MigrateUserSettings
${NSD_GetState} $HWND_BUTTON_YES $R0
${If} $R0 == "1"
CreateDirectory $BLENDERHOME
CopyFiles $PREVHOME\*.* $BLENDERHOME
;RMDir /r $PREVHOME
${EndIf}
FunctionEnd
!define DLL_VER "9.00.21022.8"
Function LocateCallback_90
MoreInfo::GetProductVersion "$R9"
Pop $0
${VersionCompare} "$0" "${DLL_VER}" $R1
StrCmp $R1 0 0 new
new:
StrCmp $R1 1 0 old
old:
StrCmp $R1 2 0 end
; Found DLL is older
Call DownloadDLL
end:
StrCpy "$0" StopLocate
StrCpy $DLL_found "true"
Push "$0"
FunctionEnd
Function DownloadDLL
MessageBox MB_OK "You will need to download the Microsoft Visual C++ 2008 Redistributable Package in order to run Blender. Pressing OK will take you to the download page, please follow the instructions on the page that appears."
StrCpy $0 "http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&DisplayLang=en"
Call openLinkNewWindow
FunctionEnd
Function PythonInstall
MessageBox MB_OK "You will need to install python 2.5.2 in order to run blender. Pressing OK will take you to the python.org website."
StrCpy $0 "http://www.python.org"
Call openLinkNewWindow
FunctionEnd
Function DataLocation
nsDialogs::Create /NOUNLOAD 1018
Pop $HWND
${If} $HWND == error
Abort
${EndIf}
${NSD_CreateLabel} 0 0 100% 12u "Please specify where you wish to install Blender's user data files."
${NSD_CreateRadioButton} 0 20 100% 12u "Use the Application Data directory (Requires Windows 2000 or better)"
Pop $HWND_APPDATA
${NSD_CreateRadioButton} 0 50 100% 12u "Use the installation directory (ie. location chosen to install blender.exe)."
Pop $HWND_INSTDIR
${NSD_CreateRadioButton} 0 80 100% 12u "I have defined a %HOME% variable, please install files here."
Pop $HWND_HOMEDIR
${If} ${AtMostWinME}
GetDlgItem $0 $HWND $HWND_APPDATA
EnableWindow $0 0
SendMessage $HWND_INSTDIR ${BM_SETCHECK} 1 0
${Else}
SendMessage $HWND_APPDATA ${BM_SETCHECK} 1 0
${EndIf}
nsDialogs::Show
FunctionEnd
Function DataLocationOnLeave
StrCpy $SETUSERCONTEXT "false"
${NSD_GetState} $HWND_APPDATA $R0
${If} $R0 == "1"
; FIXME: disabled 'all users' until fully multi-user compatible
;StrCpy $SETUSERCONTEXT "true"
Call SetWinXPPathCurrentUser
${Else}
${NSD_GetState} $HWND_INSTDIR $R0
${If} $R0 == "1"
Call SetWin9xPath
${Else}
${NSD_GetState} $HWND_HOMEDIR $R0
${If} $R0 == "1"
ReadEnvStr $BLENDERHOME "HOME"
${EndIf}
${EndIf}
${EndIf}
FunctionEnd
Var HWND_APPDATA_CURRENT
Var HWND_APPDATA_ALLUSERS
Function AppDataChoice
StrCmp $SETUSERCONTEXT "false" skip
nsDialogs::Create /NOUNLOAD 1018
Pop $HWND
${NSD_CreateLabel} 0 0 100% 12u "Please choose which Application Data directory to use."
${NSD_CreateRadioButton} 0 40 100% 12u "Current User"
Pop $HWND_APPDATA_CURRENT
${NSD_CreateRadioButton} 0 70 100% 12u "All Users"
Pop $HWND_APPDATA_ALLUSERS
SendMessage $HWND_APPDATA_CURRENT ${BM_SETCHECK} 1 0
StrCmp $SETUSERCONTEXT "true" 0 skip ; show dialog if we need to set context, otherwise skip it
nsDialogs::Show
skip:
FunctionEnd
Function AppDataChoiceOnLeave
StrCmp $SETUSERCONTEXT "false" skip
${NSD_GetState} $HWND_APPDATA_CURRENT $R0
${If} $R0 == "1"
Call SetWinXPPathCurrentUser
${Else}
Call SetWinXPPathAllUsers
${EndIf}
skip:
FunctionEnd
Section "Blender-VERSION (required)" SecCopyUI
SectionIn RO
; Set output path to the installation directory.
SetOutPath $INSTDIR
; Put file there
[ROOTDIRCONTS]
SetOutPath $BLENDERHOME\.blender
[DOTBLENDERCONTS]
SetOutPath $BLENDERHOME\.blender\scripts
[SCRIPTCONTS]
SetOutPath $BLENDERHOME\.blender\scripts\bpymodules
[SCRIPTMODCONTS]
SetOutPath $BLENDERHOME\.blender\scripts\bpymodules\colladaImEx
[SCRIPTMODCOLLADACONT]
SetOutPath $BLENDERHOME\.blender\scripts\bpydata
[SCRIPTDATACONTS]
SetOutPath $BLENDERHOME\.blender\scripts\bpydata\config
[SCRIPTDATACFGCONTS]
SetOutPath $BLENDERHOME\plugins\include
[PLUGINCONTS]
; Language files
[LANGUAGECONTS]
SetOutPath $INSTDIR
; Write the installation path into the registry
WriteRegStr HKLM SOFTWARE\BlenderFoundation "Install_Dir" "$INSTDIR"
WriteRegStr HKLM SOFTWARE\BlenderFoundation "Home_Dir" "$BLENDERHOME"
; Write the uninstall keys for Windows
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayName" "Blender (remove only)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteUninstaller "uninstall.exe"
IfSilent 0 +2
Goto silentdone
; Check for msvcr80.dll - give notice to download if not found
MessageBox MB_OK "The installer will now check your system for the required system dlls."
StrCpy $1 $WINDIR
StrCpy $DLL_found "false"
${Locate} "$1" "/L=F /M=MSVCR90.DLL /S=0B" "LocateCallback_90"
StrCmp $DLL_found "false" 0 +2
Call DownloadDLL
ReadRegStr $0 HKLM SOFTWARE\Python\PythonCore\2.5\InstallPath ""
StrCmp $0 "" 0 +2
Call PythonInstall
silentdone:
SectionEnd
Section "Add Start Menu shortcuts" Section2
SetOutPath $INSTDIR
CreateDirectory "$SMPROGRAMS\Blender Foundation\Blender\"
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Blender.lnk" "$INSTDIR\Blender.exe" "" "$INSTDIR\blender.exe" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Readme.lnk" "$INSTDIR\Blender.html" "" "" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Copyright.lnk" "$INSTDIR\Copyright.txt" "" "$INSTDIR\copyright.txt" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\GPL-license.lnk" "$INSTDIR\GPL-license.txt" "" "$INSTDIR\GPL-license.txt" 0
CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Help.lnk" "$INSTDIR\Help.url"
SectionEnd
Section "Add Desktop Blender-VERSION shortcut" Section3
SetOutPath $INSTDIR
CreateShortCut "$DESKTOP\Blender.lnk" "$INSTDIR\blender.exe" "" "$INSTDIR\blender.exe" 0
SectionEnd
Section "Open .blend files with Blender-VERSION" Section4
SetOutPath $INSTDIR
;ExecShell "open" '"$INSTDIR\blender.exe"' "-R -b"
;do it the manual way! ;)
WriteRegStr HKCR ".blend" "" "blendfile"
WriteRegStr HKCR "blendfile" "" "Blender .blend File"
WriteRegStr HKCR "blendfile\shell" "" "open"
WriteRegStr HKCR "blendfile\DefaultIcon" "" $INSTDIR\blender.exe,1
WriteRegStr HKCR "blendfile\shell\open\command" "" \
'"$INSTDIR\blender.exe" "%1"'
SectionEnd
UninstallText "This will uninstall Blender VERSION. Hit next to continue."
Section "Uninstall"
Delete $INSTDIR\uninstall.exe
ReadRegStr $BLENDERHOME HKLM "SOFTWARE\BlenderFoundation" "Home_Dir"
; remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender"
DeleteRegKey HKLM SOFTWARE\BlenderFoundation
; remove files
[DELROOTDIRCONTS]
Delete $BLENDERHOME\.blender\.bfont.ttf
Delete $BLENDERHOME\.blender\.Blanguages
; remove shortcuts, if any.
Delete "$SMPROGRAMS\Blender Foundation\Blender\*.*"
Delete "$DESKTOP\Blender.lnk"
; remove directories used.
RMDir /r $BLENDERHOME\.blender\locale
MessageBox MB_YESNO "Erase .blender\scripts folder? (ALL contents will be erased!)" /SD IDYES IDNO Next
RMDir /r $BLENDERHOME\.blender\scripts
RMDir /r $BLENDERHOME\.blender\scripts\bpymodules
RMDir /r $BLENDERHOME\.blender\scripts\bpydata
RMDir /r $BLENDERHOME\.blender\scripts\bpydata\config
Next:
RMDir /r $BLENDERHOME\plugins\include
RMDir /r $BLENDERHOME\plugins
RMDir $BLENDERHOME\.blender
RMDir "$SMPROGRAMS\Blender Foundation\Blender"
RMDir "$SMPROGRAMS\Blender Foundation"
RMDir "$INSTDIR"
RMDir "$INSTDIR\.."
SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
!insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3)
!insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -1,56 +0,0 @@
BLENDER CREATOR LICENSE AGREEMENT
IMPORTANT: PLEASE READ CAREFULLY BEFORE USING THE BLENDER CREATOR SOFTWARE.
This License Agreement for the Blender Creator software ("License Agreement") is an agreement between NaN Technologies B.V., Meerenakkerplein 11, 5652 BJ Eindhoven, the Netherlands ("NaN") and you (either an individual or a legal entity) ("You") with respect to the software product which this License Agreement accompanies (the "Software").
By installing, copying or otherwise using the Software, You agree to be bound by the terms of this License Agreement. If You do not agree to the terms of this License Agreement do not install or use the Software.
1. Grant of License
Subject to the provisions of this License Agreement, NaN grants You a limited, non-exclusive, personal, non-sublicenseable, non-transferable, revocable license to use the Software at any computer You own or use.
2. License Restrictions
Except as expressly provided under this License Agreement, or without prior written consent from NaN, or without permission by law, You may not: (a) remove or alter any proprietary, copyright or trademark notices in or on the Software; (b) modify, decompile, disassemble or reverse-engineer the Software; (c) sublicense, rent, lease, lend, assign or otherwise transfer rights to the Software.
3. Permitted copying and electronic distribution of Software
You are hereby granted permission to copy and distribute the Software without written agreement from NaN, only for non-commercial purposes. Distributing the Software within a restricted non-public environment, such as using a local network in a company or a local network of a university, is considered a 'non-commercial purpose'. This entire License Agreement must appear in and/or accompany all copies of the Software.
Distributing the Software 'bundled' in with ANY product is considered to be a 'commercial purpose'.
4. Intellectual Property Rights and Ownership
Title and ownership to all rights, including intellectual property rights, in and to the Software shall at all times solely and exclusively remain with NaN. The Software is protected by national and international (copyright) laws and treaties. All rights not expressly granted herein are reserved to NaN.
5. Disclaimer of Warranties
NaN provides you with the Software "as is" and with all faults. NaN explicitly disclaims all warranties and guarantees and does not make any representations with respect to the Software, whether express, implied, or statutory, including, but not limited to any (if any) warranties of or related to: fitness for a particular purpose, title, non-infringement, lack of viruses, accuracy or completeness of responses, results, lack of negligence or lack of workmanlike effort, and correspondence to description. The entire risk arising out of use or performance of the Software remains with You.
6. Limitation of Liability
In no event shall NaN or its employees, agents or suppliers be liable for any direct, indirect, consequential, incidental, special, punitive, or other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, claims of third parties, damages as a result of injury to any person, or any other loss) arising out of or in connection with the license granted under this License Agreement or the use of or inability to use the Software, even if NaN has been advised of the possibility of such damages.
7. User warning and indemnification
WARNING: use of the Software and use of any works that are (partially) created with the Software (the "Works") may cause physical or psychological reactions from You or from third parties, which may result in damages, injuries, losses and/or other negative consequences. You acknowledge that NaN can not be held liable for any such damages, injuries, losses and/or other negative consequences. You acknowledge that it is your obligation to investigate, prevent and/or minimize such reactions prior to having third parties use the Works.
You shall indemnify and hold harmless NaN from and against all actions, claims, demands, proceedings, losses, damages, costs, charges and expenses, including but not limited to legal fees and expenses, arising out of or in connection with (i) the use of the Software by You and (ii) the use of any Works created with the Software by You or any third parties.
8. Term and Termination
This License Agreement and the license granted hereunder is effective until terminated. This License Agreement shall terminate automatically and forthwith if You fail to comply with the terms of this License Agreement. Upon termination, You shall cease the use of the Software, remove the Software from (the memory of) your computer and destroy all copies of the Software.
9. Entire Agreement
This License Agreement is the entire agreement between NaN and You in respect of the subject matter of the License Agreement. This License Agreement supersedes all prior written or oral agreements, proposals or understandings, and any other communications between NaN and You relating to the subject matter of this License Agreement.
10. Enforceability
If any provision of this License Agreement is held to be unenforceable by a court of competent jurisdiction for any reason, such provision shall be adapted or amended only to the extent necessary to make it enforceable, and the remainder of the License Agreement shall remain in effect.
11. Governing law and disputes
This License Agreement and all disputes arising from it will be governed by the laws of The Netherlands. All disputes arising in connection with this Agreement that cannot be settled amicably shall be brought before the competent court in Amsterdam, the Netherlands, to which jurisdiction NaN and You hereby irrevocably consent.

View File

@@ -1,54 +0,0 @@
Blender V2.2
NaN Technologies B.V., the Netherlands
----- GENERAL INFORMATION -----
Blender Creator is a free and fully functional 3D modeling, rendering, animation and game creation package for Unix and Windows. Blender Creator is distributed without sources, it is exclusively developed and maintained by the Dutch company NaN Technologies B.V.
This software is free to be applied for any purpose, excluding commercial distribution. For more about this, read the copyright notice included in the download file.
The best resource for getting to know Blender Creator is of course 'The official Blender 2.0 guide'. This wonderfully designed 250 pages book contains tutorials, examples and a complete description of every aspect of the interface.
You can visit the shop page of the Blender site for more about this:
http://www.blender.nl/shop/
More information about Blender can be found at:
- The website
http://www.blender.nl
- The beginners page
http://www.blender.nl/support/beginners.php
- The Support Pages
http://www.blender.nl/support/
- The frequently asked questions
http://www.blender.nl/support/faq/index.php
- Tutorials
Good tutorials to start with are 'User Interface' and
'Navigating in 3D Space' and 'The Blender Windows'
http://www.blender.nl/search_item.php?part=tutorial
- The Blender news-server: to post questions and contact other users
http://www.blender.nl/discussion/index.php
Thank you for getting Blender Creator, I hope you will enjoy using it.
Ton Roosendaal
NaN Technologies B.V.
http://www.blender.nl
support@blender.nl

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1,308 +0,0 @@
[ADX]
ADXVersion=1.00.00
<=>2240
CCM^8603:<;8=2
CCM^8603:>;8=6
CCM^8603:?;8=3
CCM^8603:?;9=2
CCM^8603:8;8=2
CCM^8603:8;9=2
CCM^8603::;8=2
CCM^8603::;9=2
CCM^8603::;:=2
CCM^8603:;;8=2
CCM^8603:4;:=2
CCM^8603:4;<=2
CCM^8603:5;8=$HM
CCM^8603:5;9=$Dgokcl
CCM^8603:5;:=$Naogte
CCM^8603:5;;=$^cr
CCM^8603:5;<=$Ii
CCM^8603:5;=$Etnue
CCM^8603:5;>=[bu!\i %K`g
CCM^8603:5;?=$Ucuz
CCM^8603:5;0=Qbjdkr %K`g
CCM^8603:5;1=G!~uzgcw*Emf&x'
CCM^8603:5:8=$Ciom
CCM^8603:5:9=Lbrvgtk-$"
CCM^8603:5::=$Fdnzr
CCM^8603;<;8=2
CCM^8604:<;8=3
CCM^8604:<;9=@kcolcr#',Ymz{n}v
CCM^8604:<;:=Rkc`{c pzihamw+zjb&qirh#~c+cghf"nrdeu tc`g(ik+kzst`kreg$,+Qd{+cc~&`duo#z~n{x.fg'Dsgqsf*n~|ae.vh&rmje`~,jf+ksgqsooo&pb~d%(+^jzjt&l}ut#cbhd~jn.c'bsape#fi|n|+ap'dd(g VDO+fjcn
CCM^8604:<:9=67?7
CCM^8604:;8=3
CCM^8604:;9=@kcolcr#',Ymz{n}v
CCM^8604:;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs-*,[zn}x. ^cr*&ie*ud}+yj`v'rn(ivfx{yak+zjb&gaje-*,[zn}x. Ii#(of#sc~(oae)v'q`fr we,d~n|||ksc!|ne#legm%.+^pbur($Cbdond).bh"~it(qam~,g+}ar'cy|ta`~eeo+.bzgju/
CCM^8604::9=4625
CCM^8604:>;8=3
CCM^8604:>;9=@kcolcr#',Ymz{n}v
CCM^8604:>;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs#kbo(b}+\gfb,Ghlz$,+Xykx}"%_d{$ jl,rg~.|ols&ug&ouo~|zbzn.voc!nolf$,+Xykx}"%Hn*&ie*ud}+jd`%s&viht#~c+g}kyypnrd(rhf*jbdn +.Rucr{&"@kbhmg,+gd'n}&wbdx+|d.xzmw&dprrbixbfl.+gvbkr&
CCM^8604:>:9=4625
CCM^8604:?;8=3
CCM^8604:?;9=@kcolcr#',Ymz{n}v
CCM^8604:?;:=Voc!nolf*eelbmjzgc&cmjot*dj{+oe.gftmacr#|iy{bae.lrkcmt lx,oik+zjfh!|ne#ebn(jbykcc!gh zeyy(xwxzgj(!(Vrfy+*Rkx,"n`!qiu#}me|+zd.pbvmiee#~dn(mggk,'&Qzcsp*.Eg).bh"~it(bom-x+j`.vh&smvlbii+|ck+hkkc/(&Pqox()Mj`abj#(of#sc~(|oez"si!{ros*is|yohzkia!(otfg%
CCM^8604:?:9=4625
CCM^8604:8;8=3
CCM^8604:8;9=@kcolcr#',Ymz{n}v
CCM^8604:8;:=Rkc`{c fdxnz+zck"wgr{qoqn$x!+`nkfbb!|i frxyihz+zjb&h|cmp$,+Xykx}"%IJ*&tl*odfge{g'is($Cbdond).a"trnx&e{~~jkgei"nrdeu.
CCM^8604:8:9=7641
CCM^8604:9;8=3
CCM^8604:9;9=@kcolcr#',Np|jmvnio(Vrlm~n{x
CCM^8604:9;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb.
CCM^8604:9:9=15170
CCM^8604::;8=3
CCM^8604::;9=@kcolcr#',Np|jmvnio(Vrlm~n{x
CCM^8604::;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb.#*\ymx}+,Afhbmj"#~c+{a{.grsietjdk+akf},
CCM^8604:::9=15170
CCM^8604:;;8=3
CCM^8604:;;9=@kcolcr#',Nzyay
CCM^8604:;;:=Voc!xgtk*eelbmjzgc&cmjot*od}gj+`ms&cm&cqommo.d|"cid{&nl~,jdykjj{'cyaut-*,_zr.x~gdogqond*m+lbhmkpbhu(vawb"
CCM^8604:;:9=4625
CCM^8604:4;8=3
CCM^8604:4;9=@kcolcr#',Nzyay
CCM^8604:4;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&ouo~|zbzkl)
CCM^8604:4:9=4625
CCM^8604:5;8=3
CCM^8604:5;9=@kcolcr#',Nzyay
CCM^8604:5;:=Voc!nolf*eelbmjzgc&cmjot*ex(j.Ykcc+Nfjy#legm+oej"ditdb mex+jn.dxguqsartfd"
CCM^8604:5:9=4625
CCM^8604;<;8=3
CCM^8604;<;9=@kcolcr#',Nzyay
CCM^8604;<;:=Voc!xgsp}cyl+wd{"tvdkofjoh+j}+gldiszccw$,+Xykx}"%E`feeo(,g+}ar'cy|ta`~eeo+gkot(!(Vrfy+*Bieapb$!|i pae{(dxn|"snd(vapy{dzo#{|mscb|cd#cxne%
CCM^8604;<:9=2
CCM^8604;;8=3
CCM^8604;;9=@kcolcr#',Nzyay
CCM^8604;;:=Mic!gt ne~n(dh+zjb&qzigqkax(fjz"pcsm&svz|d{n.a"uso(eovfh+fdz+lg'`n}hd-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$
CCM^8604;:9=2
CCM^8604;>;8=3
CCM^8604;>;9=@kcolcr#',Nzyay
CCM^8604;>;:=Onurahg#imiaek.dnjd u)-
CCM^8604;>:9=2
CCM^8604;?;8=3
CCM^8604;?;9=@kcolcr#',Nzyay
CCM^8604;?;:=Voc!ksswea+znib}vu!ahflxaj|bae.dnjd(rhb~,|ix.x{rwirmb we,im+cn|ebb!otk*xcm+}r}vbk!zcgjyxyq+md{nc&ogr ao,mg~`o "'Vmmgsf*odfohz"~itz&sllx|iyk+~phphlcr#lcy(ckg~,
CCM^8604;?:9=2
CCM^8604;8;8=3
CCM^8604;8;9=@kcolcr#',Nzyay
CCM^8604;8;:=Voc!aren*eelbmjzgc&hf&tko,manbo.`bjn&cl`o(ea.`b&smaip~iymo +.Rkc`{c `ebihz+wmrt!{ifw}mym+~yatnbdz&flx,cmg~%
CCM^8604;8:9=4625
CCM^8604;9;8=3
CCM^8604;9;9=@kcolcr#',Nzyay
CCM^8604;9;:=Voc!mhd#ej+|ck+]gk`,M~tqkoaei+tkw&gaje#}mx(ykjmjbb!jcflxi+igb+ad'rim&iwoax(ha~bf'dd(vrlziydr.nvvugb|cd-*,_`b}+]gk`,M~tqkoaei+tkw&gaje#gmr(ik+jcjgfmb.#*\gmj}n.mer`ah b*jymxf+mmw!ihd#~~r(jijgl)
CCM^8604;9:9=2
CCM^8604;:;8=3
CCM^8604;:;9=@kcolcr#',Nzyay
CCM^8604;:;:=Voc!m~tqkoad`+~phed{u gch+fdz+mmjvmmre#yyhkn}xhwkjx&& Wbex(for.jfpd(defd,hi~}nj"e!ih lziyiay.Afhbmj lx,d|cky.gutnz( #Z`nixk+mmir`kr zeyy(xamzuftd(vrl|eomy.map'nddv.
CCM^8604;::9=2
CCM^8604;;;8=3
CCM^8604;;;9=@kcolcr#',Nzyay
CCM^8604;;;:=[hss(uyp~if(oan}"iiu(nauo,nfd{lf"fp`ajaafi+encd|{'rn(uu`iix{m{gb{'cy|ta`~,`n.bzgju!nton*xcax.Xkna+Dprrbixbfl.qgr'`hdc.#*\gmj}n.ahhuiet#sc~z+}dhvpgsm&pqezbln|+hmu&imjp-
CCM^8604;;:9=2
CCM^8604;4;8=0
CCM^8604;4;9=@kcolcr#',Nzyay
CCM^8604;4;:=Voc!m~tqkoad`+~phed{u tk+kj`hknkce(deee~n(jbg.ma&u`c j~if{+yn|g'cy|ta`~io&+.Raw'k`q&nfoh+|d.y{l'rim&e{~~jkgd`"wtnkcsp*mlib`%
CCM^8604;4:9=2
CCM^8604;5;8=3
CCM^8604;5;9=@kcolcr#',Nzyay
CCM^8604;5;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&e{~~jkko "'Ou(kaz*mgznoow"ec!ah vyi+jr.fg'ux{ren*cy(gahegc&cq&amexcmy.j~rkobirild"+A.|gnk&cm&shc|{mo
CCM^8604;5:9=4625
CCM^86048<;8=3
CCM^86048<;9=@kcolcr#',Nzyay
CCM^86048<;:=Ci&dztoq*chk~|ykf'btzond*xcm+kszpfeuain#z~dkn}x "'Rim&aqidb~n.mgnb.r!&mbs,im+jjcc`ce&& Sfij{n.dlvfoo(g exix`+md~{'gol&tqs,jojge
CCM^86048<:9=2
CCM^86048;8=3
CCM^86048;9=@kcolcr#',Nzyay
CCM^86048;:=Uoomm&e{~~jkgei"nrdeu b*hj|j.n|pht!`gs#eoh}y|nj,'Riau Po`m%Nv|cdrhfa yc|+nbbn.of!jc gkajonj%."Wjdiue#enib`+o"atd{n `e|r(j`o.vu!iaajd"
CCM^86048:9=4625
CCM^86048>;8=3
CCM^86048>;9=@kcolcr#',Nzyay
CCM^86048>;:=Uoomm&e{~~jkgei"nrdeu wbiym+yj}l r!mhovmd+zdaf.mi&u`c goaeogmi&ezovf$,+Qd{+cc~&omcd#~c+zncdxg'unec ec`n{+lnhmuc!qiu#ime(nv|cdr!ijl#ej+|ck+gvbkr&
CCM^86048>:9=2
CCM^86048?;8=0
CCM^86048?;9=@kcolcr#',\iy`b`e
CCM^86048?;:=Uoomm&e{~~jkgei"nrdeu excf(fn.Qbjg%Cxwxmh|b`l.xnv!nolf*den.bzgju!crf*`a{~nj,
CCM^86048?:9=2
CCM^860488;8=0
CCM^860488;9=@kcolcr#',Bfmayccsonf
CCM^860488;:=Ckj!areny,|myk+}wded{ufvf`r(nv|cdrdl(
CCM^860488:9=2
CCM^860489;8=3
CCM^860489;9=Kiouagljpi
CCM^860489;:=Rucqitimm,mgy.Nvvugb|oom$,+Xgkj}g'Q`ar.
CCM^860489:9=2
CCM^86048:;8=3
CCM^86048:;9=@kcolcr#',Nzyay
CCM^86048:;:=Ci&dztoq*{j{+kemmrhumteg*{cagk+~pbv`zond*jdz+kszpfeuain-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$
CCM^86048::9=2
CCM^860484;8=3
CCM^860484;9=@kcolcr#',H`daxk"Aimlcr#Fchigd`
CCM^860484:9=2
CCM^86048498=Fntdkroqcix
CCM^86048499=Fuowmu
CCM^860485;8=3
CCM^860485;9=@kcolcr#',Xmgkhz"@tn}v ee~+[cayzarrr
CCM^860485:9=2
CCM^86048598=Girdz&oq*ndnm.c'asgsp#dmfm+hd|"nhr|glocbl(xfd|vdsu{(
CCM^86049<;8=3
CCM^86049<;9=@kcolcr#',Nzyay
CCM^86049<;:=Ci&dztoq*chk~|ykf'qiaje#kxmf~gl`&ug&imyxjdg.xfmurb}rs-
CCM^86049<:9=2
CCM^86049;8=3
CCM^86049;9=@kcolcr#',Ymz{n}v
CCM^86049;:=Mic!gt ne~n(mggkq'qdzc jdigbnj"sn`|&rf{ybzn.rawu&rqutfg,g+ln.pbuuittfn"
CCM^86049:9=2
CCM^8604998=Pbuuitt#,Bd
CCM^8604999=Pbuuitt#,@j|n|
CCM^86049>;8=3
CCM^86049>;9=@kcolcr#',Ymz{n}v
CCM^86049>;:=Rkc`{c jdnz.]anrkd(Hunhiy(.j+glsi!|ne#xifg}oibg'bsape-
CCM^86049>:9=67?7
CCM^86049?;8=3
CCM^86049?;9=@kcolcr#',Nzyay
CCM^86049?;:=[hs!`gvf*ee{n|kf'rim&wqebl(]ag{ob(!(Vlfkn(hfnmi'rim&mfnej(j`o.vu!iaajd"
CCM^86049?:9=2
CCM^860498;8=3
CCM^860498;9=@kcolcr#',Nzyay
CCM^860498;:=Voc!losh*ex(ea.pbgeq&flx,jkhkx},'&Qdcapo,h`nm`.vh&lime#yyym+zcov'rim&mfnej(b}+ypnrd(cnbh`nl+oej"wtnxcros,bfxkyzgc&hfro#~dn(o|bxg)
CCM^860498:9=2
CCM^860::?31=Ahhgatm
CCM^860::?28='t&iiu mex+jnke.qbrtx( Bxi+qd{+}wuc!qiu#}me|+zd.gou7
CCM^860::>31=Gutnz
CCM^860::>28=Qbrtx&hby,bfky`ck&dztoq$,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$
CCM^860::<;8=1
CCM^8603:;9=^[udzpeqVdden}Wa`mZcdcngo~&kykjzmu+3&~x.}eeldyx gc
CCM^8603:;8=AZEGEUNOr:Tm|j`i[JNKGLPtW\nc{Rqa~EN(zjz
CCM^8603:4;8=2
CCM^8603:9;8=2
CCM^8603:9;9=2
CCM^8603:9;:=2
CCM^8603:;;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^76/ahswk`gmy bmm<6
CCM^860334;8=2
CCM^860334;9=2
CCM^860339;8=
CCM^8603:8;;=2
CCM^860::>=3
CCM^860::<?;=3
CCM^860::<9:=3
CCM^860::<;;=2
CCM^860::<9<=AZEgeunob{+oej"Tcu|ondyPmzj``RFbuj|ip_yddzm~z,fby
CCM^860::>38=3
CCM^860::<;=>Nhr|gloLcgln|5RWioo{raof"npn
CCM^860::<;?=3
CCM^860::<;1=3
CCM^860::<9=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.zICCY\I@J[XKXQPHIUTdlfdhmagk0&Fb``}jt*vD@MRQHBCTUD[YRLEXWjgkejdnjdTuhff`Wg{keRahklihd8"Hnnj{gz+{NJM__@FMX[N]T\MHR]jjemnjbdnROkdfsm|Ocld7#Lnhj{ns/}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguEaupokuEifkwFIB_^DICBFSFIHFB@G[UnnrwbxiWEbmyaqh`uTQimnc|{WM~|pbhu^crpcceT^`b`qsgmdZBoobomy5^`kiuuijlP~~bflr
CCM^860::<;0=>Nhr|gloLcgln|5R@kcolcr-otnt7Ge}vfjmNilgo~5THa{wpnai|(t{~p7Ae}onk@ndbeq4PYmjjfk,s~ut:ImyxjdgHdbfbt?TNeoz"~zg505~;Oo{raofJddoky0^wu`in1:"odg505~
CCM^860::>;=3
CCM^860::<?<=2
CCM^860::?1=3
CCM^860::<91=2
CCM^860::>8=3502:455
CCM^860::?=
CCM^860::?>=
CCM^860::?0=2
CCM^860::>:=3
CCM^860::?=1
CCM^860::0=3
CCM^860::>3=2
CCM^860::=>WtnotanLegmx0WLnbhemt
CCM^860::>=@kcolcr-otn37Ge}vfjmNilgo~5TIbn`fbt/m~e8:7;3;505~Diqqtidbx%|sz02KiuuijlEe`omy0WMmwsaahw$xs|0>0>97:3zRfkhfm%zsz9;Oo{raofJddoky0^Uc`lke-~t3;5;52<:tNeoz"~zg57Gltr`djFlfhnz5RCknw(tzj;31<08050rr~righ23$hgd02B`qsgmd@ooniy6W~rzjhh38(dof7;3;5;59<z
CCM^860::>3>=3
CCM^860::>3?=2
CCM^860::<8=3
CCM^860::>?8=2
CCM^860::<9=3
CCM^860::>?9=2
CCM^860::<:=3
CCM^860::>?:=2
CCM^860::<;=3
CCM^860::>?;=2
CCM^860::<<=3
CCM^860::>?<=2
CCM^860::<=2
CCM^860::>?=2
CCM^860::<>=3
CCM^860::>?>=2
CCM^860::9=Lhr!i&Nvgnnz
CCM^860:::=
CCM^860::;=upq/jjemniy&eb
CCM^860::<=
CCM^860::>1=@kcolcr#Zyidb}ckp
CCM^860::8=0)43
CCM^860::9>9=2
CCM^860::9>:=3
CCM^860::9><=3
CCM^860::9>=3
CCM^860::5<<=2
CCM^860::9>?=
CCM^860::<8;=2
CCM^860::<8<=
CCM^860::<8=>Nhr|gloLcgln|5RJbjq&sro
CCM^860::<8>=
CCM^860::831=2
CCM^860::59=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ02$ee{ogbgu(cev
CCM^860::5:=
CCM^860::5;=2
CCM^860::<9>=3
CCM^860::<9?=3
CCM^860::5<=2
CCM^860::5=2
CCM^860::5>=3
CCM^860::5<=2
CCM^860::5<>=2
CCM^860::5<?=
CCM^860::5<1=2
CCM^860::5<0=2
CCM^860::538=2
CCM^860::52>=3
CCM^860::52?=>Nhr|gloLcgln|5R@FEJ]V
CCM^860::520=2
CCM^860::>>=2
CCM^860::>?=2
CCM^8603:?;:=3
CCM^8603:?;;=2
CCM^8603:>;:=>FBUmkp
CCM^8603:;;>=2
CCM^860::9>;=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.cdcnglegm0]|kia}@MEZUOGIX]N]]UIN\Zboobonbbn5*Ccgislw#7Idn`okp'@hdc;P~~bflrCEG^YBDGSPO_TZDA_R`kcol`iooPx`nbgRmwcoTeongmel0&Okdfsm|/;!6Ee{ogbDhjemt>_H`nfoky gc#($%2(7X|ygei~OMDQYCOK_XMXQYAMSZcdcnglegmWJnhcrjuAeom1$Ommo~bv.#4Onp~mgdMagjgu8]Jjemniy&nvn,.6R|timmpCCNWTBMDGMWKA@BEEMW]dhvpgsmZMji~d{dhRUnhegqs_Iyyzn`Xguuhgh\Vdee{ogb^Ejdfbeq1Hb{{bjwLfkd3Dlfdhnz0]|kia}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguTfonp~mgdXzygl`Ahswk`gNdbokp9ZTfonp~mgd%ksk9Trsahg
CCM^860::28=Ubjbgke
CCM^860::>:8=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ02${ndhafk,urg
CCM^860::>8=2
CCM^860::521=[bu
CCM^860:;<;8=Lh
CCM^860::829=Rkc`{c qomo(fn.dhjmgqimm,Gahke}g'Gfzcenob&+.^}g'rim&s`xcgd+lj|"si!~oet*xcm+|n}v'ig(rhf*hdk~cn`v)
CCM^860::9:9=Fh&xgs bionx.jbn'rim&tfxax(dh+zjb&qzccfneeo+Bbmgiud(Ggqoifmez4."N`!qiu#iddgxk+@m+&rmrus*{bdg.hbmtc/(&Tl*ee{ogb"snd(vrlm~je'.raw'kt{r bionx.fkt&`otefgie|%
CCM^860::29=Nnedfue#Kkymncn`v
CCM^860::>:9=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ01$odxr|bijs(upr
CCM^860::>9=3
CCM^860::2:=Ceit|&Boobomy.H|gfrnz
CCM^860::>::=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ00$~niocn vr
CCM^860::>:=2
CCM^860::82;=Kiuuijlb~edf+Hdbfbt
CCM^860::9:;=Wtc!|ne#lendo.iknhq!|i pzihamw+zjb&ggjdfx,|`n|n.{hs!gnw*xcm+o{~nne`|oom*jbdn}+zm'dd(eoscio(a%.Vh&rxccjlu+i+jbhdbtdfr ee`omy"+z{wc!i&nf},eifk'.mu&t{c wbi+Ti.I|mpudTd0#*n~|ae.vh&rmje`~,jf+ksgqsooo&flfhnz%.+^pbur(Zb#Dis|Wl;."si!kinwcb~m%
CCM^860::2;=Aoin{c Pox~x+Hdbfbt
CCM^860::>:;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ07$jddoky ps`
CCM^860::>;=2
CCM^860::82<=Uhtjahg
CCM^860::9:<=Rkc`{c tke(|fbbg'#r(os#yi}{.d`"~itz&clg|~|n|%
CCM^860::2<=Qbrtx&Pqekymx}
CCM^860::>:<=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ06$|ygl|n}q)tun
CCM^860::><=2
CCM^860::82>=Qbrtx&wby,x}hmn}qasm
CCM^860::9:>='t&viu pohmx}m{nk!{ctvz,df+wd{p'enevuwo~%(+^ykqt&]j&Fjdex`Wl;."si!m~iw*n|~~%
CCM^860::98>=Qsgs|&Boobomy.[{`kor`cr
CCM^860::>3;=>Nhr|gloLcgln|5R`kcolcr-otn
CCM^860::>3<=2
CCM^860::>39=3
CCM^860::2>=Qbrtx&Clg|gmk
CCM^860::>:>=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ05$ode{bnzg)tun
CCM^860::>>=2
CCM^860::<:8=Wioo{raofiy
CCM^860::<:9=Voc!}himyxjdg.{|m`t`e&wjf`+zncdxg'`hdcs#kbo(magjguu-(uhlxxh}}'.cib!zcgjyxyq+kezpncr(`rlg,`n.ogql(!(Grf*ud}+}~|g'n}&wbdx+|d.~`kiuuijl<
CCM^860::<::=Mic!g` `ea{gekezq'or(gcwczn&+.Nvks&u`c sxclzjc+lgaism&swk~aei+[lnhr|glo$
CCM^860::<:;=Wioo{raof,x}hmn}qasmd!
CCM^860::<:<=Ci&dztoq*chk~|ykf'qiaje#~~raei+zm'soahswk`g(fn.ruifzgm-*,^fb`xzckj!`gs#hinf+mj`abjdl(
CCM^860::><=Qbrtx
CCM^860::<9;=Lhr!i&Nvgnnzwrwr~{Dmmhdfx,[}ibb}jbt}:(21v
CCM^860::<;:=Giamauh#',^fbznj"Tr`|cs
CCM^860::<;9=3752
CCM^860:;<;9=^[udzpeqVdden}Wa`mZcdcngo~&b`oautZ+&,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 612 B

View File

@@ -1,56 +0,0 @@
BLENDER CREATOR LICENSE AGREEMENT
IMPORTANT: PLEASE READ CAREFULLY BEFORE USING THE BLENDER CREATOR SOFTWARE.
This License Agreement for the Blender Creator software ("License Agreement") is an agreement between NaN Technologies B.V., Meerenakkerplein 11, 5652 BJ Eindhoven, the Netherlands ("NaN") and you (either an individual or a legal entity) ("You") with respect to the software product which this License Agreement accompanies (the "Software").
By installing, copying or otherwise using the Software, You agree to be bound by the terms of this License Agreement. If You do not agree to the terms of this License Agreement do not install or use the Software.
1. Grant of License
Subject to the provisions of this License Agreement, NaN grants You a limited, non-exclusive, personal, non-sublicenseable, non-transferable, revocable license to use the Software at any computer You own or use.
2. License Restrictions
Except as expressly provided under this License Agreement, or without prior written consent from NaN, or without permission by law, You may not: (a) remove or alter any proprietary, copyright or trademark notices in or on the Software; (b) modify, decompile, disassemble or reverse-engineer the Software; (c) sublicense, rent, lease, lend, assign or otherwise transfer rights to the Software.
3. Permitted copying and electronic distribution of Software
You are hereby granted permission to copy and distribute the Software without written agreement from NaN, only for non-commercial purposes. Distributing the Software within a restricted non-public environment, such as using a local network in a company or a local network of a university, is considered a 'non-commercial purpose'. This entire License Agreement must appear in and/or accompany all copies of the Software.
Distributing the Software 'bundled' in with ANY product is considered to be a 'commercial purpose'.
4. Intellectual Property Rights and Ownership
Title and ownership to all rights, including intellectual property rights, in and to the Software shall at all times solely and exclusively remain with NaN. The Software is protected by national and international (copyright) laws and treaties. All rights not expressly granted herein are reserved to NaN.
5. Disclaimer of Warranties
NaN provides you with the Software "as is" and with all faults. NaN explicitly disclaims all warranties and guarantees and does not make any representations with respect to the Software, whether express, implied, or statutory, including, but not limited to any (if any) warranties of or related to: fitness for a particular purpose, title, non-infringement, lack of viruses, accuracy or completeness of responses, results, lack of negligence or lack of workmanlike effort, and correspondence to description. The entire risk arising out of use or performance of the Software remains with You.
6. Limitation of Liability
In no event shall NaN or its employees, agents or suppliers be liable for any direct, indirect, consequential, incidental, special, punitive, or other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, claims of third parties, damages as a result of injury to any person, or any other loss) arising out of or in connection with the license granted under this License Agreement or the use of or inability to use the Software, even if NaN has been advised of the possibility of such damages.
7. User warning and indemnification
WARNING: use of the Software and use of any works that are (partially) created with the Software (the "Works") may cause physical or psychological reactions from You or from third parties, which may result in damages, injuries, losses and/or other negative consequences. You acknowledge that NaN can not be held liable for any such damages, injuries, losses and/or other negative consequences. You acknowledge that it is your obligation to investigate, prevent and/or minimize such reactions prior to having third parties use the Works.
You shall indemnify and hold harmless NaN from and against all actions, claims, demands, proceedings, losses, damages, costs, charges and expenses, including but not limited to legal fees and expenses, arising out of or in connection with (i) the use of the Software by You and (ii) the use of any Works created with the Software by You or any third parties.
8. Term and Termination
This License Agreement and the license granted hereunder is effective until terminated. This License Agreement shall terminate automatically and forthwith if You fail to comply with the terms of this License Agreement. Upon termination, You shall cease the use of the Software, remove the Software from (the memory of) your computer and destroy all copies of the Software.
9. Entire Agreement
This License Agreement is the entire agreement between NaN and You in respect of the subject matter of the License Agreement. This License Agreement supersedes all prior written or oral agreements, proposals or understandings, and any other communications between NaN and You relating to the subject matter of this License Agreement.
10. Enforceability
If any provision of this License Agreement is held to be unenforceable by a court of competent jurisdiction for any reason, such provision shall be adapted or amended only to the extent necessary to make it enforceable, and the remainder of the License Agreement shall remain in effect.
11. Governing law and disputes
This License Agreement and all disputes arising from it will be governed by the laws of The Netherlands. All disputes arising in connection with this Agreement that cannot be settled amicably shall be brought before the competent court in Amsterdam, the Netherlands, to which jurisdiction NaN and You hereby irrevocably consent.

View File

@@ -1,54 +0,0 @@
Blender V2.2
NaN Technologies B.V., the Netherlands
----- GENERAL INFORMATION -----
Blender Creator is a free and fully functional 3D modeling, rendering, animation and game creation package for Unix and Windows. Blender Creator is distributed without sources, it is exclusively developed and maintained by the Dutch company NaN Technologies B.V.
This software is free to be applied for any purpose, excluding commercial distribution. For more about this, read the copyright notice included in the download file.
The best resource for getting to know Blender Creator is of course 'The official Blender 2.0 guide'. This wonderfully designed 250 pages book contains tutorials, examples and a complete description of every aspect of the interface.
You can visit the shop page of the Blender site for more about this:
http://www.blender.nl/shop/
More information about Blender can be found at:
- The website
http://www.blender.nl
- The beginners page
http://www.blender.nl/support/beginners.php
- The Support Pages
http://www.blender.nl/support/
- The frequently asked questions
http://www.blender.nl/support/faq/index.php
- Tutorials
Good tutorials to start with are 'User Interface' and
'Navigating in 3D Space' and 'The Blender Windows'
http://www.blender.nl/search_item.php?part=tutorial
- The Blender news-server: to post questions and contact other users
http://www.blender.nl/discussion/index.php
Thank you for getting Blender Creator, I hope you will enjoy using it.
Ton Roosendaal
NaN Technologies B.V.
http://www.blender.nl
support@blender.nl

View File

@@ -159,7 +159,6 @@ COMLIB += $(OCGDIR)/blender/makesdna/$(DEBUG_DIR)libdna.a
COMLIB += $(NAN_GUARDEDALLOC)/lib/libguardedalloc.a
COMLIB += $(NAN_MEMUTIL)/lib/libmemutil.a
COMLIB += $(NAN_PNG)/lib/libpng.a
COMLIB += $(OCGDIR)/blender/yafray/$(DEBUG_DIR)libyafrayexport.a
ifeq ($(WITH_QUICKTIME), true)
COMLIB += $(OCGDIR)/blender/blenderqt/$(DEBUG_DIR)libblenderqt.a

View File

@@ -41,7 +41,3 @@ ENDIF(WITH_QUICKTIME)
IF(WITH_PYTHON)
SUBDIRS(python)
ENDIF(WITH_PYTHON)
IF(WITH_YAFRAY)
SUBDIRS(yafray)
ENDIF(WITH_YAFRAY)

View File

@@ -32,7 +32,7 @@ include nan_definitions.mk
DIRS = windowmanager editors blenloader readblenfile
DIRS += avi imbuf render radiosity blenlib blenkernel blenpluginapi
DIRS += makesdna makesrna yafray
DIRS += makesdna makesrna
DIRS += python nodes gpu
DIRS += blenfont

View File

@@ -25,9 +25,6 @@ SConscript(['avi/SConscript',
if env['WITH_BF_PYTHON']:
SConscript(['python/SConscript'])
if env['WITH_BF_YAFRAY']:
SConscript(['yafray/SConscript'])
if env['WITH_BF_DDS']:
SConscript (['imbuf/intern/dds/SConscript'])

View File

@@ -29,14 +29,9 @@ FILE(GLOB SRC intern/source/*.c)
SET(INC
intern/include ../../../intern/guardedalloc ../blenlib ../makesdna
extern/include ../blenkernel ../radiosity/extern/include ../imbuf
../quicktime ../include ../../kernel/gen_messaging ../yafray ../blenloader
../quicktime ../include ../../kernel/gen_messaging ../blenloader
)
IF(NOT WITH_YAFRAY)
ADD_DEFINITIONS(-DDISABLE_YAFRAY)
ENDIF(NOT WITH_YAFRAY)
IF(WITH_OPENEXR)
ADD_DEFINITIONS(-DWITH_OPENEXR)
ENDIF(WITH_OPENEXR)

View File

@@ -10,11 +10,6 @@ incs += ' ../include ../blenloader'
defs = []
if env['WITH_BF_YAFRAY']:
incs += ' ../yafray'
else:
defs.append('DISABLE_YAFRAY')
if env['WITH_BF_QUICKTIME']:
defs.append('WITH_QUICKTIME')
incs += ' ../quicktime ' + env['BF_QUICKTIME_INC']

View File

@@ -45,7 +45,6 @@ CPPFLAGS += -I../../../imbuf
CPPFLAGS += -I../../../makesdna
CPPFLAGS += -I../../../blenkernel
CPPFLAGS += -I../../../quicktime
CPPFLAGS += -I../../../yafray
CPPFLAGS += -I../../../../kernel/gen_messaging
CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include
# not very neat: the rest of blender..

View File

@@ -114,18 +114,6 @@
#include "zbuf.h"
#include "sunsky.h"
#ifndef DISABLE_YAFRAY /* disable yafray */
#include "YafRay_Api.h"
/* yafray: Identity transform 'hack' removed, exporter now transforms vertices back to world.
* Same is true for lamp coords & vec.
* 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_Database_FromScene().
*/
#endif /* disable yafray */
/* 10 times larger than normal epsilon, test it on default nurbs sphere with ray_transp (for quad detection) */
/* or for checking vertex normal flips */
@@ -3468,22 +3456,6 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
}
else lar->ray_totsamp= 0;
#ifndef DISABLE_YAFRAY
/* yafray: photonlight and other params */
if (re->r.renderer==R_YAFRAY) {
lar->YF_numphotons = la->YF_numphotons;
lar->YF_numsearch = la->YF_numsearch;
lar->YF_phdepth = la->YF_phdepth;
lar->YF_useqmc = la->YF_useqmc;
lar->YF_causticblur = la->YF_causticblur;
lar->YF_ltradius = la->YF_ltradius;
lar->YF_bufsize = la->YF_bufsize;
lar->YF_glowint = la->YF_glowint;
lar->YF_glowofs = la->YF_glowofs;
lar->YF_glowtype = la->YF_glowtype;
}
#endif /* disable yafray */
lar->spotsi= la->spotsize;
if(lar->mode & LA_HALO) {
if(lar->spotsi>170.0) lar->spotsi= 170.0;

View File

@@ -63,12 +63,6 @@
#include "RE_pipeline.h"
#include "radio.h"
#ifndef DISABLE_YAFRAY
/* yafray: include for yafray export/render */
#include "YafRay_Api.h"
#endif /* disable yafray */
/* internal */
#include "render_types.h"
#include "renderpipeline.h"
@@ -2209,69 +2203,6 @@ static void do_render_composite_fields_blur_3d(Render *re)
re->display_draw(re->ddh, re->result, NULL);
}
#ifndef DISABLE_YAFRAY
/* yafray: main yafray render/export call */
static void yafrayRender(Render *re)
{
RE_FreeRenderResult(re->result);
re->result= new_render_result(re, &re->disprect, 0, RR_USEMEM);
// need this too, for aspect/ortho/etc info
RE_SetCamera(re, re->scene->camera);
// switch must be done before prepareScene()
if (!re->r.YFexportxml)
YAF_switchFile();
else
YAF_switchPlugin();
printf("Starting scene conversion.\n");
RE_Database_FromScene(re, re->scene, 1);
printf("Scene conversion done.\n");
re->i.starttime = PIL_check_seconds_timer();
YAF_exportScene(re);
/* also needed for yafray border render, straight copy from do_render_fields_blur_3d() */
/* when border render, check if we have to insert it in black */
if(re->result) {
if(re->r.mode & R_BORDER) {
if((re->r.mode & R_CROP)==0) {
RenderResult *rres;
/* sub-rect for merge call later on */
re->result->tilerect= re->disprect;
/* this copying sequence could become function? */
re->disprect.xmin= re->disprect.ymin= 0;
re->disprect.xmax= re->winx;
re->disprect.ymax= re->winy;
re->rectx= re->winx;
re->recty= re->winy;
rres= new_render_result(re, &re->disprect, 0, RR_USEMEM);
merge_render_result(rres, re->result);
RE_FreeRenderResult(re->result);
re->result= rres;
re->display_init(re->dih, re->result);
re->display_draw(re->ddh, re->result, NULL);
}
}
}
re->i.lastframetime = PIL_check_seconds_timer()- re->i.starttime;
re->stats_draw(re->sdh, &re->i);
RE_Database_Free(re);
}
#endif /* disable yafray */
static void renderresult_stampinfo(Scene *scene)
{
RenderResult rres;
@@ -2300,14 +2231,7 @@ static void do_render_all_options(Render *re)
}
else {
#ifndef DISABLE_YAFRAY
if(re->r.renderer==R_YAFRAY)
yafrayRender(re);
else
do_render_composite_fields_blur_3d(re);
#else
do_render_composite_fields_blur_3d(re);
#endif
}
/* for UI only */

View File

@@ -1,35 +0,0 @@
# $Id$
# ***** BEGIN GPL 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.
#
# 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) 2006, Blender Foundation
# All rights reserved.
#
# The Original Code is: all of this file.
#
# Contributor(s): Jacques Beaurain.
#
# ***** END GPL LICENSE BLOCK *****
FILE(GLOB SRC intern/*.cpp)
SET(INC
../../../intern/guardedalloc ../blenlib ../makesdna ../blenkernel
../imbuf ../include ../render/extern/include ../render/intern/include
)
BLENDERLIB(bf_yafray "${SRC}" "${INC}")
#env.BlenderLib ( 'bf_yafray', sources, Split(incs), [], libtype=['blender','player'], priority=[5, 190] )

View File

@@ -1,31 +0,0 @@
# ***** BEGIN GPL 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.
#
# 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 LICENSE BLOCK *****
#
# Bounces make to subdirectories.
SOURCEDIR = source/blender/yafray
DIRS = intern
include nan_subdirs.mk

View File

@@ -1,9 +0,0 @@
#!/usr/bin/python
Import ('env')
sources = env.Glob('intern/*.cpp')
incs = '#/intern/guardedalloc ../blenlib ../makesdna ../blenkernel'
incs += ' ../imbuf ../editors/include ../render/extern/include ../render/intern/include'
env.BlenderLib ( 'bf_yafray', sources, Split(incs), [], libtype=['core'], priority=[205] )

View File

@@ -1,15 +0,0 @@
#ifndef __YAFRAY_API_H
#define __YAFRAY_API_H
/* C interface for Blender */
#ifdef __cplusplus
extern "C" {
#endif
void YAF_switchPlugin();
void YAF_switchFile();
int YAF_exportScene(Render* re);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,43 +0,0 @@
# ***** BEGIN GPL 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.
#
# 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 LICENSE BLOCK *****
#
#
LIBNAME = yafrayexport
DIR = $(OCGDIR)/blender/yafray
include nan_compile.mk
CFLAGS += $(LEVEL_1_C_WARNINGS)
CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include
CPPFLAGS += -I../../makesdna
CPPFLAGS += -I../../blenkernel
CPPFLAGS += -I../../blenlib
CPPFLAGS += -I../../render/extern/include
CPPFLAGS += -I../../render/intern/include
CPPFLAGS += -I../../imbuf
CPPFLAGS += -I../../include
CPPFLAGS += -I..

View File

@@ -1,14 +0,0 @@
#include "export_File.h"
#include "export_Plugin.h"
static yafrayFileRender_t byfile;
static yafrayPluginRender_t byplugin;
yafrayRender_t *YAFBLEND = &byplugin;
extern "C"
{
void YAF_switchPlugin() { YAFBLEND = &byplugin; }
void YAF_switchFile() { YAFBLEND = &byfile; }
int YAF_exportScene(Render* re) { return (int)YAFBLEND->exportScene(re); }
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +0,0 @@
#ifndef __EXPORT_FILE_H
#define __EXPORT_FILE_H
#include"yafray_Render.h"
class yafrayFileRender_t : public yafrayRender_t
{
public:
virtual ~yafrayFileRender_t() {}
protected:
std::string imgout;
std::ofstream xmlfile;
std::string xmlpath;
std::ostringstream ostr;
void displayImage();
bool executeYafray(const std::string &xmlpath);
virtual void writeTextures();
virtual void writeShader(const std::string &shader_name, Material* matr, const std::string &facetexname="");
virtual void writeMaterialsAndModulators();
virtual void writeObject(Object* obj, ObjectRen *obr, const std::vector<VlakRen*> &VLR_list, const float obmat[4][4]);
virtual void writeAllObjects();
virtual void writeAreaLamp(LampRen* lamp, int num, float iview[4][4]);
virtual void writeLamps();
virtual void writeCamera();
virtual void writeHemilight();
virtual void writePathlight();
virtual bool writeWorld();
virtual bool writeRender();
virtual bool initExport();
virtual bool finishExport();
};
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,78 +0,0 @@
#ifndef __EXPORT_PLUGIN_H
#define __EXPORT_PLUGIN_H
#include"yafray_Render.h"
#include"yafexternal.h"
extern "C"
{
#include"PIL_dynlib.h"
}
class yafrayPluginRender_t : public yafrayRender_t
{
public:
yafrayPluginRender_t()
{
plugin_loaded = false;
handle=NULL;
#ifdef WIN32
corehandle=NULL;
#endif
yafrayGate=NULL;
}
virtual ~yafrayPluginRender_t();
protected:
bool plugin_loaded;
std::string imgout;
PILdynlib *handle;
#ifdef WIN32
PILdynlib *corehandle;
#endif
yafray::yafrayInterface_t *yafrayGate;
void displayImage();
virtual void writeTextures();
virtual void writeShader(const std::string &shader_name, Material* matr, const std::string &facetexname="");
virtual void writeMaterialsAndModulators();
virtual void writeObject(Object* obj, ObjectRen *obr,
const std::vector<VlakRen*> &VLR_list, const float obmat[4][4]);
virtual void writeAllObjects();
virtual void writeAreaLamp(LampRen* lamp, int num, float iview[4][4]);
virtual void writeLamps();
virtual void writeCamera();
virtual void writeHemilight();
virtual void writePathlight();
virtual bool writeWorld();
virtual bool writeRender();
virtual bool initExport();
virtual bool finishExport();
void genUVcoords(std::vector<yafray::GFLOAT> &uvcoords,ObjectRen *obr,VlakRen *vlr,MTFace* uvc, bool comple=false);
void genVcol(std::vector<yafray::CFLOAT> &vcol, ObjectRen *obr, VlakRen *vlr, bool comple=false);
void genFace(std::vector<int> &faces,std::vector<std::string> &shaders,std::vector<int> &faceshader,
std::vector<yafray::GFLOAT> &uvcoords,std::vector<yafray::CFLOAT> &vcol,
std::map<VertRen*, int> &vert_idx,ObjectRen *obr,VlakRen *vlr,
int has_orco,bool has_uv);
void genCompleFace(std::vector<int> &faces,/*std::vector<std::string> &shaders,*/std::vector<int> &faceshader,
std::vector<yafray::GFLOAT> &uvcoords,std::vector<yafray::CFLOAT> &vcol,
std::map<VertRen*, int> &vert_idx,ObjectRen *obr, VlakRen *vlr,
int has_orco,bool has_uv);
void genVertices(std::vector<yafray::point3d_t> &verts, int &vidx,
std::map<VertRen*, int> &vert_idx, ObjectRen *obr, VlakRen* vlr, int has_orco, Object* obj);
};
class blenderYafrayOutput_t : public yafray::colorOutput_t
{
public:
blenderYafrayOutput_t(Render* re):out(0) { this->re = re; }
virtual ~blenderYafrayOutput_t() {}
virtual bool putPixel(int x, int y, const yafray::color_t &c,
yafray::CFLOAT alpha=0, yafray::PFLOAT depth=0);
virtual void flush() {}
protected:
Render* re;
int out;
};
#endif

View File

@@ -1,155 +0,0 @@
#include "yafexternal.h"
#include <iostream>
namespace yafray {
parameter_t::parameter_t(const std::string &s):type(TYPE_STRING),used(false),str(s)
{
}
parameter_t::parameter_t(float f):type(TYPE_FLOAT),used(false),fnum(f)
{
}
parameter_t::parameter_t(const colorA_t &c):type(TYPE_COLOR),used(false)
,C(c)
{
}
parameter_t::parameter_t(const point3d_t &p):type(TYPE_POINT),used(false),P(p)
{
}
parameter_t::parameter_t():type(TYPE_NONE),used(false)
{
}
parameter_t::~parameter_t()
{
}
paramMap_t::paramMap_t()
{
}
paramMap_t::~paramMap_t()
{
}
bool paramMap_t::getParam(const std::string &name,const std::string *&s)
{
if(includes(name,TYPE_STRING))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
s=&(i->second.getStr());
}
else return false;
return true;
}
bool paramMap_t::getParam(const std::string &name,bool &b)
{
std::string str;
if(includes(name,TYPE_STRING))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
str=i->second.getStr();
if(str=="on") b=true;
else if(str=="off") b=false;
else return false;
}
else return false;
return true;
}
bool paramMap_t::getParam(const std::string &name,float &f)
{
if(includes(name,TYPE_FLOAT))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
f=i->second.getFnum();
}
else return false;
return true;
}
bool paramMap_t::getParam(const std::string &name,double &f)
{
if(includes(name,TYPE_FLOAT))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
f=i->second.getFnum();
}
else return false;
return true;
}
bool paramMap_t::getParam(const std::string &name,int &in)
{
if(includes(name,TYPE_FLOAT))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
in=(int)(i->second.getFnum());
}
else return false;
return true;
}
bool paramMap_t::getParam(const std::string &name,point3d_t &p)
{
if(includes(name,TYPE_POINT))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
p=i->second.getP();
}
else return false;
return true;
}
bool paramMap_t::getParam(const std::string &name,color_t &c)
{
if(includes(name,TYPE_COLOR))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
c=i->second.getC();
}
else return false;
return true;
}
bool paramMap_t::getParam(const std::string &name,colorA_t &c)
{
if(includes(name,TYPE_COLOR))
{
std::map<std::string,parameter_t>::iterator i=dicc.find(name);
c=i->second.getAC();
}
else return false;
return true;
}
bool paramMap_t::includes(const std::string &label,int type)const
{
std::map<std::string,parameter_t>::const_iterator i=dicc.find(label);
if(i==dicc.end()) return false;
if((*i).second.type!=type) return false;
return true;
}
void paramMap_t::checkUnused(const std::string &env)const
{
for(std::map<std::string,parameter_t>::const_iterator i=dicc.begin();i!=dicc.end();++i)
if(!( (*i).second.used ))
std::cout<<"[WARNING]:Unused param "<<(*i).first<<" in "<<env<<"\n";
}
parameter_t & paramMap_t::operator [] (const std::string &key)
{
return dicc[key];
}
void paramMap_t::clear()
{
dicc.clear();
}
}

View File

@@ -1,186 +0,0 @@
#ifndef __YAFINTERFACE_H
#define __YAFINTERFACE_H
#include<vector>
#include<string>
#include<list>
#include<map>
namespace yafray
{
typedef float PFLOAT;
typedef float GFLOAT;
typedef float CFLOAT;
class point3d_t
{
public:
point3d_t() { x = y = z = 0; }
point3d_t(PFLOAT ix) { x = y = z = ix; }
point3d_t(PFLOAT ix, PFLOAT iy, PFLOAT iz=0) { x=ix; y=iy; z=iz; }
point3d_t(const point3d_t &s) { x=s.x; y=s.y; z=s.z; }
void set(PFLOAT ix, PFLOAT iy, PFLOAT iz=0) { x=ix; y=iy; z=iz; }
point3d_t& operator= (const point3d_t &s) { x=s.x; y=s.y; z=s.z; return *this; }
~point3d_t() {};
PFLOAT x,y,z;
};
class color_t
{
public:
color_t() {R=G=B=0;};
color_t(CFLOAT r,CFLOAT g,CFLOAT b) {R=r;G=g;B=b;};
~color_t() {};
void set(CFLOAT r,CFLOAT g,CFLOAT b) {R=r;G=g;B=b;};
CFLOAT R,G,B;
};
class colorA_t : public color_t
{
public:
colorA_t() { A=1; }
colorA_t(const color_t &c):color_t(c) { A=1; }
colorA_t(CFLOAT r, CFLOAT g, CFLOAT b, CFLOAT a=0):color_t(r,g,b) {A=a;}
~colorA_t() {};
void set(CFLOAT r, CFLOAT g, CFLOAT b, CFLOAT a=0) {color_t::set(r,g,b);A=a; };
protected:
CFLOAT A;
};
#define TYPE_FLOAT 0
#define TYPE_STRING 1
#define TYPE_POINT 2
#define TYPE_COLOR 3
#define TYPE_NONE -1
class parameter_t
{
public:
parameter_t(const std::string &s);
parameter_t(float f);
parameter_t(const colorA_t &c);
parameter_t(const point3d_t &p);
parameter_t();
~parameter_t();
const std::string &getStr() {used=true;return str;};
float &getFnum() {used=true;return fnum;};
const point3d_t &getP() {used=true;return P;};
const color_t &getC() {used=true;return C;};
const colorA_t &getAC() {used=true;return C;};
int type;
bool used;
protected:
std::string str;
float fnum;
point3d_t P;
colorA_t C;
};
class paramMap_t
{
public:
paramMap_t();
virtual bool getParam(const std::string &name,const std::string *&s);
virtual bool getParam(const std::string &name,bool &b);
virtual bool getParam(const std::string &name,float &f);
virtual bool getParam(const std::string &name,double &f);
virtual bool getParam(const std::string &name,int &i);
virtual bool getParam(const std::string &name,point3d_t &p);
virtual bool getParam(const std::string &name,color_t &c);
virtual bool getParam(const std::string &name,colorA_t &c);
virtual bool includes(const std::string &label,int type)const;
virtual void checkUnused(const std::string &env)const;
virtual parameter_t & operator [] (const std::string &key);
virtual void clear();
virtual ~paramMap_t();
protected:
std::map<std::string,parameter_t> dicc;
};
class light_t;
class shader_t;
class texture_t;
class filter_t;
class background_t;
class renderEnvironment_t
{
public:
typedef light_t * light_factory_t(paramMap_t &,renderEnvironment_t &);
typedef shader_t *shader_factory_t(paramMap_t &,std::list<paramMap_t> &,
renderEnvironment_t &);
typedef texture_t *texture_factory_t(paramMap_t &,renderEnvironment_t &);
typedef filter_t *filter_factory_t(paramMap_t &,renderEnvironment_t &);
typedef background_t *background_factory_t(paramMap_t &,renderEnvironment_t &);
virtual shader_t *getShader(const std::string name)const=0;
virtual texture_t *getTexture(const std::string name)const=0;
virtual void repeatFirstPass()=0;
virtual void registerFactory(const std::string &name,light_factory_t *f)=0;
virtual void registerFactory(const std::string &name,shader_factory_t *f)=0;
virtual void registerFactory(const std::string &name,texture_factory_t *f)=0;
virtual void registerFactory(const std::string &name,filter_factory_t *f)=0;
virtual void registerFactory(const std::string &name,background_factory_t *f)=0;
renderEnvironment_t() {};
virtual ~renderEnvironment_t() {};
};
class colorOutput_t
{
public:
virtual ~colorOutput_t() {};
virtual bool putPixel(int x, int y,const color_t &c,
CFLOAT alpha=0,PFLOAT depth=0)=0;
virtual void flush()=0;
};
class yafrayInterface_t : public renderEnvironment_t
{
public:
virtual void transformPush(float *m)=0;
virtual void transformPop()=0;
virtual void addObject_trimesh(const std::string &name,
std::vector<point3d_t> &verts, const std::vector<int> &faces,
std::vector<GFLOAT> &uvcoords, std::vector<CFLOAT> &vcol,
const std::vector<std::string> &shaders,const std::vector<int> &faceshader,
float sm_angle,bool castShadows,bool useR,bool receiveR,bool caus,bool has_orco,
const color_t &caus_rcolor,const color_t &caus_tcolor,float caus_IOR)=0;
virtual void addObject_reference(const std::string &name,const std::string &original)=0;
// lights
virtual void addLight(paramMap_t &p)=0;
// textures
virtual void addTexture(paramMap_t &p)=0;
// shaders
virtual void addShader(paramMap_t &p,std::list<paramMap_t> &modulators)=0;
// filters
virtual void addFilter(paramMap_t &p)=0;
// backgrounds
virtual void addBackground(paramMap_t &p)=0;
//camera
virtual void addCamera(paramMap_t &p)=0;
//render
virtual void render(paramMap_t &p)=0;
//render
virtual void render(paramMap_t &p,colorOutput_t &output)=0;
virtual void clear()=0;
virtual ~yafrayInterface_t() {};
};
typedef yafrayInterface_t * yafrayConstructor(int,const std::string &);
}
#define YAFRAY_SYMBOL "getYafray"
#endif

View File

@@ -1,239 +0,0 @@
//----------------------------------------------------------------------------------------------------
// YafRay export
//
// For anyone else looking at this, this was designed for a tabspacing of 2 (YafRay/Jandro standard :)
//----------------------------------------------------------------------------------------------------
#include "yafray_Render.h"
#include <math.h>
#include <cstring>
using namespace std;
void yafrayRender_t::clearAll()
{
all_objects.clear();
used_materials.clear();
used_textures.clear();
dupliMtx_list.clear();
dup_srcob.clear();
objectData.clear();
imagetex.clear();
imgtex_shader.clear();
}
bool yafrayRender_t::exportScene(Render* re)
{
this->re = re;
// get camera first, no checking should be necessary, all done by Blender
maincam_obj = re->scene->camera;
// use fixed lens for objects functioning as temporary camera (ctrl-0)
mainCamLens = 35.0;
if (maincam_obj->type==OB_CAMERA) mainCamLens=((Camera*)maincam_obj->data)->lens;
// recreate the scene as object data, as well as sorting the material & textures, ignoring duplicates
if (!getAllMatTexObs())
{
// error found, clear for next call
clearAll();
return false;
}
if (!initExport())
{
G.afbreek = 1;
clearAll();
return false;
}
// start actual data export
writeTextures();
writeMaterialsAndModulators();
writeAllObjects();
writeLamps();
hasworld = writeWorld();
writeCamera();
writeRender();
// clear for next call, before render to free some memory
clearAll();
if (!finishExport())
{
G.afbreek = 1; //stop render and anim if doing so
return false;
}
else return true;
}
// gets all unique face materials & textures,
// and sorts the facelist rejecting anything that is not a quad or tri,
// as well as associating them again with the original Object.
bool yafrayRender_t::getAllMatTexObs()
{
ObjectInstanceRen *obi;
ObjectRen *obr;
VlakRen* vlr;
float mat[4][4];
// convert blender object instances to dupli matrices
for(obi=(ObjectInstanceRen*)re->instancetable.first; obi; obi=obi->next) {
if(obi->flag & R_DUPLI_TRANSFORMED) {
// compute object matrix with dupli transform, need to transform
// obi->mat out of view space for it
MTC_Mat4MulSerie(mat, re->viewinv, obi->mat, re->viewmat, obi->obr->ob->obmat, 0, 0, 0, 0);
addDupliMtx(obi->obr->ob, mat);
}
}
// Blender does not include object which have total 0 alpha materials,
// however, the objects might have been included in the dupliMtx list,
// so this will cause a 'Duplilist non-empty...' error after going through the renderlist.
// To solve this, keep track of all render objects included sofar,
// and remove from dupliMtx_list if object not found.
// This should also help to solve some other yet undetected 'dupli..' errors,
// but on the other hand that could also hide the real problem of course...
map<string, Object*> renderobs;
for(obr=(ObjectRen*)re->objecttable.first; obr; obr=obr->next) {
for (int i=0; i < obr->totvlak; i++) {
if ((i & 255)==0) vlr=obr->vlaknodes[i>>8].vlak; else vlr++;
// ---- The materials & textures
// in this case, probably every face has a material assigned, which can be the default material,
// so checking that this is !0 is probably not necessary, but just in case...
Material* matr = vlr->mat;
if (matr) {
// The default assigned material seems to be nameless, no MA id, an empty string.
// Since this name is needed in yafray, make it 'blender_default'
if (strlen(matr->id.name)==0)
used_materials["blender_default"] = matr;
else
used_materials[matr->id.name] = matr;
// textures, all active channels
for (int m=0;m<MAX_MTEX;m++) {
if (matr->septex & (1<<m)) continue; // only active channels
MTex* mx = matr->mtex[m];
// if no mtex, ignore
if (mx==NULL) continue;
// if no tex, ignore
Tex* tx = mx->tex;
if (tx==NULL) continue;
short txtp = tx->type;
// if texture type not available in yafray, ignore
if ((txtp==0) ||
(txtp==TEX_MAGIC) ||
(txtp==TEX_PLUGIN) ||
(txtp==TEX_ENVMAP)) continue;
// if texture is stucci, only export if 'nor' enabled
if ((txtp==TEX_STUCCI) && !((mx->mapto & MAP_NORM) || (mx->maptoneg & MAP_NORM))) continue;
// In the case of an image texture, check that there is an actual image, otherwise ignore.
// Stupid error was here (...if (txtp & TEX_IMAGE)...),
// which happened to work sofar, but not anymore with the extended texture support..
if ((txtp==TEX_IMAGE) && (!tx->ima)) continue;
used_textures[tx->id.name] = mx;
}
}
// Make list of faces per object, ignore <3 vert faces, duplicate vertex sorting done later.
// ignore null object pointers.
// Also make list of facetexture images (material 'TexFace').
if (obr->ob) {
int nv = 0; // number of vertices
MTFace *tface;
if (vlr->v4) nv=4; else if (vlr->v3) nv=3;
if (nv) {
renderobs[obr->ob->id.name] = obr->ob;
all_objects[obr->ob].obr= obr;
all_objects[obr->ob].faces.push_back(vlr);
tface= RE_vlakren_get_tface(obr, vlr, obr->actmtface, NULL, 0);
if (tface && tface->tpage) {
Material* fmat = vlr->mat;
// only save if TexFace enabled
if(fmat && (fmat->mode & MA_FACETEXTURE))
imagetex[tface->tpage].insert(fmat);
}
}
}
}
}
// now remove any objects from dupliMtx_list which are not in the renderlist
for (map<string, vector<float> >::iterator dL=dupliMtx_list.begin();
dL!=dupliMtx_list.end();)
{
string ro_name = dL->first;
if (renderobs.find(ro_name)==renderobs.end()) {
cout << "Object " << ro_name << " not in renderlist, removing from dupliMtx_list" << endl;
dL->second.clear();
++dL;
dupliMtx_list.erase(ro_name);
}
else
++dL;
}
// in case dupliMtx_list not empty, make sure that there is at least one source object
// in all_objects with the name given in dupliMtx_list
if (!dupliMtx_list.empty()) {
for (map<Object*, yafrayObjectRen>::const_iterator obn=all_objects.begin();
obn!=all_objects.end();++obn)
{
Object* obj = obn->first;
string obname = obj->id.name;
if (dupliMtx_list.find(obname)!=dupliMtx_list.end()) dup_srcob[obname] = obj;
}
// if the name reference list is empty, return now, something was seriously wrong
if (dup_srcob.empty()) {
// error() doesn't work to well, when switching from Blender to console at least, so use stdout instead
cout << "ERROR: Duplilist non_empty, but no srcobs\n";
return false;
}
}
return true;
}
void yafrayRender_t::addDupliMtx(Object* obj, float mat[][4])
{
for (int i=0;i<4;i++)
for (int j=0;j<4;j++)
dupliMtx_list[obj->id.name].push_back(mat[i][j]);
}
#if 0
bool yafrayRender_t::objectKnownData(Object* obj)
{
// if object data already known, no need to include in renderlist, otherwise save object datapointer
if (objectData.find(obj->data)!=objectData.end()) {
Object* orgob = objectData[obj->data];
// first save original object matrix in dupliMtx_list, if not added yet
if (dupliMtx_list.find(orgob->id.name)==dupliMtx_list.end()) {
cout << "Added original matrix\n";
addDupliMtx(orgob);
}
// then save matrix of linked object in dupliMtx_list, using name of ORIGINAL object
for (int i=0;i<4;i++)
for (int j=0;j<4;j++)
dupliMtx_list[orgob->id.name].push_back(obj->obmat[i][j]);
return true;
}
// object not known yet
objectData[obj->data] = obj;
return false;
}
#endif

View File

@@ -1,110 +0,0 @@
#ifndef __YAFRAY_RENDER_H
#define __YAFRAY_RENDER_H
#ifdef __cplusplus
extern "C" {
#endif
#include "MEM_guardedalloc.h"
#include "IMB_imbuf_types.h"
#include "DNA_camera_types.h"
#include "DNA_group_types.h"
#include "DNA_image_types.h"
#include "DNA_lamp_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
#include "DNA_userdef_types.h"
#include "DNA_world_types.h"
#include "BKE_global.h"
#include "render_types.h"
#include "renderdatabase.h"
/* display_draw() needs render layer info */
#include "renderpipeline.h"
/* useful matrix & vector operations */
#include "MTC_matrixops.h"
#include "MTC_vectorops.h"
#include "BLI_blenlib.h"
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
#include <iostream>
#include <iomanip>
#include <sstream>
#include <fstream>
#include <map>
#include <string>
#include <vector>
#include <set>
class yafrayObjectRen {
public:
std::vector<VlakRen*> faces;
ObjectRen *obr;
};
class yafrayRender_t
{
public:
// ctor
yafrayRender_t() {}
// dtor
virtual ~yafrayRender_t() {}
// mtds
bool exportScene(Render* re);
void addDupliMtx(Object* obj, float mat[][4]);
bool objectKnownData(Object* obj);
protected:
Render* re;
Object* maincam_obj;
float mainCamLens;
bool hasworld;
std::map<Object*, yafrayObjectRen> all_objects;
std::map<std::string, Material*> used_materials;
std::map<std::string, MTex*> used_textures;
std::map<std::string, std::vector<float> > dupliMtx_list;
std::map<std::string, Object*> dup_srcob;
std::map<void*, Object*> objectData;
std::map<Image*, std::set<Material*> > imagetex;
std::map<std::string, std::string> imgtex_shader;
bool getAllMatTexObs();
virtual void writeTextures()=0;
virtual void writeShader(const std::string &shader_name, Material* matr, const std::string &facetexname)=0;
virtual void writeMaterialsAndModulators()=0;
virtual void writeObject(Object* obj, ObjectRen *obr, const std::vector<VlakRen*> &VLR_list, const float obmat[4][4])=0;
virtual void writeAllObjects()=0;
virtual void writeLamps()=0;
virtual void writeCamera()=0;
virtual void writeAreaLamp(LampRen* lamp, int num, float iview[4][4])=0;
virtual void writeHemilight()=0;
virtual void writePathlight()=0;
virtual bool writeWorld()=0;
virtual bool writeRender()=0;
virtual bool initExport()=0;
virtual bool finishExport()=0;
void clearAll();
};
#endif
#endif /*__YAFRAY_RENDER_H */

View File

@@ -96,7 +96,7 @@ ifeq ($(OS),darwin)
CFLAGS += -pipe -fPIC -ffast-math -march=pentium-m -funsigned-char -fno-strict-aliasing
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
endif
REL_CFLAGS += -O
# REL_CFLAGS += -O
# REL_CCFLAGS += -O2
CPPFLAGS += -D_THREAD_SAFE
NAN_DEPEND = true

View File

@@ -45,7 +45,6 @@ def validate_arguments(args, bc):
'WITH_BF_ODE', 'BF_ODE', 'BF_ODE_INC', 'BF_ODE_LIB',
'WITH_BF_GAMEENGINE', 'WITH_BF_SOLID', 'WITH_BF_BULLET', 'BF_BULLET', 'BF_BULLET_INC', 'BF_BULLET_LIB',
'BF_SOLID', 'BF_SOLID_INC', 'BF_WINTAB', 'BF_WINTAB_INC',
'WITH_BF_YAFRAY',
'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH',
'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH',
'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC',
@@ -156,7 +155,6 @@ def read_opts(cfg, args):
(BoolVariable('WITH_BF_STATICPYTHON', 'Staticly link to python', False)),
(BoolVariable('BF_NO_ELBEEM', 'Disable Fluid Sim', False)),
(BoolVariable('WITH_BF_YAFRAY', 'Enable Yafray', True)),
(BoolVariable('WITH_BF_OPENAL', 'Use OpenAL if true', False)),
('BF_OPENAL', 'base path for OpenAL', ''),