Commit Graph

28 Commits

Author SHA1 Message Date
Chris Want
a30dc3866c Some issues compiling on Irix:
+ the code in writemovie.c no longer compiles (since the renderer
refactor). I have #if 0-ed it.

+ OpenGL on Irix doesn't have GL_ARB_vertex_program

+ mmap on Irix doesn't like MAP_ANON.

+ If using the MipsPro 7.3 compiler, the variable MIPS73_ISOHEADERS
can be set to point to the directory with those weird C++ headers
that don't have .h in the name
2006-02-22 23:34:12 +00:00
Chris Want
fc9ba4b323 In some directories (e.g. source/blender/src) there are so many files
now that the command to put the object files into an archive is
exceeding 20k characters, which is a problem for some operating systems.
To avoid this, this modification causes make to change directories before
archiving, to avoid having to specify full file paths to the files
being archived.

If this causes problems on some systems, let me know and I'll find an
alternative.
2006-02-22 23:26:26 +00:00
Ton Roosendaal
8347dd2560 Put back the -O2 default for compiling with makefiles in OSX.
I disabled it for testing in orange...
2006-01-28 19:48: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
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
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
Chris Burt
5d31c72020 Uncommented a line in the FREE_WINDOWS section that appears to control the
detection of changes to dependencies. This should resolve issues with
Cygwin builds using makefiles which have bizarre behavior if 'make clean'
was not used before compile.
2005-04-18 19:28:38 +00:00
Chris Burt
1916552055 Since new transform and subsurf are default now.. no more need for the
defines in the makefiles. Removed to prevent gunky buildup.
2005-04-01 02:28:39 +00:00
Chris Burt
2ec686720b Added option to use new subsurf module added by Daniel Dunbar. Simply add:
export NAN_NEW_SUBSURF=true

to your user-def.mk file.
2005-03-21 22:32:02 +00:00
Kent Mein
8c4608bbf4 I updated the FREETYPE2 checks so it didn't build freetype stuff
if WITH_FREETYPE2 was set to false.

Also added/cleaned up source/nan_compile.mk NAN_NOKETSJI stuff a hair.

Kent
2005-02-18 16:52:03 +00:00
Chris Want
c334c00995 To compile the new transform code with make, add the following to
user-def.mk:

  export NAN_NEW_TRANSFORM=true
2005-02-14 03:12:12 +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
Ton Roosendaal
e7df984c16 Changes for OSX compiling with Makefiles;
- support 2.3 python
- use -O2 for all
- fixed reference to SOLID.h
2004-05-01 16:52:29 +00:00
Kent Mein
a234885db8 Lowered optimization for solaris gcc to -O1
this is for bug # 1052  Basically the higher optimization causes
blender to choke on the provided blend file.

Kent
2004-04-02 19:37:20 +00:00
Chris Want
0a6d0e62e1 A fix for the MIPSPro 7.4 compiler ... please let me know if there
are problems with 7.3.
2004-03-28 22:37:56 +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
Robert Wenzlaff
d2f725ef86 Another bad flag. Mea Culpa. 2003-12-27 17:29:25 +00:00
Robert Wenzlaff
c5925664a2 Accidently committed local flags. Bad coder. 2003-12-27 16:52:51 +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
Chris Want
4796c8599b Irix mips3 build, Part 2
Ensuring that the build uses the rebuilt
mips3 libs.

Please test!
2003-08-04 03:26:07 +00:00
Chris Want
fcad2744d7 Some tweaks to make the windows-gcc play nice with irix. 2003-05-25 05:22:46 +00:00
Chris Want
924a849755 Support for building bf-blender under windows with gcc (huge thanks to
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.
2003-05-24 20:04:37 +00:00
Maarten Gribnau
59cee3c47f Added the the magic compiler flag that will turn on game-engine integration with Blender. The line is commented by default as was discussed on the list.
Maarten
2002-12-19 22:06:32 +00:00
Kent Mein
d4e488abed Changed -O3 to -O2 under linux 2002-11-11 21:33:11 +00:00
Hans Lambermont
12315f4d0e Initial revision 2002-10-12 11:37:38 +00:00