Doing it the Kester way, but in a way that it actually compiles and links
for non-Kester people. >=P
(translation: FREE_WINDOWS now builds the stuff in extern and overwrites
the pre-compiled solid libs).
http://crd.lbl.gov/~xiaoye/SuperLU/
This is a library to solve sparse matrix systems (type A*x=B). It is able
to solve large systems very FAST. Only the necessary parts of the library
are included to limit file size and compilation time. This means the example
files, fortran interface, test files, matlab interface, cblas library,
complex number part and build system have been left out. All (gcc) warnings
have been fixed too.
This library will be used for LSCM UV unwrapping. With this library, LSCM
unwrapping can be calculated in a split second, making the unwrapping proces
much more interactive.
Added OpenNL (Open Numerical Libary):
http://www.loria.fr/~levy/OpenNL/
OpenNL is a library to easily construct and solve sparse linear systems. We
use a stripped down version, as an interface to SuperLU.
This library was kindly given to use by Bruno Levy.
the directories decrypt, deflate, encrypt, inflate, readstreamglue,
sign, writeblenfile and writestreamglue.
Sirdude was so kind to modify the makefiles, so SCons and
Make are ready to build with the new Blender.
Visual Studio workspaces, solutions and projectfiles still need
to be updated (I'll do the .vcprojs and .sln myself after this commit).
Runtimes created with the Blender Publisher are not anymore
recognised - if you want these available, you'll have to convert
them first to .blends with the Publisher.
as there is a conflict between openal and sdl (when compiled with cdrom
support), i had to disable support for cd playing using sdl on os x
for the time being.
or whatever):
NAN_NO_KETSJI: when set to true, disables compilation of the game engine.
NAN_JUST_BLENDERDYNAMIC: when set to true, only dynamic executable is
build (i.e., no plugin, etc).
Note that NAN_NO_KETSJI implies NAN_JUST_BLENDERDYNAMIC.
* In a previous commit, the following targets on Linux were commented out:
- plugin
- xplink
- blenderstatic
- blenderplayer
This commit uncommented those targets again.
Materials are exported the best we can do by now. It will look almost as in
blender except for the missing procedural textures and some minor issues.
You have to tweak normal modulation amount to get the desired result cause
is not the same in yafray.
We added a panel in render space to adjust some yafray settings (GI and so)
Also we export transparency and reflection using new raytracing settings,
but that will be changed and improved soon.
Remember that you have to set YFexport path in user defaults and yafray must
be on path (version 0.0.6)
We added the "yafray" button to activate all this stuff in the render window.
Panel and settings are only shown when checked.
So now when activated the code calls yafray export instead of the internal
renderer and finally the resulting image is loaded back into render window's
buffer. So animation is also possible and results can be saved using blender
usual scheme.
extern/ode/dist/ode/test/test_ode.cpp:
- Don't include <ieeefp.h> on sparc linux, it doesn't exist.
extern/ode/Makefile:
- While hacking on ode, get rid of that annoying infinite rebuild
source/Makefile:
- Define a default BINTARGETS (just blenderdynamic) for linux, individual archs
can override/add to that if they so please
source/nan_link.nmk:
- Add a sparc64 arch target to the linux section of nan_link.mk, using the same
options as powerpc
After the first ode problem, the build completed all but the linking of a
blender binary, because there wasn't any target defined!
On the rebuilding: The usersettings would have a newer date than targets
depending on it, so it would rebuild entirely. I haven't really fixed this, but
isolated it to the platforms where usersettings need to be moved around (darwin
and windows). FBSD patches the usersettings, so it might still happen there. I
didn't bother with a proper fix, as it looks like we're moving to scons soon.
I'm amazed no one got annoyed enough before to take care of this.
- the link order for Blender has changed, the libradiosity.a has to be moved after the librender.a (obviously for a new dependency!). Check blender/source/Makefile
- there's a new file: blender/source/radiosity/intern/source/radrender.c
Here's what the new code does:
Using the core routines of the Radiosity tool, each renderface with 'emit material' and each renderface with 'radio material flag' set will be used to itterate to a global illumination solution. Per face with high energy (emit) little images are rendered (hemicubes) which makes up lookup tables to 'shoot' its energy to other faces.
In the end this energy - color - then is directly added to the pixel colors while rendering, Gouraud shaded.
Since it's done with renderfaces, it works for all primitives in Blender.
What is doesn't do yet:
- take into account textured color of faces. Currently it uses the material RGB color for filtering distributed energy.
- do some smart pre-subdividing. I don't know yet if this is useful... Right now it means that you'll have to balance the models yourself, to deliver small faces where you want a high accuracy for shadowing.
- unified render (is at my todo list)
User notes:
- per Material you want to have included in radiosity render: set the 'radio' flag. For newly added Materials it is ON by default now.
- the Ambient slider in Material controls the amount of radiosity color.
- for enabling radiosity rendering, set the F10 "Radio" button.
- the Radiosity buttons now only show the relevant radiosity rendering options. Pressing "collect meshes" will show all buttons again.
- for meshes, the faces who use Radio material always call the 'autosmooth' routine, this to make sure sharp angles (like corners in a room) do not have shared vertices. For some smooth models (like the raptor example) you might increase the standard smoothing angle from 30 to 45 degree.
Technical notes:
- I had to expand the renderface and rendervertices for it... shame on me! Faces have one pointer extra, render vertices four floats...
- The size of the hemicubes is now based at the boundbox of the entire scene (0.002 of it). This should be more reliable... to be done
- I fixed a bug in radiosity render, where sometimes backfaces where lit
In general:
I'd like everyone to play a bit with this system. It's not easy to get good results with it. A simple "hit and go" isn't there... maybe some good suggestions?
Fixes build problems where (for example) plugin was to be made before the real
blender targets, and the entire build failed because of this missing directory.
It used to be so that nan_subdirs.mk made the output directory, but that relies
on DIR being correctly set, which is no longer the case.
* moved references to libSDL out of ifeq($(INTERNATIONAL), true) (win32)
and ifeq($(WITH_FREETYPE2),true) (irix) conditionals in source/Makefile
* look for sdl in $(LCGDIR)/sdl if sdl-config isn't found
thanks to LarstiQ for doing most of the work
all platforms. Please test on non-linux/non-irix.
- Changed another libsoundsystem.a to libSoundSystem.a.
- Removed comments refering to fmod (I assume it's not coming back ever)
(seems half of the references were one way, the other half were
the other way). Also made irix link to $(OCGDIR)/intern/*SoundSystem/*
instead of $(OCGDIR)/gameengine/*SoundSystem/*
I need to get openal working on my machine before I can test it so
if it doesn't work feel free to fix it. Hopefully this will be
the majority of the stuff though.
Kent
Removes ssl from blender.
makes the following directorys not needed anymore:
blender/intern/keymaker
blender/source/blender/src/pub
blender/source/blender/encrypt
blender/source/blender/decrypt
blender/source/blender/sign
blender/source/blender/verify
It works with The Nan Makefiles and autoconf, could whoever is working
on the other build systems update them so we can nuke those directorys?
They won't do anything but I figured I'd leave them in for a week or so
to make things easyer on people.
Kent
Florian Eggenburger).
Full instructions are in doc/README.windows-gcc.
Main differences from Florian's patch:
- the 'lib' dir should now be the same level as the 'blender' dir (rather
than being a subdir of 'blender'). This is consistent with the other
platforms that bf-blender supports (tuhopuu will also adopt this convention
hopefully soon).
- the script 'free_windows-env.mk' is no longer needed ... see the
docs about how this is overcome (again, tuhopuu will hopefully
also follow this route soon).
- the dlltool dir has it's own Makefile that builds all of the
needed stub libraries from the dll's in cvs.
I've modified things so it nolonger uses the stuff in
blender/source/blender/verify
This should be working for both the old Makefiles and the autoconf stuff.
People working with other build systems please update them,
both blender/source/blender/verify and sign will be going away soon.
(Next step is to get rid of blender/intern/keymaker)
Kent
I removed the source/blender/sign dir from both autoconf and the
old makefiles.
If someone could update the projectfiles and the other build systems
then we can nuke that directory.
Kent
#include <QuickTime/Movies.h> instead of #include <Movies.h> on OS X to
avoid having to specify the full path to the QT headers in the Makefiles
#undef NDEBUG on OS X to avoid errors about ID being declared twice
enable support for QuickTime in the original Makefiles on OS X
same thing:
Added the xpcom include and added a flag to use mozilla vs netscape.
Which basically adds some ifdefs to
_Blender3DPlugin_implementation_.cpp
Basically I modified the nan_definitions.mk in the following way
(You'll need to update yours don't forget) ;)
Also updated the makefiles to use the new vars and flushed them out
so they first include whatever nspr is set to and then look in
NAN_MOZILLA_INC
I wasn't sure what the NAN_MOZILLA_INC and _LIB defaults should be
since were assuming they point to a netscape dir by default (or maybe
old mozilla???)
maybe they should be
export NAN_MOZILLA_INC ?= $(LCGDIR)/netscape/include
export NAN_MOZILLA_LIB ?= $(LCGDIR)/netscape/lib/
instead...
Anyone have any opinions on the defaults?
Kent
--
mein@cs.umn.edu
Index: nan_definitions.mk
===================================================================
RCS file: /cvs01/blender/source/nan_definitions.mk,v
retrieving revision 1.8
diff -u -r1.8 nan_definitions.mk
--- nan_definitions.mk 2002/12/19 21:12:58 1.8
+++ nan_definitions.mk 2002/12/20 19:28:51
@@ -75,7 +75,13 @@
export NAN_TEST_VERBOSITY ?= 1
export NAN_ZLIB ?= $(LCGDIR)/zlib
export NAN_BMFONT ?= $(LCGDIR)/bmfont
- export NAN_MOZILLA ?= $(LCGDIR)/mozilla
+ # Uncomment the following line to use Mozilla inplace of netscape
+ # CPPFLAGS +=-DMOZ_NOT_NET
+ # Location of MOZILLA/Netscape header files...
+ export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
+ export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
+ # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
+ # if this is not set.
export NAN_NSPR ?= $(LCGDIR)/nspr
some linking stuff that was in libmoto.a so I added a libmoto after it
in the link lines.
Hans got a better way to do this? :)
Kent
Here is the diff:
RCS file: /cvs01/blender/source/Makefile,v
retrieving revision 1.12
diff -u -r1.12 Makefile
--- Makefile 2002/11/13 16:09:38 1.12
+++ Makefile 2002/12/13 20:28:13
@@ -165,6 +165,7 @@
COMLIB += $(NAN_PNG)/lib/libpng.a
BCLIB = $(NAN_IKSOLVER)/lib/libiksolver.a
+ BCLIB += $(NAN_MOTO)/lib/libmoto.a
BCLIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
BCLIB += $(OCGDIR)/blender/readstreamglue/$(DEBUG_DIR)libreadstreamglue.a
BCLIB += $(OCGDIR)/blender/writestreamglueSTUB/$(DEBUG_DIR)libwritestreamglueSTUB.a
@@ -174,6 +175,7 @@
BCLIB += $(OCGDIR)/blender/src/$(DEBUG_DIR)libsrccreator.a
PULIB = $(NAN_IKSOLVER)/lib/libiksolver.a
+ PULIB += $(NAN_MOTO)/lib/libmoto.a
PULIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
PULIB += $(OCGDIR)/blender/readstreamglue/$(DEBUG_DIR)libreadstreamglue.a
PULIB += $(OCGDIR)/blender/writestreamglue/$(DEBUG_DIR)libwritestreamglue.a
I also moved it so that it gets put in:
$(OCGDIR)/blender/bpython/$(DEBUG_DIR)libfrozen.a
and removed the stuff from the readme on how to do it by hand.
(I made one other small change and that was to comment
out the ssr target on solaris and freebsd in source/Makefile
I forgot to commit it yesterday)
Kent
--
mein@cs.umn.edu