diff options
author | Maxime Curioni <maxime.curioni@gmail.com> | 2008-05-18 17:01:52 +0400 |
---|---|---|
committer | Maxime Curioni <maxime.curioni@gmail.com> | 2008-05-18 17:01:52 +0400 |
commit | 55655a065943d67dbdb584e8426a60793e65d6f1 (patch) | |
tree | 69569ab6eb32859b5d9c30e0d9b7237e9b22666d /source/blender/freestyle/misc | |
parent | 29b2db85181414b2581dd303a654b8d61ac80fbd (diff) |
soc-2008-mxcurioni: towards Freestyle's first render: controller, config, appglwidget corrected. Freestyle is called but cannot be linked (ImBuf issues). This is an unstable commit.
Diffstat (limited to 'source/blender/freestyle/misc')
18 files changed, 1446 insertions, 0 deletions
diff --git a/source/blender/freestyle/misc/AUTHORS.TXT b/source/blender/freestyle/misc/AUTHORS.TXT new file mode 100755 index 00000000000..27cdb70d5ec --- /dev/null +++ b/source/blender/freestyle/misc/AUTHORS.TXT @@ -0,0 +1,6 @@ +Authors +------- +Frédo Durand <fredo@mit.edu> +Stéphane Grabli <stephane.grabli@imag.fr> +François Sillion <francois.sillion@imag.fr> +Emmanuel Turquin <emmanuel.turquin@imag.fr> diff --git a/source/blender/freestyle/misc/BUGS.TXT b/source/blender/freestyle/misc/BUGS.TXT new file mode 100755 index 00000000000..c5bad029a47 --- /dev/null +++ b/source/blender/freestyle/misc/BUGS.TXT @@ -0,0 +1,11 @@ +* Application doesn't exit properly (eg style window still hangs out) +* macosx: Window bar is unaccessible. +* macosx: Build leds to an application that is half-bundle (for the executable) half UNIX-style (for libraries). +* Strokes Strips are sometimes incorrect +* TVertex sometimes points towards NULL ViewEdges +* Some points are found to be outside of the grid. (for big models and mostly in release mode). Probably due to precision problems. +* Operators::recursiveChains() and ViewEdgeIterator change ViewEdgeIterator so that it supports the copy of specialized types in a transparent way. It works here only because we're never copying it and because it is passed as a reference. +* Functions0D takes a Interface0DIterator& insted of a const Interface0DIterator& as argument. dangerous. +* crashes on big models + + diff --git a/source/blender/freestyle/misc/COPYRIGHT.TXT b/source/blender/freestyle/misc/COPYRIGHT.TXT new file mode 100755 index 00000000000..cd37bd16786 --- /dev/null +++ b/source/blender/freestyle/misc/COPYRIGHT.TXT @@ -0,0 +1,9 @@ +Freestyle + +Copyright (c) 2001-2007 by the following: + + +Frédo Durand <fredo@mit.edu> +Stéphane Grabli <stephane.grabli@gmail.com> +François Sillion <francois.sillion@imag.fr> +Emmanuel Turquin <emmanuel.turquin@imag.fr> diff --git a/source/blender/freestyle/misc/Config.pri b/source/blender/freestyle/misc/Config.pri new file mode 100755 index 00000000000..68763dba502 --- /dev/null +++ b/source/blender/freestyle/misc/Config.pri @@ -0,0 +1,176 @@ +# This file should be viewed as a -*- mode: Makefile -*- + +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +# A p p l i c a t i o n & L i b r a r i e s # +# b u i l d c o n f i g u r a t i o n # +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + +# +# APPLICATION +# +####################################### + +APPNAME = Freestyle +APPVERSION_MAJ = 2 +APPVERSION_MID = 2 +APPVERSION_MIN = 0 +APPVERSION = $${APPVERSION_MAJ}.$${APPVERSION_MID}.$${APPVERSION_MIN} + +PYTHON_VERSION_MAJ = 2 +PYTHON_VERSION_MIN = 5 + +LIB3DS_VERSION_MAJ = 1 +LIB3DS_VERSION_MIN = 30 + +# +# CONFIG +# +####################################### + +CONFIG -= debug release ReleaseBuild Release build_pass precompile_header debug_and_release debug_and_release_target +CONFIG *= qt shared stl exceptions rtti thread +CONFIG *= release # debug or release +CONFIG *= warn_off # warn_off or warn_on +mac:CONFIG += x86 +#mac:CONFIG += ppc +#mac:CONFIG *= lib_bundle + +#mac:QMAKE_MAC_SDK = /Developer/SDKs/MacOSX10.4u.sdk +#message($$CONFIG) +#CONFIG *= static +#CONFIG *= profiling + + + +QT += opengl + +# +# LIBRARIES +# +####################################### + +debug{ + LIB_GEOMETRY = $${APPNAME}Geometry_d + LIB_IMAGE = $${APPNAME}Image_d + LIB_RENDERING = $${APPNAME}Rendering_d + LIB_SCENE_GRAPH = $${APPNAME}SceneGraph_d + LIB_SYSTEM = $${APPNAME}System_d + LIB_VIEW_MAP = $${APPNAME}ViewMap_d + LIB_STROKE = $${APPNAME}Stroke_d + LIB_WINGED_EDGE = $${APPNAME}WingedEdge_d +}else{ + LIB_GEOMETRY = $${APPNAME}Geometry + LIB_IMAGE = $${APPNAME}Image + LIB_RENDERING = $${APPNAME}Rendering + LIB_SCENE_GRAPH = $${APPNAME}SceneGraph + LIB_SYSTEM = $${APPNAME}System + LIB_VIEW_MAP = $${APPNAME}ViewMap + LIB_STROKE = $${APPNAME}Stroke + LIB_WINGED_EDGE = $${APPNAME}WingedEdge +} + +LIBVERSION = $${APPVERSION_MAJ}.$${APPVERSION_MID} + + +# +# FLAGS +# +####################################### + +win32:QMAKE_CXXFLAGS *= /GR /GX +win32:QMAKE_CFLAGS *= /GR /GX +irix-n32:QMAKE_CFLAGS *= -LANG:std +irix-n32:QMAKE_CXXFLAGS *= -LANG:std +linux-g++:QMAKE_CFLAGS *= -Wno-deprecated +linux-g++:QMAKE_CXXFLAGS *= -Wno-deprecated +cygwin-g++:QMAKE_CFLAGS *= -Wno-deprecated +cygwin-g++:QMAKE_CXXFLAGS *= -Wno-deprecated -mno-win32 +mac:QMAKE_CFLAGS *= -Wno-deprecated +mac:QMAKE_CXXFLAGS *= -Wno-deprecated + +linux-g++:QMAKE_CFLAGS_RELEASE = -O3 -funroll-loops -fomit-frame-pointer -ffast-math -march=i686 +linux-g++:QMAKE_CXXFLAGS_RELEASE = -O3 -funroll-loops -fomit-frame-pointer -ffast-math -march=i686 +cygwin-g++:QMAKE_CFLAGS_RELEASE = -O3 -funroll-loops -fomit-frame-pointer -ffast-math -march=i686 +cygwin-g++:QMAKE_CXXFLAGS_RELEASE = -O3 -funroll-loops -fomit-frame-pointer -ffast-math -march=i686 +mac:QMAKE_CFLAGS_RELEASE = -O3 -funroll-loops -fomit-frame-pointer -ffast-math -march=i686 +mac:QMAKE_CXXFLAGS_RELEASE = -O3 -funroll-loops -fomit-frame-pointer -ffast-math -march=i686 + +profiling { + linux-g++:QMAKE_CFLAGS_DEBUG = -pg + linux-g++:QMAKE_CXXFLAGS_DEBUG = -pg + linux-g++:QMAKE_LFLAGS_DEBUG = -pg + cygwin-g++:QMAKE_CFLAGS_DEBUG = -pg + cygwin-g++:QMAKE_CXXFLAGS_DEBUG = -pg + cygwin-g++:QMAKE_LFLAGS_DEBUG = -pg + mac:QMAKE_CFLAGS_DEBUG = -pg + mac:QMAKE_CXXFLAGS_DEBUG = -pg + mac:QMAKE_LFLAGS_DEBUG = -pg +} + +# +# DEFINES +# +####################################### + +win32:DEFINES *= WIN32 QT_DLL QT_THREAD_SUPPORT +linux-g++:DEFINES *= LINUX +cygwin-g++:DEFINES *= CYGWIN +irix-n32:DEFINES *= IRIX +mac:DEFINES *= MACOSX + +# +# BUILD DIRECTORIES (RELATIVE) +# +####################################### + +release { + win32 { + REL_OBJECTS_DIR = \\win32\\release\\obj + REL_DESTDIR = \\win32\\release + } + linux-g++ { + REL_OBJECTS_DIR = linux-g++/release/obj + REL_DESTDIR = linux-g++/release + } + cygwin-g++ { + REL_OBJECTS_DIR = cygwin-g++/release/obj + REL_DESTDIR = cygwin-g++/release + } + irix-n32 { + REL_OBJECTS_DIR = irix-n32/release/obj + REL_DESTDIR = irix-n32/release + } + mac { + REL_OBJECTS_DIR = macosx/release/obj + REL_DESTDIR = macosx/release + } +} +debug { + win32 { + REL_OBJECTS_DIR = \\win32\\debug\\obj + REL_DESTDIR = \\win32\\debug + } + linux-g++ { + REL_OBJECTS_DIR = linux-g++/debug/obj + REL_DESTDIR = linux-g++/debug + } + cygwin-g++ { + REL_OBJECTS_DIR = cygwin-g++/debug/obj + REL_DESTDIR = cygwin-g++/debug + } + irix-n32 { + REL_OBJECTS_DIR = irix-n32/debug/obj + REL_DESTDIR = irix-n32/debug + } + mac { + REL_OBJECTS_DIR = macosx/debug/obj + REL_DESTDIR = macosx/debug + } +} + +# +# INSTALL +# +####################################### + +#QMAKE_COPY_FILE = $${QMAKE_COPY} -P diff --git a/source/blender/freestyle/misc/Freestyle-vc7-debug.sln b/source/blender/freestyle/misc/Freestyle-vc7-debug.sln new file mode 100755 index 00000000000..937f3f9faf9 --- /dev/null +++ b/source/blender/freestyle/misc/Freestyle-vc7-debug.sln @@ -0,0 +1,113 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Freestyle_d", "app\app_d.vcproj", "{0BC94A80-9E3E-40D8-B2CF-6594F96361C5}" + ProjectSection(ProjectDependencies) = postProject + {DFCED64E-AEFA-4D06-8609-DE23A69D0361} = {DFCED64E-AEFA-4D06-8609-DE23A69D0361} + {AF37DD50-8CD3-4339-AB32-C6F8F770CB30} = {AF37DD50-8CD3-4339-AB32-C6F8F770CB30} + {FA76B552-8A89-4A50-92F7-A77935515005} = {FA76B552-8A89-4A50-92F7-A77935515005} + {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE} + {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C} = {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C} + {4C44396A-8016-4360-8F5C-35CA6CC282BD} = {4C44396A-8016-4360-8F5C-35CA6CC282BD} + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + {858093EF-6B95-4D0F-AA0A-CF187C6F369F} = {858093EF-6B95-4D0F-AA0A-CF187C6F369F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleGeometry_d", "geometry\geometry_d.vcproj", "{3E1C0A57-8206-402F-A12E-3B100F121DDE}" + ProjectSection(ProjectDependencies) = postProject + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleImage_d", "image\image_d.vcproj", "{4C44396A-8016-4360-8F5C-35CA6CC282BD}" + ProjectSection(ProjectDependencies) = postProject + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleRendering_d", "rendering\rendering_d.vcproj", "{9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}" + ProjectSection(ProjectDependencies) = postProject + {DFCED64E-AEFA-4D06-8609-DE23A69D0361} = {DFCED64E-AEFA-4D06-8609-DE23A69D0361} + {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE} + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + {858093EF-6B95-4D0F-AA0A-CF187C6F369F} = {858093EF-6B95-4D0F-AA0A-CF187C6F369F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSceneGraph_d", "scene_graph\scene_graph_d.vcproj", "{858093EF-6B95-4D0F-AA0A-CF187C6F369F}" + ProjectSection(ProjectDependencies) = postProject + {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE} + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleStroke_d", "stroke\stroke_d.vcproj", "{DFCED64E-AEFA-4D06-8609-DE23A69D0361}" + ProjectSection(ProjectDependencies) = postProject + {FA76B552-8A89-4A50-92F7-A77935515005} = {FA76B552-8A89-4A50-92F7-A77935515005} + {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE} + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSystem_d", "system\system_d.vcproj", "{AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleViewMap_d", "view_map\view_map_d.vcproj", "{FA76B552-8A89-4A50-92F7-A77935515005}" + ProjectSection(ProjectDependencies) = postProject + {AF37DD50-8CD3-4339-AB32-C6F8F770CB30} = {AF37DD50-8CD3-4339-AB32-C6F8F770CB30} + {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE} + {4C44396A-8016-4360-8F5C-35CA6CC282BD} = {4C44396A-8016-4360-8F5C-35CA6CC282BD} + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleWingedEdge_d", "winged_edge\winged_edge_d.vcproj", "{AF37DD50-8CD3-4339-AB32-C6F8F770CB30}" + ProjectSection(ProjectDependencies) = postProject + {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE} + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} + {858093EF-6B95-4D0F-AA0A-CF187C6F369F} = {858093EF-6B95-4D0F-AA0A-CF187C6F369F} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Debug.ActiveCfg = Debug|Win32 + {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Debug.Build.0 = Debug|Win32 + {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Release.ActiveCfg = Debug|Win32 + {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Release.Build.0 = Debug|Win32 + {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Debug.ActiveCfg = Debug|Win32 + {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Debug.Build.0 = Debug|Win32 + {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Release.ActiveCfg = Debug|Win32 + {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Release.Build.0 = Debug|Win32 + {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Debug.ActiveCfg = Debug|Win32 + {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Debug.Build.0 = Debug|Win32 + {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Release.ActiveCfg = Debug|Win32 + {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Release.Build.0 = Debug|Win32 + {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Debug.ActiveCfg = Debug|Win32 + {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Debug.Build.0 = Debug|Win32 + {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Release.ActiveCfg = Debug|Win32 + {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Release.Build.0 = Debug|Win32 + {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Debug.ActiveCfg = Debug|Win32 + {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Debug.Build.0 = Debug|Win32 + {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Release.ActiveCfg = Debug|Win32 + {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Release.Build.0 = Debug|Win32 + {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Debug.ActiveCfg = Debug|Win32 + {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Debug.Build.0 = Debug|Win32 + {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Release.ActiveCfg = Debug|Win32 + {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Release.Build.0 = Debug|Win32 + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Debug.ActiveCfg = Debug|Win32 + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Debug.Build.0 = Debug|Win32 + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Release.ActiveCfg = Debug|Win32 + {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Release.Build.0 = Debug|Win32 + {FA76B552-8A89-4A50-92F7-A77935515005}.Debug.ActiveCfg = Debug|Win32 + {FA76B552-8A89-4A50-92F7-A77935515005}.Debug.Build.0 = Debug|Win32 + {FA76B552-8A89-4A50-92F7-A77935515005}.Release.ActiveCfg = Release|Win32 + {FA76B552-8A89-4A50-92F7-A77935515005}.Release.Build.0 = Release|Win32 + {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Debug.ActiveCfg = Debug|Win32 + {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Debug.Build.0 = Debug|Win32 + {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Release.ActiveCfg = Debug|Win32 + {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Release.Build.0 = Debug|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/source/blender/freestyle/misc/Freestyle-vc7-release.sln b/source/blender/freestyle/misc/Freestyle-vc7-release.sln new file mode 100755 index 00000000000..74d5dc77f86 --- /dev/null +++ b/source/blender/freestyle/misc/Freestyle-vc7-release.sln @@ -0,0 +1,111 @@ +Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Freestyle", "app\app.vcproj", "{0BC94A80-9E3E-40D8-B2CF-6594F96361C5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DFCED64E-AEFA-4D06-8609-DE23A69D0361} = {DFCED64E-AEFA-4D06-8609-DE23A69D0361}
+ {AF37DD50-8CD3-4339-AB32-C6F8F770CB30} = {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}
+ {FA76B552-8A89-4A50-92F7-A77935515005} = {FA76B552-8A89-4A50-92F7-A77935515005}
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE}
+ {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C} = {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}
+ {4C44396A-8016-4360-8F5C-35CA6CC282BD} = {4C44396A-8016-4360-8F5C-35CA6CC282BD}
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ {858093EF-6B95-4D0F-AA0A-CF187C6F369F} = {858093EF-6B95-4D0F-AA0A-CF187C6F369F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleGeometry", "geometry\geometry.vcproj", "{3E1C0A57-8206-402F-A12E-3B100F121DDE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleImage", "image\image.vcproj", "{4C44396A-8016-4360-8F5C-35CA6CC282BD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleRendering", "rendering\rendering.vcproj", "{9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DFCED64E-AEFA-4D06-8609-DE23A69D0361} = {DFCED64E-AEFA-4D06-8609-DE23A69D0361}
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE}
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ {858093EF-6B95-4D0F-AA0A-CF187C6F369F} = {858093EF-6B95-4D0F-AA0A-CF187C6F369F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSceneGraph", "scene_graph\scene_graph.vcproj", "{858093EF-6B95-4D0F-AA0A-CF187C6F369F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE}
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleStroke", "stroke\stroke.vcproj", "{DFCED64E-AEFA-4D06-8609-DE23A69D0361}"
+ ProjectSection(ProjectDependencies) = postProject
+ {FA76B552-8A89-4A50-92F7-A77935515005} = {FA76B552-8A89-4A50-92F7-A77935515005}
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE}
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSystem", "system\system.vcproj", "{AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleViewMap", "view_map\view_map.vcproj", "{FA76B552-8A89-4A50-92F7-A77935515005}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AF37DD50-8CD3-4339-AB32-C6F8F770CB30} = {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE}
+ {4C44396A-8016-4360-8F5C-35CA6CC282BD} = {4C44396A-8016-4360-8F5C-35CA6CC282BD}
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleWingedEdge", "winged_edge\winged_edge.vcproj", "{AF37DD50-8CD3-4339-AB32-C6F8F770CB30}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE} = {3E1C0A57-8206-402F-A12E-3B100F121DDE}
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A} = {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}
+ {858093EF-6B95-4D0F-AA0A-CF187C6F369F} = {858093EF-6B95-4D0F-AA0A-CF187C6F369F}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Debug.ActiveCfg = Debug|Win32
+ {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Debug.Build.0 = Debug|Win32
+ {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Release.ActiveCfg = Release|Win32
+ {0BC94A80-9E3E-40D8-B2CF-6594F96361C5}.Release.Build.0 = Release|Win32
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Debug.ActiveCfg = Debug|Win32
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Debug.Build.0 = Debug|Win32
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Release.ActiveCfg = Release|Win32
+ {3E1C0A57-8206-402F-A12E-3B100F121DDE}.Release.Build.0 = Release|Win32
+ {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Debug.ActiveCfg = Debug|Win32
+ {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Debug.Build.0 = Debug|Win32
+ {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Release.ActiveCfg = Release|Win32
+ {4C44396A-8016-4360-8F5C-35CA6CC282BD}.Release.Build.0 = Release|Win32
+ {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Debug.ActiveCfg = Debug|Win32
+ {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Debug.Build.0 = Debug|Win32
+ {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Release.ActiveCfg = Release|Win32
+ {9F2B9C57-F57F-4A8A-9590-6DDD1E51433C}.Release.Build.0 = Release|Win32
+ {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Debug.ActiveCfg = Debug|Win32
+ {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Debug.Build.0 = Debug|Win32
+ {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Release.ActiveCfg = Release|Win32
+ {858093EF-6B95-4D0F-AA0A-CF187C6F369F}.Release.Build.0 = Release|Win32
+ {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Debug.ActiveCfg = Debug|Win32
+ {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Debug.Build.0 = Debug|Win32
+ {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Release.ActiveCfg = Release|Win32
+ {DFCED64E-AEFA-4D06-8609-DE23A69D0361}.Release.Build.0 = Release|Win32
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Debug.ActiveCfg = Debug|Win32
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Debug.Build.0 = Debug|Win32
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Release.ActiveCfg = Release|Win32
+ {AE79BAD6-6F46-4AA1-BBEA-28CC209FC28A}.Release.Build.0 = Release|Win32
+ {FA76B552-8A89-4A50-92F7-A77935515005}.Debug.ActiveCfg = Debug|Win32
+ {FA76B552-8A89-4A50-92F7-A77935515005}.Debug.Build.0 = Debug|Win32
+ {FA76B552-8A89-4A50-92F7-A77935515005}.Release.ActiveCfg = Release|Win32
+ {FA76B552-8A89-4A50-92F7-A77935515005}.Release.Build.0 = Release|Win32
+ {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Debug.ActiveCfg = Debug|Win32
+ {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Debug.Build.0 = Debug|Win32
+ {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Release.ActiveCfg = Release|Win32
+ {AF37DD50-8CD3-4339-AB32-C6F8F770CB30}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/source/blender/freestyle/misc/Freestyle-vc8-debug.sln b/source/blender/freestyle/misc/Freestyle-vc8-debug.sln new file mode 100755 index 00000000000..097ca30a174 --- /dev/null +++ b/source/blender/freestyle/misc/Freestyle-vc8-debug.sln @@ -0,0 +1,87 @@ +
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C++ Express 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSystem_d", "system\system_d.vcproj", "{AAAAA9BB-8C01-3BC3-9808-AB6717F08393}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleGeometry_d", "geometry\geometry_d.vcproj", "{5F60164C-8544-3259-A8CB-24636A092489}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleImage_d", "image\image_d.vcproj", "{28F6AC11-2A9B-3886-97DD-82FB353409CB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSceneGraph_d", "scene_graph\scene_graph_d.vcproj", "{C98C60D8-9836-30A5-BEA9-0D320E5AF308}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393} = {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}
+ {5F60164C-8544-3259-A8CB-24636A092489} = {5F60164C-8544-3259-A8CB-24636A092489}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleWingedEdge_d", "winged_edge\winged_edge_d.vcproj", "{E46825D6-9581-3D8A-96FE-7C90BC188602}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5F60164C-8544-3259-A8CB-24636A092489} = {5F60164C-8544-3259-A8CB-24636A092489}
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393} = {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}
+ {C98C60D8-9836-30A5-BEA9-0D320E5AF308} = {C98C60D8-9836-30A5-BEA9-0D320E5AF308}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleViewMap_d", "view_map\view_map_d.vcproj", "{6769BAB7-2894-3453-B07A-58C32D6646E3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C98C60D8-9836-30A5-BEA9-0D320E5AF308} = {C98C60D8-9836-30A5-BEA9-0D320E5AF308}
+ {E46825D6-9581-3D8A-96FE-7C90BC188602} = {E46825D6-9581-3D8A-96FE-7C90BC188602}
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393} = {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}
+ {5F60164C-8544-3259-A8CB-24636A092489} = {5F60164C-8544-3259-A8CB-24636A092489}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleStroke_d", "stroke\stroke_d.vcproj", "{EDA5F096-B8D0-336F-82DB-501B2F00C1CD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5F60164C-8544-3259-A8CB-24636A092489} = {5F60164C-8544-3259-A8CB-24636A092489}
+ {6769BAB7-2894-3453-B07A-58C32D6646E3} = {6769BAB7-2894-3453-B07A-58C32D6646E3}
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393} = {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}
+ {E46825D6-9581-3D8A-96FE-7C90BC188602} = {E46825D6-9581-3D8A-96FE-7C90BC188602}
+ {C98C60D8-9836-30A5-BEA9-0D320E5AF308} = {C98C60D8-9836-30A5-BEA9-0D320E5AF308}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleRendering_d", "rendering\rendering_d.vcproj", "{D5EA771F-A1FF-3F68-A391-98EEEB407E78}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5F60164C-8544-3259-A8CB-24636A092489} = {5F60164C-8544-3259-A8CB-24636A092489}
+ {EDA5F096-B8D0-336F-82DB-501B2F00C1CD} = {EDA5F096-B8D0-336F-82DB-501B2F00C1CD}
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393} = {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}
+ {C98C60D8-9836-30A5-BEA9-0D320E5AF308} = {C98C60D8-9836-30A5-BEA9-0D320E5AF308}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Freestyle_d", "app\app_d.vcproj", "{606D6459-D5F6-3A09-8962-50E8551545AB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C98C60D8-9836-30A5-BEA9-0D320E5AF308} = {C98C60D8-9836-30A5-BEA9-0D320E5AF308}
+ {E46825D6-9581-3D8A-96FE-7C90BC188602} = {E46825D6-9581-3D8A-96FE-7C90BC188602}
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393} = {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}
+ {6769BAB7-2894-3453-B07A-58C32D6646E3} = {6769BAB7-2894-3453-B07A-58C32D6646E3}
+ {EDA5F096-B8D0-336F-82DB-501B2F00C1CD} = {EDA5F096-B8D0-336F-82DB-501B2F00C1CD}
+ {5F60164C-8544-3259-A8CB-24636A092489} = {5F60164C-8544-3259-A8CB-24636A092489}
+ {D5EA771F-A1FF-3F68-A391-98EEEB407E78} = {D5EA771F-A1FF-3F68-A391-98EEEB407E78}
+ {28F6AC11-2A9B-3886-97DD-82FB353409CB} = {28F6AC11-2A9B-3886-97DD-82FB353409CB}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AAAAA9BB-8C01-3BC3-9808-AB6717F08393}.Debug|Win32.Build.0 = Debug|Win32
+ {5F60164C-8544-3259-A8CB-24636A092489}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5F60164C-8544-3259-A8CB-24636A092489}.Debug|Win32.Build.0 = Debug|Win32
+ {28F6AC11-2A9B-3886-97DD-82FB353409CB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {28F6AC11-2A9B-3886-97DD-82FB353409CB}.Debug|Win32.Build.0 = Debug|Win32
+ {C98C60D8-9836-30A5-BEA9-0D320E5AF308}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C98C60D8-9836-30A5-BEA9-0D320E5AF308}.Debug|Win32.Build.0 = Debug|Win32
+ {E46825D6-9581-3D8A-96FE-7C90BC188602}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E46825D6-9581-3D8A-96FE-7C90BC188602}.Debug|Win32.Build.0 = Debug|Win32
+ {6769BAB7-2894-3453-B07A-58C32D6646E3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6769BAB7-2894-3453-B07A-58C32D6646E3}.Debug|Win32.Build.0 = Debug|Win32
+ {EDA5F096-B8D0-336F-82DB-501B2F00C1CD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EDA5F096-B8D0-336F-82DB-501B2F00C1CD}.Debug|Win32.Build.0 = Debug|Win32
+ {D5EA771F-A1FF-3F68-A391-98EEEB407E78}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D5EA771F-A1FF-3F68-A391-98EEEB407E78}.Debug|Win32.Build.0 = Debug|Win32
+ {606D6459-D5F6-3A09-8962-50E8551545AB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {606D6459-D5F6-3A09-8962-50E8551545AB}.Debug|Win32.Build.0 = Debug|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/source/blender/freestyle/misc/Freestyle-vc8-release.sln b/source/blender/freestyle/misc/Freestyle-vc8-release.sln new file mode 100755 index 00000000000..82b22ff0c3e --- /dev/null +++ b/source/blender/freestyle/misc/Freestyle-vc8-release.sln @@ -0,0 +1,87 @@ +
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C++ Express 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Freestyle", "app\app.vcproj", "{B56F2464-158F-32C1-A9F7-EE85397706EC}"
+ ProjectSection(ProjectDependencies) = postProject
+ {555B73B2-B07B-3865-9D41-0FB69091E0C9} = {555B73B2-B07B-3865-9D41-0FB69091E0C9}
+ {F6589FA0-9FA2-31F9-BD0F-FFE303DE8759} = {F6589FA0-9FA2-31F9-BD0F-FFE303DE8759}
+ {9A93A87D-09E4-3492-A68C-A7B1A38DE002} = {9A93A87D-09E4-3492-A68C-A7B1A38DE002}
+ {3804962B-1D5B-382E-B69E-96FFB2372A46} = {3804962B-1D5B-382E-B69E-96FFB2372A46}
+ {A494B81F-F5EC-35DE-8DDC-4F6FD6B536D5} = {A494B81F-F5EC-35DE-8DDC-4F6FD6B536D5}
+ {35891119-E049-35BB-AB8E-8536817F5CEE} = {35891119-E049-35BB-AB8E-8536817F5CEE}
+ {0FDD8610-0785-3089-900D-53F786E9AC9B} = {0FDD8610-0785-3089-900D-53F786E9AC9B}
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C} = {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleGeometry", "geometry\geometry.vcproj", "{1D57A40D-AE4B-3E40-A023-4F37C9D7446C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleImage", "image\image.vcproj", "{A494B81F-F5EC-35DE-8DDC-4F6FD6B536D5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleRendering", "rendering\rendering.vcproj", "{0FDD8610-0785-3089-900D-53F786E9AC9B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C} = {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}
+ {35891119-E049-35BB-AB8E-8536817F5CEE} = {35891119-E049-35BB-AB8E-8536817F5CEE}
+ {3804962B-1D5B-382E-B69E-96FFB2372A46} = {3804962B-1D5B-382E-B69E-96FFB2372A46}
+ {9A93A87D-09E4-3492-A68C-A7B1A38DE002} = {9A93A87D-09E4-3492-A68C-A7B1A38DE002}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSceneGraph", "scene_graph\scene_graph.vcproj", "{35891119-E049-35BB-AB8E-8536817F5CEE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3804962B-1D5B-382E-B69E-96FFB2372A46} = {3804962B-1D5B-382E-B69E-96FFB2372A46}
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C} = {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleStroke", "stroke\stroke.vcproj", "{9A93A87D-09E4-3492-A68C-A7B1A38DE002}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C} = {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}
+ {35891119-E049-35BB-AB8E-8536817F5CEE} = {35891119-E049-35BB-AB8E-8536817F5CEE}
+ {3804962B-1D5B-382E-B69E-96FFB2372A46} = {3804962B-1D5B-382E-B69E-96FFB2372A46}
+ {F6589FA0-9FA2-31F9-BD0F-FFE303DE8759} = {F6589FA0-9FA2-31F9-BD0F-FFE303DE8759}
+ {555B73B2-B07B-3865-9D41-0FB69091E0C9} = {555B73B2-B07B-3865-9D41-0FB69091E0C9}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleSystem", "system\system.vcproj", "{3804962B-1D5B-382E-B69E-96FFB2372A46}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleViewMap", "view_map\view_map.vcproj", "{F6589FA0-9FA2-31F9-BD0F-FFE303DE8759}"
+ ProjectSection(ProjectDependencies) = postProject
+ {555B73B2-B07B-3865-9D41-0FB69091E0C9} = {555B73B2-B07B-3865-9D41-0FB69091E0C9}
+ {3804962B-1D5B-382E-B69E-96FFB2372A46} = {3804962B-1D5B-382E-B69E-96FFB2372A46}
+ {35891119-E049-35BB-AB8E-8536817F5CEE} = {35891119-E049-35BB-AB8E-8536817F5CEE}
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C} = {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreestyleWingedEdge", "winged_edge\winged_edge.vcproj", "{555B73B2-B07B-3865-9D41-0FB69091E0C9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C} = {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}
+ {35891119-E049-35BB-AB8E-8536817F5CEE} = {35891119-E049-35BB-AB8E-8536817F5CEE}
+ {3804962B-1D5B-382E-B69E-96FFB2372A46} = {3804962B-1D5B-382E-B69E-96FFB2372A46}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B56F2464-158F-32C1-A9F7-EE85397706EC}.Release|Win32.ActiveCfg = Release|Win32
+ {B56F2464-158F-32C1-A9F7-EE85397706EC}.Release|Win32.Build.0 = Release|Win32
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}.Release|Win32.ActiveCfg = Release|Win32
+ {1D57A40D-AE4B-3E40-A023-4F37C9D7446C}.Release|Win32.Build.0 = Release|Win32
+ {A494B81F-F5EC-35DE-8DDC-4F6FD6B536D5}.Release|Win32.ActiveCfg = Release|Win32
+ {A494B81F-F5EC-35DE-8DDC-4F6FD6B536D5}.Release|Win32.Build.0 = Release|Win32
+ {0FDD8610-0785-3089-900D-53F786E9AC9B}.Release|Win32.ActiveCfg = Release|Win32
+ {0FDD8610-0785-3089-900D-53F786E9AC9B}.Release|Win32.Build.0 = Release|Win32
+ {35891119-E049-35BB-AB8E-8536817F5CEE}.Release|Win32.ActiveCfg = Release|Win32
+ {35891119-E049-35BB-AB8E-8536817F5CEE}.Release|Win32.Build.0 = Release|Win32
+ {9A93A87D-09E4-3492-A68C-A7B1A38DE002}.Release|Win32.ActiveCfg = Release|Win32
+ {9A93A87D-09E4-3492-A68C-A7B1A38DE002}.Release|Win32.Build.0 = Release|Win32
+ {3804962B-1D5B-382E-B69E-96FFB2372A46}.Release|Win32.ActiveCfg = Release|Win32
+ {3804962B-1D5B-382E-B69E-96FFB2372A46}.Release|Win32.Build.0 = Release|Win32
+ {F6589FA0-9FA2-31F9-BD0F-FFE303DE8759}.Release|Win32.ActiveCfg = Release|Win32
+ {F6589FA0-9FA2-31F9-BD0F-FFE303DE8759}.Release|Win32.Build.0 = Release|Win32
+ {555B73B2-B07B-3865-9D41-0FB69091E0C9}.Release|Win32.ActiveCfg = Release|Win32
+ {555B73B2-B07B-3865-9D41-0FB69091E0C9}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/source/blender/freestyle/misc/INSTALL.TXT b/source/blender/freestyle/misc/INSTALL.TXT new file mode 100755 index 00000000000..4fab1275116 --- /dev/null +++ b/source/blender/freestyle/misc/INSTALL.TXT @@ -0,0 +1,79 @@ +Install +------- + +* UNIX/LINUX + +(for a more detailed description, see doc/linuxinstall.html) + + This is quite straightforward, provided that you have all the +needed libraries properly installed (see Requirements section in +the README.TXT file). +First, set the FREESTYLE-DIR environment variable to your +freestyle directory and then, simply type: + +$> cd "$FREESTYLE_DIR"/src +$> qmake +$> make + +Note: The SWIG wrapper hasn't been included in the qmake build +cycle yet and thus has to be compiled separately, by hand: + +$> cd "$FREESTYLE_DIR"/src/swig +$> make + +And to run the app: + +$> export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:./lib" +$> cd "$FREESTYLE_DIR"/build/linux-g++/release/ +$> ./Freestyle + + +* WINDOWS + + - If you downloaded the binary version: + +1) unzip the package +2) run vcredist_x86.exe +3) run Freestyle.exe + +- Compilation Instructions: + +(for a more detailed description, including the cygwin +compilation instructions, see doc/wininstall.html) + +1) launch 'makedsp.vcnet.debug.bat' in the 'src' subdir of your FREESTYLE_DIR to generate + a .vcproj file for each sub-project +2) open 'src/Freestyle-vc8-debug.sln' with Visual Studio (tested with VC++ 8 express edition) +3) compile the whole project using 'build solution' in the 'build' menu +4) run the app and enjoy ;) + +* MAC OS X + +(for a more detailed description, see doc/macosxinstall.html) + + This is quite straightforward, provided that you have all the +needed libraries properly installed (see Requirements section in +the README.TXT file). +First, set the FREESTYLE-DIR environment variable to your +freestyle directory and then, simply type: + +$> cd "$FREESTYLE_DIR"/src +$> qmake +$> make + +Note: The SWIG wrapper hasn't been included in the qmake build +cycle yet and thus has to be compiled separately, by hand: + +$> cd "$FREESTYLE_DIR"/src/swig +$> make + +And to run the app: + +$> build_bundle.macosx.py +$> cd "$FREESTYLE_DIR"/ +$> open Freestyle.App + + +* IRIX + +Not tested yet... diff --git a/source/blender/freestyle/misc/LICENSE.TXT b/source/blender/freestyle/misc/LICENSE.TXT new file mode 100755 index 00000000000..5b6e7c66c27 --- /dev/null +++ b/source/blender/freestyle/misc/LICENSE.TXT @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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 + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/source/blender/freestyle/misc/Makefile.pro b/source/blender/freestyle/misc/Makefile.pro new file mode 100755 index 00000000000..0e64bb342c3 --- /dev/null +++ b/source/blender/freestyle/misc/Makefile.pro @@ -0,0 +1,18 @@ +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +# W A R N I N G ! ! ! # +# a u t h o r i z e d p e r s o n a l o n l y # +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + +TEMPLATE = subdirs +SUBDIRS = system \ + image \ + geometry \ + scene_graph \ + winged_edge \ + view_map \ + stroke \ + rendering \ +# swig \ + app + + diff --git a/source/blender/freestyle/misc/README.TXT b/source/blender/freestyle/misc/README.TXT new file mode 100755 index 00000000000..b0d026c8b9b --- /dev/null +++ b/source/blender/freestyle/misc/README.TXT @@ -0,0 +1,51 @@ +Freestyle, a procedural line drawing system +http://freestyle.sourceforge.net + +INTRODUCTION +------------ +Freestyle is a software for Non-Photorealistic Line Drawing rendering +from 3D scenes. It is designed as a programmable interface to allow +maximum control over the style of the final drawing: the user +"programs" how the silhouettes and other feature lines from the 3D +model should be turned into stylized strokes using a set of +programmable operators dedicated to style description. This +programmable approach, inspired by the shading languages available in +photorealistic renderers such as Pixar's RenderMan, overcomes the +limitations of integrated software with access to a limited number of +parameters and permits the design of an infinite variety of rich and +complex styles. The system currently focuses on pure line drawing as a +first step. The style description language is Python augmented with +our set of operators. Freestyle was developed in the framework of a +research project dedicated to the study of stylized line drawing +rendering from 3D scenes. Details about this research can be found at: + +http://artis.imag.fr/Projects/Style + +This software is distributed under +the terms of the GPL License. + +INSTALL +------- +Please see the file INSTALL.TXT for instructions on installation. + +REQUIREMENTS +------------ +- OpenGL >= 1.2 +- libQGLViewer = 2.2.5-1 +- lib3ds = 1.2 +- Qt = 4.2.3 +- SWIG = 1.3.31 +- Python = 2.5 + +For Linux and MacOSX: +- g++ = 4.0 or 4.1 + +For Windows: +- Visual Studio = 2003 or 2005 + +CONTACTING THE AUTHORS +---------------------- +See the AUTHORS.TXT file for contact information. + +Thank you for your interest in this project, we hope you enjoy using it. +--- diff --git a/source/blender/freestyle/misc/THANKS.TXT b/source/blender/freestyle/misc/THANKS.TXT new file mode 100755 index 00000000000..3147715a63f --- /dev/null +++ b/source/blender/freestyle/misc/THANKS.TXT @@ -0,0 +1,6 @@ +The following is an incomplete list of people that have contributed to this +project in some way or another, in no particular order... + +* Thomas Netter (lib3ds fix) +* Gilles Debunne, creator and maintainer of the great libQGLViewer. +* Mark Rose, for his work on the SWIG director feature, and his help. diff --git a/source/blender/freestyle/misc/TODO.TXT b/source/blender/freestyle/misc/TODO.TXT new file mode 100755 index 00000000000..2e24752e026 --- /dev/null +++ b/source/blender/freestyle/misc/TODO.TXT @@ -0,0 +1,9 @@ +sgrabli: +-------- + +* Update help and make it display correctly +* Recode the ViewMap building - the Y junctions are not detected for smooth objects right now. +* Check the strokes strippification code. It seems some parts are inverted. +* Fix the pbuffer so that ATI cards are supported + +* Merge Chain and Stroke classes (to Stroke) and improve the base of operators (select, chain, split, shade) consquently (also think about a way to easily specify the pipeline synchronization mode). diff --git a/source/blender/freestyle/misc/build_bundle.macosx.py b/source/blender/freestyle/misc/build_bundle.macosx.py new file mode 100755 index 00000000000..e97153f269c --- /dev/null +++ b/source/blender/freestyle/misc/build_bundle.macosx.py @@ -0,0 +1,183 @@ +#!/usr/bin/python + +import os,sys,string + +install_dependencies=["GLUT",\ + "QtCore", "QtGui", "QtXml", \ + "libQGLViewer", "FreestyleSystem", "FreestyleRendering",\ + "FreestyleImage","FreestyleGeometry", "FreestyleSceneGraph", "FreestyleWingedEdge",\ + "FreestyleViewMap", "FreestyleStroke"] + +if not("FREESTYLE_DIR" in os.environ): + print "FREESTYLE_DIR must be set to your Freestyle directory" + sys.exit() + +src_dir_path=os.environ['FREESTYLE_DIR'] +dest_dir_path=os.path.join(os.environ['FREESTYLE_DIR'], "freestyle.2.0.0-macosx-x86") +bundle_name="Freestyle.app" +bundle_path=os.path.join(dest_dir_path,bundle_name) +frameworks_path=os.path.join(bundle_path,"Contents/Frameworks") +exe_path=os.path.join(bundle_path, "Contents/MacOS") +original_lib_path=os.path.join(src_dir_path,"build/macosx/release/lib") +original_exe_path=os.path.join(src_dir_path,"build/macosx/release",bundle_name,"Contents/MacOS") + + + +# Builds a dictionary of dependencies for +# a given binary +# The table format is: +# "dependency name" "dependency path" +def buildDependenciesTable(binary_file, dep_table): + cmd="otool -L %s" % binary_file + #print cmd + #otool_output = os.system(cmd) + otool_output = os.popen(cmd).read().split('\n') + for dep_text in otool_output: + if (dep_text.count(":") == 0): + dep = dep_text.split(' ')[0].lstrip() + dep_base_name=os.path.basename(dep) + dep_table[dep_base_name] = dep + + +def fixPaths(dep_table): + for k,v in dep_table.items(): + if(k.count("Freestyle")): + dep_table[k] = os.path.join(src_dir_path, "build/macosx/release/lib",v) + if(k.count("QGLViewer")): + dep_table[k] = os.path.join("/usr/lib", v) + +def extractFrameworkBaseDir(framework_lib): + parts=framework_lib.split("/") + head="/" + tail="" + in_head=True + for p in parts: + if(in_head == True): + head=os.path.join(head,p) + else: + tail=os.path.join(tail,p) + if(p.count(".framework") != 0): + in_head=False + return (head,tail) + +def installDependencies(dep_table, install_dependencies, new_dep_table): + for k,v in dep_table.items(): + for d in install_dependencies: + if(k.count(d)!=0): + framework_dir_path=v + cp_option="" + head="" + tail="" + if(v.count("framework")): + (head,tail) = extractFrameworkBaseDir(v) + framework_dir_path=head + cp_option="-R" + lib_name=os.path.split(framework_dir_path)[1] + target=os.path.join(frameworks_path,lib_name) + # update new table + if(tail != ""): + new_dep_table[k] = os.path.join("@executable_path/../Frameworks",lib_name,tail) + else: + new_dep_table[k] = os.path.join("@executable_path/../Frameworks",lib_name) + if(os.path.exists(target) != True): + cmd = "cp %s %s %s" % (cp_option, framework_dir_path,frameworks_path) + print "Installing dependency:",lib_name + os.system(cmd) + +def updatePathsToDependencies(binary_file, install_dependencies, dep_table, new_dep_table): + # executable: + f_dep_table={} + buildDependenciesTable(binary_file,f_dep_table) + for k,v in f_dep_table.items(): + # is k in install_dependencies? + for ld in install_dependencies: + if(k.count(ld) != 0): + #print new_dep_table + cmd="install_name_tool -change %s %s %s" % (v,new_dep_table[k], binary_file) + os.system(cmd) + # check + cmd="otool -L %s" % binary_file + os.system(cmd) + +def cleanDir(dir, to_delete): + os.chdir(dir) + #print os.getcwd() + for d in os.listdir("."): + #print d + if(d == "Headers"): + cmd="rm -rf Headers" + to_delete.append(os.path.join(dir,d)) + #os.system(cmd) + elif(d.count("debug") != 0): + cmd="rm -rf %s"%(d) + #print cmd + to_delete.append(os.path.join(dir,d)) + #os.system(cmd) + elif(os.path.isdir(d) == True): + #print d + cleanDir(os.path.join(dir,d), to_delete) + #else: + # print d + os.chdir(os.path.join(dir,"..")) + #print os.getcwd() + + +# build bundle structure +if( os.path.exists(dest_dir_path) != True): + print "Creating directory",dest_dir_path + os.mkdir(dest_dir_path) + +if(os.path.exists(bundle_path) != True): + print "Creating the bundle structure", bundle_path + cmd = "cp -R %s %s" % (os.path.join(src_dir_path, "build/macosx/release/",bundle_name), bundle_path) + os.system(cmd) + os.mkdir(os.path.join(bundle_path,"Contents/Frameworks")) + + +dep_table = {} +new_dep_table = {} +# Executable +for f in os.listdir(original_exe_path): + if(f[0] == '.'): + continue + exe_file_path=os.path.join(original_exe_path, f) + buildDependenciesTable(exe_file_path, dep_table) + +# Frameworks +for f in os.listdir(original_lib_path): + if (f.count("framework") == 0): + continue + f_name=f.split('.')[0] + fwk_path=os.path.join(original_lib_path, "%s.framework" % f_name,f_name) + buildDependenciesTable(fwk_path, dep_table) + +# Fix ad-hoc paths +fixPaths(dep_table) + +# install dependent libs +installDependencies(dep_table, install_dependencies, new_dep_table) + +# update paths to installed dependencies +for f in os.listdir(exe_path): + if(f[0] == '.'): + continue + updatePathsToDependencies(os.path.join(exe_path,f), install_dependencies, dep_table, new_dep_table) + +# Frameworks +for f in os.listdir(frameworks_path): + if (f.count("framework") == 0): + continue + f_name=f.split('.')[0] + fwk_path=os.path.join(frameworks_path, "%s.framework" % f_name,f_name) + updatePathsToDependencies(fwk_path, install_dependencies, dep_table, new_dep_table) + + +# Clean-up +# Remove debug libs +print "Cleaning..." +to_delete=[] +cleanDir(bundle_path, to_delete) +for f in to_delete: + cmd = "rm -rf %s"%f + print cmd + os.system(cmd) diff --git a/source/blender/freestyle/misc/libconfig.pri b/source/blender/freestyle/misc/libconfig.pri new file mode 100755 index 00000000000..6fec8878694 --- /dev/null +++ b/source/blender/freestyle/misc/libconfig.pri @@ -0,0 +1,110 @@ +# This file should be viewed as a -*- mode: Makefile -*- + +contains( CONFIG, 3ds1.20 ) { + message ("Using 3ds 1.2.0 module") + linux-g++:INCLUDEPATH *= $(HOME)/INCLUDE/LINUX + linux-g++:LIBS *= -L$(HOME)/LIB/LINUX -l3ds + cygwin-g++:INCLUDEPATH *= /usr/lib/lib3ds-1.2.0 + cygwin-g++:LIBS *= -L/usr/lib/lib3ds-1.2.0/lib3ds -l3ds + mac:INCLUDEPATH *= /usr/local/include + mac:LIBS *= -l3ds + mac:QMAKE_LIBDIR *= /usr/local/lib + win32: INCLUDEPATH *= C:\include\lib3ds\1.2.0 + win32: QMAKE_LIBDIR *= C:\lib\lib3ds\1.2.0 + win32:debug: LIBS *= lib3ds-120sd.lib + win32:release: LIBS *= lib3ds-120s.lib +} + +contains( CONFIG, 3ds1.30 ) { + message ("Using 3ds 1.3.0 module") + linux-g++:INCLUDEPATH *= $(HOME)/INCLUDE/LINUX + linux-g++:LIBS *= -L$(HOME)/LIB/LINUX -l3ds + cygwin-g++:INCLUDEPATH *= /usr/lib/lib3ds-1.3.0 + cygwin-g++:LIBS *= -L/usr/lib/lib3ds-1.3.0/lib3ds -l3ds + mac:INCLUDEPATH *= /usr/local/include + mac:LIBS *= -l3ds + mac:QMAKE_LIBDIR *= /usr/local/lib + win32: INCLUDEPATH *= C:\include\lib3ds\1.3.0 + win32: QMAKE_LIBDIR *= C:\lib\lib3ds\1.3.0 + win32:debug: LIBS *= lib3ds-1_3d.lib + win32:release: LIBS *= lib3ds-1_3.lib +} + +contains( CONFIG, qglviewer ) { + message ("Using QGLViewer module") + CONFIG *= qt thread opengl glut + linux-g++:INCLUDEPATH *= $(HOME)/INCLUDE + linux-g++:LIBS *= -L$(HOME)/LIB/LINUX -lQGLViewer + cygwin-g++:LIBS *= -lQGLViewer + win32: INCLUDEPATH *= $(HOME)\INCLUDE + win32: QMAKE_LIBDIR *= $(HOME)\LIB + win32: LIBS *= QGLViewer.lib +} + +contains( CONFIG, python2.3) { + message ("Using python 2.3 module") + linux-g++:INCLUDEPATH *= /usr/include/python2.3 + linux-g++:LIBS *= -lpthread -lm -lutil + linux-g++:LIBS *= -L/usr/local/lib/ -lpython2.3 -L$(HOME)/LIB/LINUX + win32: INCLUDEPATH *= C:\python23\include + win32: QMAKE_LIBDIR *= C:\python23\libs + win32: LIBS *= python23.lib +} + +contains( CONFIG, python2.4) { + message ("Using python 2.4 module") + linux-g++:INCLUDEPATH *= /usr/include/python2.4 + linux-g++:LIBS *= -lpthread -lm -lutil + linux-g++:LIBS *= -L/usr/local/lib/ -lpython2.4 -L$(HOME)/LIB/LINUX + cygwin-g++:INCLUDEPATH *= /usr/include/python2.4 + cygwin-g++:LIBS *= -lpthread -lm -lutil + cygwin-g++:LIBS *= -L/usr/lib/python2.4/config -lpython2.4 + win32: INCLUDEPATH *= C:\python24\include + win32: QMAKE_LIBDIR *= C:\python24\libs + win32: LIBS *= python24.lib +} + +contains( CONFIG, python2.5) { + message ("Using python 2.5 module") + linux-g++:INCLUDEPATH *= /usr/include/python2.5 + linux-g++:LIBS *= -lpthread -lm -lutil + linux-g++:LIBS *= -L/usr/local/lib/ -lpython2.5 -L$(HOME)/LIB/LINUX + mac: INCLUDEPATH *= /usr/include/python2.5 + mac: LIBS *= -L/usr/lib/python2.5/config -lpython2.5 + cygwin-g++:INCLUDEPATH *= /usr/include/python2.5 + cygwin-g++:LIBS *= -lpthread -lm -lutil + cygwin-g++:LIBS *= -L/usr/lib/python2.5/config -lpython2.5 + win32: INCLUDEPATH *= C:\python25\include + win32: QMAKE_LIBDIR *= C:\python25\libs + win32: LIBS *= python25.lib +} + + +contains( CONFIG, glut) { + message ("Using glut module") + linux-g++:LIBS *= -lglut -lXi + cygwin-g++:LIBS *= -lglut -lXi + mac: LIBS *= -framework Glut + win32:INCLUDEPATH *= C:\include + win32: QMAKE_LIBDIR *= C:\lib\glut + win32: LIBS *= glut32.lib +} + +contains( CONFIG, qglviewer2 ) { + message ("Using QGLViewer module") + CONFIG *= qt thread opengl glut + linux-g++:INCLUDEPATH *= $(HOME)/INCLUDE + linux-g++:LIBS *= -L$(HOME)/LIB/LINUX -lQGLViewer + mac: LIBS *= -lQGLViewer + cygwin-g++:LIBS *= -lQGLViewer2 + win32: INCLUDEPATH *= C:\include\QGLViewer\2.2.5 + win32{ + release{ + QMAKE_LIBDIR *= C:\lib\QGLViewer\release + } + debug{ + QMAKE_LIBDIR *= C:\lib\QGLViewer\debug + } + } + win32: LIBS *= QGLViewer2.lib +} diff --git a/source/blender/freestyle/misc/makedsp.vcnet.debug.bat b/source/blender/freestyle/misc/makedsp.vcnet.debug.bat new file mode 100755 index 00000000000..e19ca52b4f7 --- /dev/null +++ b/source/blender/freestyle/misc/makedsp.vcnet.debug.bat @@ -0,0 +1,25 @@ +@echo off +for /D %%d in (*) do call :FOR2 %%d +rem cd .. +goto :EOF + +:FOR2 +set componentpath=%1 +set dirname=%~n1 +for %%p in (%componentpath%\*.pro) do if exist %%p call :DSP %%p + +goto :EOF + +:DSP +set drive=%~d1 +set filepath=%~p1 +cd %drive%%filepath% +rem echo %drive%%filepath% +set filename=%~n1 +echo creating %filename%_d.vcproj from %filename%.pro ... +if %filename% == app ( + qmake -t vcapp -win32 -o %filename%_d %filename%.pro +) else ( + qmake -t vclib -win32 -o %filename%_d %filename%.pro +) +cd.. diff --git a/source/blender/freestyle/misc/makedsp.vcnet.release.bat b/source/blender/freestyle/misc/makedsp.vcnet.release.bat new file mode 100755 index 00000000000..3050a2fe4ea --- /dev/null +++ b/source/blender/freestyle/misc/makedsp.vcnet.release.bat @@ -0,0 +1,25 @@ +@echo off +for /D %%d in (*) do call :FOR2 %%d +rem cd .. +goto :EOF + +:FOR2 +set componentpath=%1 +set dirname=%~n1 +for %%p in (%componentpath%\*.pro) do if exist %%p call :DSP %%p + +goto :EOF + +:DSP +set drive=%~d1 +set filepath=%~p1 +cd %drive%%filepath% +rem echo %drive%%filepath% +set filename=%~n1 +echo creating %filename%.vcproj from %filename%.pro ... +if %filename% == app ( + qmake -t vcapp -win32 -o %filename% %filename%.pro +) else ( + qmake -t vclib -win32 -o %filename% %filename%.pro +) +cd.. |