Commit Graph

104 Commits

Author SHA1 Message Date
Chris Want
341f50c4f7 Makefile support for bullet2 ... please test 2006-11-22 19:05:35 +00:00
Erwin Coumans
3b91d4e30a Step 1 of Bullet 2.x upgrade:
Temporarily disabled game engine for scons and Makefiles (nan_definitions?), this to upgrade to Bullet 2.x

scons for Darwin, Linux, BSD3, SunOS5, Win32, and Makefiles should not compile game engine right now.
CMake and MSVC needs still disabling of game engine.
2006-11-21 00:14:58 +00:00
Matt Ebb
0597e17710 Tweaked the makefile build system to copy the new freedesktop icons
into an icons folder in the release package on linux, freebsd and openbsd
when doing 'make release'.
2006-11-14 04:29:04 +00:00
Kent Mein
ba63fdeb41 Fix for makefiles so it can find wintab headers in the libdir.
Kent
2006-11-06 16:58:28 +00:00
Jiri Hnidek
2ee42ac01e Huge commit: VERSE
- All code is in #ifdef ... #endif
 - Only make build system is supported and you have to add:
    export WITH_VERSE=true
   to user-def.mk file
 - Blender can share only mesh objects and bitmaps now
 - More informations can be found at wiki:
    http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlender
    http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlenderUserDoc

  I hope, that I didn't forget at anything
2006-08-20 15:22:56 +00:00
Kent Mein
454fceb5f5 Solaris was still using compress for make release.
Everyone else was using gzip.  On the latest downloads many of them
are using bzip2, (I think everyone using scons)
So I decided to update make release so that everyone is using
gzip2.  I don't mean to step on anyones toes, I know at least some of
the platform maintainers do not use make though so feel free to change
it back and or to something different for your platform.

While I was at it I also changed default path of OPENEXR to /usr on linux.
Was suggested on mailing list by Matt.
(I'm pretty sure the linux maintainer is using scons)

Kent
2006-08-03 10:48:20 +00:00
Brecht Van Lommel
4ee3515bf1 Brush Datablock:
- Added a new Brush datablock, only used by image paint, but intended
  to be used in texture paint, vertex paint, weight paint and sculpt
  mode also.
- Being a datablock, these brushes can be saved, appended and linked.
  They have a fake user by default, to make sure they are saved even if
  not selected.

Image Painting:

- Replaced the img module with C code in imagepaint.c
- Airbrush is no longer a separate tool, but rather an option that can
  be used for soften, smear and clone also.
- Blend modes mix, add, subtract, multiply, darken and lighten have been
  added, code taken directly from vertex paint.

Note to project files maintainers:

- The img module was removed from SCons and Makefiles, and this should
  be done in other build systems also. I'll wait to remove the module
  from cvs, to not break compilation.
2006-07-26 22:29:23 +00:00
Ton Roosendaal
1ce8f352bc Oops! Only OSX has the OpenEXR in cvs now, makefile did it for Linux too. 2006-07-10 16:01:47 +00:00
Ton Roosendaal
64ff9ae4a8 Mac intel commit
- patch from Douglas with endian fixes
- Makefile adds static libiconv.a from lib/
- this version will use OpenEXR libs from lib/ too, and is latest release
  with threading support
- openAL is missing, added it as default to not include it
2006-07-03 19:50:53 +00:00
Peter Schlaile
f0604cffb7 == FFMPEG ==
Made internal ffmpeg-libraries link by explicitly specifying the archive-files.
(Thanks GSR for pointing this out)

Otherwise, blender always links to the system-libs.
2006-06-26 09:18:30 +00:00
Peter Schlaile
63a1f2515e ==FFMPEG==
forgot to commit nan_definition changes
2006-06-25 19:02:38 +00:00
Chris Want
9a21866aec pthreads for Makefiles/cygwin (don't forget to update lib/windows). 2006-02-27 00:03:18 +00:00
Chris Want
462941aaf0 Support for ffmpeg for cygwin/gcc. Off by default, enable with
export WITH_FFMPEG=true
(and be sure to update lib/windows). Test, test, test.
2006-02-06 06:34:36 +00:00
Chris Want
b8988d8c19 Using NAN_FFMPEG_CFLAGS to find the right headers, and making linking
with NAN_FFMPEG_LIBS more general (i.e., not just for linux, and
moving some of the linux linking stuff to source/nan_definitions.mk).
2006-02-06 06:22:39 +00:00
Chris Want
cd4a6b669b To aid linking, I added NAN_USE_FFMPEG_CONFIG (true/false).
If "export NAN_USE_FFMPEG_CONFIG=true" is added to user-def.mk,
the system executes the ffmeg-config program to set values
for NAN_FFMPEG (--prefix), NAN_FFMPEGLIBS (--libs avcodec avformat),
and NAN_FFMPEGCFLAGS (--cflags). Only one used so far is the
NAN_FFMPEGLIBS for linking on linux (if requested to do so).
Current default is not to do this.
2006-02-06 01:49:33 +00:00
Peter Schlaile
bec1ab6f77 Added NAN_NO_FFMPEG user option 2006-02-06 00:10:43 +00:00
Jean-Luc Peurière
012a87eaa6 reverting default location for OpenEXR to the proper default
(the one in doc)
2006-02-05 21:16:55 +00:00
Peter Schlaile
250c9de1bc Adds ffmpeg-support on Linux-platforms. Since ffmpeg is installed
always statically (you have to force it to build a dynamic library) the
resulting binary is redistributable.

The code is made ffmpeg-version independent using #ifdef's.
2006-02-05 19:49:29 +00:00
Chris Want
c8b48e70e6 Final merge of HEAD (bf-blender) into the orange branch.
Here are my notes on things to look out for as potential problem
spots:

source/blender/blenkernel/intern/displist.c:
+ is initfastshade(void) supposed to be empty? I had
to make it empty to get the merged tree to compile.

source/blender/python/api2_2x/Armature.c:
+ went with the version that had Armature_getLayers()

source/blender/python/api2_2x/Object.c
+ went with the version of Object_getPose() from bf-blender.
(#ifdef 0-ed the other version)

source/blender/python/api2_2x/Pose.[ch]
+ had problems linking due to no Pose_Init() ... copied these
two files straight from bf-blender.

source/blender/src/drawview.c:
+ view3d_panel_properties() had things shifted a few things shifted
a few pixels, otherwise, things were painless

source/blender/src/splash.jpg.c:
+ went with bf-blender version (orange is dead)

source/gameengine:
+ went with bf-blender version -- does not compile due to IMB_rect* stuff,
Ton should look into this.
2006-01-28 16:35:18 +00:00
Jean-Luc Peurière
77c4eef90b after much suffering, got GE build and work almost cleanly on Os X
(with make, need to confirm with scons)

after cleaning the changes are in fact minimal, but the situation
is still quite a bit hackish.

Game engine coders, there is also quite a number of warnings that
need to be fixed.

current situation is that everything seems to work, but GLSL shaders
spew a lot of errors on console and blender may crash on exit when
a GLSL shader was used. ARB stuff works fine.
2006-01-16 22:27:30 +00:00
Erwin Coumans
0132ac9b8b re-enable game engine by default, for 2.41 preparation 2006-01-12 00:57:28 +00:00
Hans Lambermont
ce4dcda91a - override the temporary disabling of KETSJI and OPENAL for FreeBSD. 2006-01-11 21:11:07 +00:00
Chris Want
638b625d14 For windows, NAN_NO_KETSJI was always set to false (as a result of
some strange merging). Unfortunately, Bullet doesn't build correctly
for gcc under cygwin (some private vs public stuff), so it is
important to be able to disable the game engine in these circumstances.
2006-01-11 03:23:47 +00:00
Ton Roosendaal
e7285229b8 Tuesday merger of bf-blender into orange branch. 2006-01-10 22:10:14 +00:00
Chris Want
ca8da580a8 OpenEXR support for Windows Makefiles 2006-01-10 06:29:57 +00:00
Kent Mein
c693e01b8d Ton forgot a few modifications to the Scons and Makefile build systems.
These should make it so that other people can compile with OpenEXR support.

(I also added the OPENAL fix erwin commited to bf-blender since I
need it for my machine, and this syncs up the file)

Kent
2006-01-09 02:18:11 +00:00
Erwin Coumans
bed24bc299 more work to get armatures/blender materials to work under non-windows platforms 2006-01-07 00:14:37 +00:00
Erwin Coumans
0002cd63a5 disable game engine and gameplayer for all platforms except windows.
Then after cvs is unfrozen, development can continue.
2006-01-06 09:02:53 +00:00
Chris Burt
dfd22eb943 As discussed in meeting, fixed another missing Python symbol from
python.def and upped Python version to 2.4. This means that Cygwin/GCC will
now be building Python 2.4 binaries. Thanks all!
2005-11-27 15:36:21 +00:00
Jean-Luc Peurière
06a496254c nan definition for precompiled libtif 2005-11-23 01:13:50 +00:00
Kent Mein
00f266c651 This is a modified version of patch #2995
To enable dynamic tiff support.
I had to fix some of the logic in the fileselect box for icons,
I also expanded the patch to look in various default locations for
a dynamic libtiff.so/libtiff.dll
and look at the env variable BF_TIFF_LIB if it can't find it automatically.
If unable to load the library it prints a message about setting BF_TIFF_LIB
to the console.

I haven't been able to test it on a lot of platforms but hopefully it
will just work ;)  I added the files to scons but have not had a chance to
test that as well.

Kent
2005-11-22 18:50:03 +00:00
Alexander Ewering
8162961d31 My local tree has iblender's Game engine soundsystem
(which uses SDL_mixer), one thing in nan_definitions.mk slipped
through.

My apologies :)
2005-10-28 20:29:50 +00:00
Alexander Ewering
d3dd5c5b7a Somehow, most files are missing from this commit, and I have no idea why,
so there will be more files following.

Anyway: NEW BOOLEANS from Google Summer of Code (Courtesy of Marc Freixas)

Known problems:

 - Random freezes while using them as a modifier. This may not be directly
   related to modifiers though - it's maybe just the huge number of
   operations that leads to a higher probability of triggering a bug

 - Static booleans (the first 3 entries in the WKEY menu) are borked
   anyway, this is not due to this commit.

 - Errors when exiting Blender (dupli_alloc stuff), is not related to this
   commit, either.

Please test if everything works, and check the other build systems, I only
know that make works.

Also, compare the results of, say, cube-cylinder, in old and new booleans
:)
2005-10-28 19:54:16 +00:00
Jean-Luc Peurière
e2d577de9e initial commit of the fluid simulator.
Ton reviewed and gave his blessing.
Zr, can you have a look ?

see :
http://projects.blender.org/tracker/?func=detail&atid=127&aid=3039&group_id=9

for initial comments.

N_T : the solver itself (elbeem) needs some works to get rid of
warnings
2005-09-18 13:27:12 +00:00
Ton Roosendaal
08d52f781d Made sure makefiles use by default the lib/ libraries for OSX. It was
still pointing at /sw (fink stuff)
2005-09-15 20:25:44 +00:00
Chris Want
4a50f5b593 Support for 'Bullet' in the Makefiles. Enable with:
export NAN_USE_BULLET=true

in environment, or in user-def.mk
2005-08-18 06:07:02 +00:00
Ton Roosendaal
d956c62044 Reverted accidental change in compiling Python for OSX. Now it is default
again to use the Framework library.
2005-07-06 07:01:27 +00:00
Chris Want
d50b2c0ff8 Make WITH_FREETYPE2 and INTERNATIONAL set to true by default when
building under linux (set to false in user-def.mk if you don't
want them).
2005-07-05 19:04:52 +00:00
Ton Roosendaal
28a1e8277b Result of 2 weeks of quiet coding work in Greece :)
Aim was to get a total refresh of the animation system. This
is needed because;
- we need to upgrade it with 21st century features
- current code is spaghetti/hack combo, and hides good design
- it should become lag-free with using dependency graphs

A full log, with complete code API/structure/design explanation
will follow, that's a load of work... so here below the list with
hot changes;

- The entire object update system (matrices, geometry) is now
  centralized. Calls to where_is_object and makeDispList are
  forbidden, instead we tag objects 'changed' and let the
  depgraph code sort it out
- Removed all old "Ika" code
- Depgraph is aware of all relationships, including meta balls,
  constraints, bevelcurve, and so on.
- Made depgraph aware of relation types and layers, to do smart
  flushing of 'changed' events. Nothing gets calculated too often!
- Transform uses depgraph to detect changes
- On frame-advance, depgraph flushes animated changes

Armatures;

Almost all armature related code has been fully built from scratch.
It now reveils the original design much better, with a very clean
implementation, lag free without even calculating each Bone more than
once. Result is quite a speedup yes!

Important to note is;

1) Armature is data containing the 'rest position'
2) Pose is the changes of rest position, and always on object level.
   That way more Objects can use same Pose. Also constraints are in Pose
3) Actions only contain the Ipos to change values in Poses.

- Bones draw unrotated now
- Drawing bones speedup enormously (10-20 times)
- Bone selecting in EditMode, selection state is saved for PoseMode,
  and vice-versa
- Undo in editmode
- Bone renaming does vertexgroups, constraints, posechannels, actions,
  for all users of Armature in entire file
- Added Bone renaming in NKey panel
- Nkey PoseMode shows eulers now
- EditMode and PoseMode now have 'active' bone too (last clicked)
- Parenting in EditMode' CTRL+P, ALT+P, with nice options!
- Pose is added in Outliner now, with showing that constraints are in
  the Pose, not Armature
- Disconnected IK solving from constraints. It's a separate phase now,
  on top of the full Pose calculations
- Pose itself has a dependency graph too, so evaluation order is lag free.

TODO NOW;

- Rotating in Posemode has incorrect inverse transform (Martin will fix)
- Python Bone/Armature/Pose API disabled... needs full recode too
  (wait for my doc!)
- Game engine will need upgrade too
- Depgraph code needs revision, cleanup, can be much faster!
  (But, compliments for Jean-Luc, it works like a charm!)
- IK changed, it now doesnt use previous position to advance to next
  position anymore. That system looks nice (no flips) but is not well
  suited for NLA and background render.

TODO LATER;

We now can do loadsa new nifty features as well; like:

- Kill PoseMode (can be option for armatures itself)
- Make B-Bones (Bezier, Bspline, like for spines)
- Move all silly button level edit to 3d window (like CTRL+I = add
  IK)
- Much better & informative drawing
- Fix action/nla editors
- Put all ipos in Actions (object, mesh key, lamp color)
- Add hooks
- Null bones
- Much more advanced constraints...


Bugfixes;

- OGL render (view3d header) had wrong first frame on anim render
- Ipo 'recording' mode had wrong playback speed
- Vertex-key mode now sticks to show 'active key', until frame change

-Ton-
2005-07-03 17:35:38 +00:00
Ton Roosendaal
205b6501a0 (Accidentally sent previous commit without message... is same stuff)
gcc4 error fixes for compiling in OSX Tiger

Also; make using python framework default in makefiles
2005-06-08 18:55:49 +00:00
Chris Want
413677caff Moved sinclude for user-def.mk 2005-04-30 21:06:54 +00:00
Chris Want
96430458a6 Support for SGI Prism:
* set python version to 2.2;
* set link flags for ia64 linux to the same as i386, alpha.

Thanks to Wayne Vieira for this!
2005-04-05 14:33:43 +00:00
Kent Mein
ecf6de151c This commit reverses the OpenEXR specific stuff in the OpenEXR commit I
did last friday.  A patch will be available in the patches tracker
that will have the current stuff there until everything is working.

Kent
2005-03-14 14:56:40 +00:00
Kent Mein
a1919e6db4 Gernot Ziegler's patch to add OpenEXR support to blender.
To enable it you will need to download OpenEXR and install it.
For the Makefiles you will need to set WITH_OPENEXR=true
and set NAN_OPENEXR to point to where OpenEXR is installed.

For scons you'll need to remove config.opts to get the new options
so you can enable OpenEXR, I was not able to get blender to link
with scons so the scons stuff may need to be tweaked a little but
I think it should work.

For other platform managers  The OpenEXR stuff is similar to QUICKTIME
you need to define WITH_OPENEXR and setup the library stuff and
as you'll notice in this commit there are two extra files.

Kent
2005-03-11 20:16:14 +00:00
Jean-Luc Peurière
d0aa7eac41 support for new SDL build in makefiles and scons for Os X 2005-02-02 22:13:23 +00:00
Ton Roosendaal
8712c7dab4 Essential cleanup for mess involved with reading files, initializing UI and
patching versions for UI settings.

Currently four different levels of routines for .blend file reading exist;

/* interface level */
1) BIF_init() -> calls 3
2) BIF_read_file() -> calls 11, optional 4
3) BIF_read_homefile() -> calls 11 or 12, and then 4
4) init_userdef_file()

/* kernel level */
11) BKE_read_file() -> calls 21, and then 14
12) BKE_read_file_from_memory() -> calls 22, and then 14
13) BKE_read_file_from_memfile() -> calls 23, and then 14
14) setup_app_data()

/* loader module level */
21) BLO_read_from_file() -> calls 24
22) BLO_read_from_memory() -> calls 24
23) BLO_read_from_memfile() -> calls 24

/* loader module, internal */
24) blo_read_file_internal()


Note:
- BIF_read_homefile() has additional UI initialize calls, like windows fullscreen and executing commandline options

- Reading from memory (12) only happens for the compiled-in .B.blend

- The "memfile" here is a name I gave to the undo "file" structure. Which is constructed out of memory chunks with basic compression features.

- the kernel function setup_app_data() sets globals like "current screen" and "current scene".

So far, so good. The levels as mentioned here clearly distinguish UI from kernel, and should enable for example game loading (runtime) or background (no UI) loading. In the past years however, 'bad level' dependencies were added, and especially the patches for 'file versions' were added in too many places. The latter is evidently a result of the problem that the "UserDef" struct cannot be initialized/patched if there's not a need for a UI.

Here's how the flow goes in four different cases:

----- Starting up Blender, in foreground with UI --------------------

- creator/creator.c, main() -> calls 1
- If the commandline contains a filename, it calls 11

----- Starting up Blender, in background without UI --------------------

- creator/creator.c, main() -> calls 11 if the commandline has a filename

Note: no Userdef is read, nor initialized. Please note that this was already an existing problem for using Yafray, not setting proper file paths in background mode. The Yafray paths don't belong in the User menu.

----- Starting up Blender as a runtime executable --------------------

This only has calls to 22

----- Loading a file from within the UI (with F1, CTRL+O, using pulldowns) -----

Only calls allowed to 2. It detects if a UserDef has been read too, and in that case the init_userdef_file() will be executed.

Hope this is understandable :)

-Ton-
2004-12-08 14:12:47 +00:00
Ton Roosendaal
4226715fc0 Update make system for darwin;
- using python framework (default on, set it off with define in
  definitions.mk)
- not installing .bfont.tff
2004-11-14 13:44:47 +00:00
Brecht Van Lommel
4f1c674ee0 Added SuperLU 3.0:
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.
2004-07-13 11:42:13 +00:00
Kent Mein
53e1b83f1e updated NAN_PYTHON_VERSION to 2.3 for all platforms...
Solaris and a bunch of the others were out of date....

I guess we should change them back for platforms that don't work out
with 2.3 but I'm guessing that things will get updated better this way
then asking everyone to update their own platforms.

Kent
2004-06-08 15:47:19 +00:00
Chris Want
79f3e88021 Build blender with solid-based gameengine on irix using pre-compiled
libs. I turned off the automatic building of solid in extern/ for
irix since the vendor supplied build system does not work well.

Note to JW: this can be built with either mipspro 7.3 or 7.4
(I needed to archive solid with "CC -ar ..." for this to work
with 7.3).
2004-05-04 04:55:24 +00:00