* libraries are now generated in [BUILD_DIR]/lib
* passed the user_options to all libraries now.
This means I could remove a couple of Export/Import lines.
* Changed the order in source/blender/src/SConscript and
source/gameengine/SConscript.
All libraries are now sorted alphabetically. This has no impact on the build
process.
- Fixed up the paths for "/lib/..." in csg.dsp
Quick note: Currently intern still builds the old lib (bsplib).
To compile the new lib (when everything is ready for it), uncheck
bsplib from the dependancies in build_install_all and replace with csg.
Will eventually drop bsplib completely - but not just yet :)
As mentioned earlier on bf-commiters mailing list, there is no current *nix make file only an msvc60 project file. I only have a linux box at work and to be honest I want to avoid doing any commits from there! So if some kind soul could sort it out that would be great.
Dependencies:
This code only depends on other stuff in the intern library, moto and memutils the CSG lib needs to have their include paths to compile. Other than that its completely self contained.
Acknowledgements:
To speed up the polygon-polygon intersection queries I've used some code (under the GPL) from freesolid2.0 this clearly marked in the appropriate files and Gino van den Bergen still owns the copyright to that material. The algorithm I used in based on one from Paul Nettle described on flipcode (www.flipcode.com) and I think his work was a derivative of the "Laidlaw algorithm"
There is also some basic 'ear clipping' triangulation code that unfortunately remains unatributable. I have no right to publish this code under the GPL nor BPL for that matter as I have no idea who the original authors are. Its just one of those random bits of internet code.
Warning!
The stuff used a lot of C++ template features, which on one hand makes it very generic but on the other means that some work will need to be done to get working with other compilters. The msvc60 compiler is not very compliant to the C++ standards with respect to templates so its very difficult to say if this code will compile out of the box on other platforms.
I still haven't committed modifications to booleanops.c in the blender code as without a working library to link to it will break the current build. This needs to be done first!
Improvements
This code is much simpler than the previous bsp implementation see intern/bsp and this old code should be deprectated/removed. However, whilst this implementation produces less triangles in the output than the bps algo, its still not an optimal solution. This is just hard to do and beyond my humble skills.
License:
Just to make it clear this stuff for the reasons mentioned above and for the fact I'm to mean to give the copyright away to BF is licensed under the GPL only.
Cheers,
Laurence.
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.
You'll need SCons (www.scons.org) to build.
Platforms currently working:
* Linux (me)
- options for quicktime, openal and international disabled
- uses the system libs and include files for building - no option to build
with the precompiled libraries yet.
* Windows (jesterKing)
- builds with quicktime (optional)
- builds with openal (optional)
- builds with international support (optional)
- Use the DOS box to build
- builds with precompiled libraries
* Irix (Hos)
- Uses default Irix compiler
- Not all optimization levels correct yet
- options for quicktime, openal and international disabled
- builds with precompiled libraries
* Cygwin (me)
- has a problem in the linking stage
- uses free build tools (gcc)
- options for quicktime, openal and international disabled
- uses the system libs and include files for building - no option to build
with the precompiled libraries yet.
* MacOS (sgefant)
- builds with quicktime (optional)
- options for openal and international disabled
- builds a nice bundle
- builds with precompiled libraries
Thanks to IanWill for a bugfix in the Linux build.
Note: This is a work in progress. A lot still has to be done - for example the
optional parts are only to be enabled by directly setting 'true' or
'false' in the SConstruct file. This needs to be moved to a user config
file. Also, the .o/.obj files are stored in the source tree. This needs
to be fixed as well.
The game engine is not yet built.
This function just calls another function which returns a success value, so I'm just passing that value directly as a return value.
Slap me with a trout if I wasn't suppose to fix this.
a gcc/cygwin built Blender from showing the Blender app icon in the
main window title bar.
Only a minor issue, but it annoyed me long enough to want to fix it!
well... probably OK, got it from a python mailing list.
When starting from commandline, the window doesnt pop to the front. this
was really bad for the play function in blender, which opens a new blender
thread.
solved with SetFrontProcess()
I've mailed Maarten to verify it, this commit is for test at other
OSX platforms.
- this was the baddie:
setDrawingContextType(GHOST_kDrawingContextTypeNone);
it was called in the window destructor, for each window closed.
I've hacked in a temporal global var to store the mainwindow. When this
line is only called for mainwindow, it all works smoothly.
- next commit is needed too!
(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
SoundSystem has been moved from source/gameengine to intern. This was needed
because functionality from SoundSystem was needed by
source/blender/src/editsound.c.
* Removed the option for the openal check in configure.ac. It's needed now by
SoundSystem
* Removed the functionality for checking if 'noaudio' was provied on the
commandline. Now audio is default on.
* this apple method to do it generates unwanted events, so it could not
be used for the menu mouse-move trick. this is #ifdeffed
* we should re-evaluate if this mousemove should remain in blender...
there are better ways (scrolling contents of pup)
* plus: removed warnings from drawview.c
the text below as comment:
adding a glFinish() here is to prevent Geforce in 'full scene antialias' mode
from antialising the Blender window. Officially a swapbuffers does a glFinish
itself, so this feels really like a hack... but it won't harm. (ton)
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
For some real idiot reason, osx only has the left-right arrow cursor builtin, and not an up-down arrowed one. The little hand cursor seems to be used in other apps, so let's stick with that!
-Ton-
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 wasn't sure maybe the two license files should be put in the root dir
instead....
I also reformated the bf-members.txt file a little to nuke extra spaces and
newlines (as well as updated my entry to include my name instead of just
sirdude... It looks like there are some special chars in it that someone
should fixup, not sure what they are suppose to be though)
Kent