Commit Graph

98 Commits

Author SHA1 Message Date
Chris Want
9a21866aec pthreads for Makefiles/cygwin (don't forget to update lib/windows). 2006-02-27 00:03:18 +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
Ton Roosendaal
042d612df2 Giant commit!
A full detailed description of this will be done later... is several days
of work. Here's a summary:

Render:
- Full cleanup of render code, removing *all* globals and bad level calls
  all over blender. Render module is now not called abusive anymore
- API-fied calls to rendering
- Full recode of internal render pipeline. Is now rendering tiles by
  default, prepared for much smarter 'bucket' render later.
- Each thread now can render a full part
- Renders were tested with 4 threads, goes fine, apart from some lookup
  tables in softshadow and AO still
- Rendering is prepared to do multiple layers and passes
- No single 32 bits trick in render code anymore, all 100% floats now.

Writing images/movies
- moved writing images to blender kernel (bye bye 'schrijfplaatje'!)
- made a new Movie handle system, also in kernel. This will enable much
  easier use of movies in Blender

PreviewRender:
- Using new render API, previewrender (in buttons) now uses regular render
  code to generate images.
- new datafile 'preview.blend.c' has the preview scenes in it
- previews get rendered in exact displayed size (1 pixel = 1 pixel)

3D Preview render
- new; press Pkey in 3d window, for a panel that continuously renders
  (pkey is for games, i know... but we dont do that in orange now!)
- this render works nearly identical to buttons-preview render, so it stops
  rendering on any event (mouse, keyboard, etc)
- on moving/scaling the panel, the render code doesn't recreate all geometry
- same for shifting/panning view
- all other operations (now) regenerate the full render database still.
- this is WIP... but big fun, especially for simple scenes!

Compositor
- Using same node system as now in use for shaders, you can composit images
- works pretty straightforward... needs much more options/tools and integration
  with rendering still
- is not threaded yet, nor is so smart to only recalculate changes... will be
  done soon!
- the "Render Result" node will get all layers/passes as output sockets
- The "Output" node renders to a builtin image, which you can view in the Image
  window. (yes, output nodes to render-result, and to files, is on the list!)

The Bad News
- "Unified Render" is removed. It might come back in some stage, but this
  system should be built from scratch. I can't really understand this code...
  I expect it is not much needed, especially with advanced layer/passes
  control
- Panorama render, Field render, Motion blur, is not coded yet... (I had to
  recode every single feature in render, so...!)
- Lens Flare is also not back... needs total revision, might become composit
  effect though (using zbuffer for visibility)
- Part render is gone! (well, thats obvious, its default now).
- The render window is only restored with limited functionality... I am going
  to check first the option to render to a Image window, so Blender can become
  a true single-window application. :)
  For example, the 'Spare render buffer' (jkey) doesnt work.
- Render with border, now default creates a smaller image
- No zbuffers are written yet... on the todo!
- Scons files and MSVC will need work to get compiling again

OK... thats what I can quickly recall. Now go compiling!
2006-01-23 22:05:47 +00:00
Hans Lambermont
21733dccc9 - sanitize spacings and tabs a bit. It's still not completely clean though. 2006-01-11 20:25:04 +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
2e6d576182 Sorry to break the cvs-closed status, so if you really need to make a new 2.40 build, just disable the game engine if it doesn't compile for a platform. Again, sorry if this breaks non-windows platforms, but I hope people help to get this amazing fix working for all platforms. Armature-fixing contribution from Snailrose. Also lots of cool things from Snailrose and Lagan.
Armatures are back
Split screen
Double sided lightning
Ambient lighting
Alpha test
Material IPO support (one per object atm)
Blender materials
GLSL shaders - Python access
Up to three texture samplers from the material panel ( 2D & Cube map )
Python access to a second set of uv coordinates

See http://www.elysiun.com/forum/viewtopic.php?t=58057
2006-01-06 03:46:54 +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
Erwin Coumans
745fc2f9d0 updated SConstruct and Makefile so that if you compile the gameengine, is always enables bullet, independent of sumo/ode.
So for the 2.4 release, both bullet AND sumo will be enabled. You can choose in the world buttons which physics engine is active for a scene.

sorry if this breaks your builds!
2005-10-23 17:55:19 +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
Chris Want
d6b4392710 On windows/gcc (aka. FREE_WINDOWS), build the blenderplayer whenever
blender is configured to build with the gameengine.
2005-08-23 01:31:11 +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
Daniel Dunbar
a8ae1c64f4 - move libdecimation in link order to keep gnu ld happy 2005-07-26 07:15:17 +00:00
Stefan Gartner
ae2acbf49b late night commit:
* build blenderplayer on linux/ppc
* fix 'make clean' for darwin
2005-05-22 01:21:01 +00:00
Chris Want
413677caff Moved sinclude for user-def.mk 2005-04-30 21:06:54 +00:00
Chris Want
ec52d4a0d3 Allow make to find user-def.mk even when compiling in subdirectories
using the 'mke' trick.
2005-04-30 17:33:20 +00:00
Chris Burt
3dd17cec3b Commented out some old cruft in the Makefile which seemed to be unrelated
to the Cygwin platform. This produced some silly error message about files
which haven't existed in the CVS repository for many months now. I can
remember seeing this message for at least a year and since it has *never*
changed I decided to investigate. Looks like unmaintained part of the
build system that nobody pays attention to but just in case I've left it
in tact with the following comment:

This code below seems outdated and doesn't even seem to apply to the
Windows platform. I've commented it out until someone can take a look at it
and confirm or deny. If it breaks anything blame Chris Burt / Desoto

Hopefully that's clear enough, but I really think this is a trivial change
and if after review nobody minds I'll simply erase the offending code.
2005-03-25 04:25:54 +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
Kent Mein
1b1ff7ea92 Fixed the Makefiles so the Joystick stuff works.
Kent
2005-01-24 16:16:50 +00:00
Kent Mein
405c2676ca Had to add a circular dependancy fix for debugging version of blenderplayer
on linux:
I added this after the yafray library.
 COMLIB += $(OCGDIR)/blender/blenlib/$(DEBUG_DIR)libblenlib.a


Kent
2005-01-05 17:32:15 +00:00
Ton Roosendaal
add697407a Bug fix #1995
Unpacking a file with packed sounds didn't save the samples... was due
to *very* weird method samples were put in Blender.
2004-12-09 13:46:38 +00:00
Kent Mein
175491deb4 I had to change a bit of the stuff I added to get solaris openal working.
I also removed a redundant bit of config stuff for freebsd
that didn't do anything.

Kent
2004-12-09 13:13:24 +00:00
Kent Mein
80b25309b1 This commit makes it so openal finally works on solaris.
Kent
2004-12-08 14:58:40 +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
Stefan Gartner
772b66d79f build on Linux/x86_64 2004-11-03 14:45:52 +00:00
Chris Want
95b9534d2b We don't use ODE anymore, so I commented out some lines that make it
required to build.
2004-08-26 22:42:44 +00:00
Chris Want
6883efe712 windows-gcc vs. solid, round 2
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).
2004-07-19 02:43:07 +00:00
Chris Want
98b86b55fa This makes the windows-gcc build finish (only link to libsolid.a)
... might not be the best way, but it works.
2004-07-18 18:42:36 +00:00
Kester Maddock
a57cd82e9f Remove all the autoconf stuff for QHull & SOLID and use the Makefiles.
This should make building Solid & Qhull much more reliable.
2004-07-17 02:44:24 +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
Nathan Letwory
39a8c014c4 This commit removes the glue from Blender, and with it
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.
2004-04-16 15:55:16 +00:00
Stefan Gartner
837da93f19 enable openal support for os x and linux-powerpc
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.
2004-04-14 13:00:36 +00:00
Chris Want
05707df10c Making the SDL CD stuff link right. 2004-04-04 15:33:18 +00:00
Chris Want
2cd00774cd Makefile support for solid -- assumes solid and qhull are in the lib
dir, i.e., ../lib/your_platform/{solid|qhull}.
2004-03-28 21:56:00 +00:00
Chris Want
5b90aafbd6 Added 2 options to the Makefiles (enable in environment, user-def.mk,
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.
2004-03-21 19:59:51 +00:00
Michel Selten
d705e90841 Makefile update
* In a previous commit, the following targets on Linux were commented out:
  - plugin
  - xplink
  - blenderstatic
  - blenderplayer
  This commit uncommented those targets again.
2004-01-28 19:05:52 +00:00
Kent Mein
a017282b62 Tweaks to get yafray stuff working with Makefiles
Kent
2004-01-05 17:42:07 +00:00
Wouter van Heyst
57a7dfe5a5 - Revert to NaN makefiles 2004-01-05 00:06:11 +00:00
Alejandro Conty Estevez
eff07b8329 Basic initial yafray integration by Eeshlo.
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.
2004-01-04 22:10:36 +00:00
Wouter van Heyst
f56eb94bab Work done to build blender on Linux [sparc64].
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.
2004-01-01 23:19:08 +00:00
Robert Wenzlaff
85ae21d5dd Commit of cursor framework. Cursors now defined in source/blender/src/cursors.c and
source/blender/include/BIF_cursors.h.  Allows large cursors on Win32 and X11.
See cursors.c for documentatioin on how to use.
2003-12-26 20:12:42 +00:00
Ton Roosendaal
470b5c0366 So, for the platform managers to check:
- 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?
2003-08-31 20:33:46 +00:00
Chris Want
d58a5fa269 Added the variable NAN_NO_OPENAL to force building without
openal. Set NAN_NO_OPENAL to true for this behavior.
Also removed a comment about EXPYTHON, which is obsolete.
2003-07-27 17:09:19 +00:00
Wouter van Heyst
d2fe1ea50a - Make the output bin/ directory for every target that needs it.
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.
2003-07-21 20:09:36 +00:00
Stefan Gartner
90f325ea6e some sdl related stuff:
* 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
2003-07-18 10:11:40 +00:00
Chris Want
e7d35b40b0 - Made references to SoundSystem look in intern instead of gameengine for
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)
2003-07-17 03:36:25 +00:00
Chris Want
ae512b137c Changed some occurances of the lib 'soundsystem' to 'SoundSystem'
(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/*
2003-07-17 02:36:56 +00:00
Chris Want
0fde8dedf0 Sound support for irix 2003-07-16 23:53:09 +00:00