Commit Graph

1152 Commits

Author SHA1 Message Date
272a91f754 Merge of apricot branch game engine changes into trunk, excluding GLSL.
GLEW
====

Added the GLEW opengl extension library into extern/, always compiled
into Blender now. This is much nicer than doing this kind of extension
management manually, and will be used in the game engine, for GLSL, and
other opengl extensions.

* According to the GLEW website it works on Windows, Linux, Mac OS X,
  FreeBSD, Irix, and Solaris. There might still be platform specific
  issues due to this commit, so let me know and I'll look into it.
* This means also that all extensions will now always be compiled in,
  regardless of the glext.h on the platform where compilation happens.

Game Engine
===========

Refactoring of the use of opengl extensions and other drawing code
in the game engine, and cleaning up some hacks related to GLSL
integration. These changes will be merged into trunk too after this.

The game engine graphics demos & apricot level survived my tests,
but this could use some good testing of course.

For users: please test with the options "Generate Display Lists" and
"Vertex Arrays" enabled, these should be the fastest and are supposed
to be "unreliable", but if that's the case that's probably due to bugs
that can be fixed.

* The game engine now also uses GLEW for extensions, replacing the
  custom opengl extensions code that was there. Removes a lot of
  #ifdef's, but the runtime checks stay of course.
* Removed the WITHOUT_GLEXT environment variable. This was added to
  work around a specific bug and only disabled multitexturing anyway.
  It might also have caused a slowdown since it was retrieving the
  environment variable for every vertex in immediate mode (bug #13680).

* Refactored the code to allow drawing skinned meshes with vertex
  arrays too, removing some specific immediate mode drawing functions
  for this that only did extra normal calculation. Now it always splits
  vertices of flat faces instead.
* Refactored normal recalculation with some minor optimizations,
  required for the above change.
* Removed some outdated code behind the __NLA_OLDDEFORM #ifdef.
* Fixed various bugs in setting of multitexture coordinates and vertex
  attributes for vertex arrays. These were not being enabled/disabled
  correct according to the opengl spec, leading to crashes. Also tangent
  attributes used an immediate mode call for vertex arrays, which can't
  work.
* Fixed use of uninitialized variable in RAS_TexVert.
* Exporting skinned meshes was doing O(n^2) lookups for vertices and
  deform weights, now uses same trick as regular meshes.
2008-06-17 10:27:34 +00:00
652ee1e31b functionality fix
Originally the only way to run scripts automatically was with scriptlinks, which could be disabled for loading untrusted blend files.
Since then PyDrivers and PyConstraints would run even when G.f&G_DOSCRIPTLINKS was disabled.
Gensher, Theeth and Ianwill agree its acceptable to reuse the flag for other areas python runs automatically.

PyNodes still have no way to be disabled, (todo before 2.46a)
2008-06-01 16:13:04 +00:00
c0d981f6db patches
[#10529] -p command line option fix
[#8844] Glossy controls Python API
2008-05-06 18:57:24 +00:00
db18b47be5 fix for own error when trying to fix python command line crash,
was calling screenmain() before executing the python script which meant it was never executed (therefore no crash :) )

Moved screenmain() back to the the end of main() and added a TESTBASELIB_BGMODE which checks for G.vd and uses the scene layer if its not there. Of course python should not be running stuff that uses G.vd :/

Also made python scripts stay attached to screens when LOAD UI is disabled. This means you can load a new blend file and the python console can stay open, has been tested for a while in the apricot branch.
2008-04-27 11:37:57 +00:00
003b7cc1fe == cmake win32 ==
- fixed CMAKE files for Win32 for new ffmpeg libs
- ignore libc in debug build. 
TODO: debug build with OpenEXR still fails with unresolved externals due to /MTd flag.
2008-04-24 19:18:46 +00:00
be0b8ccfaa Used GET_INT_FROM_POINTER to get rid of many warnings that only occurred with 64bit os's
Also use Py_ssize_t which we might need to define for older python's
2008-04-17 21:14:55 +00:00
da3c44958e Bugfix for [#8962] Blender crashes on joining meshes with python
blenders screen needs initializing before running python scripts when not in background mode.
2008-04-17 14:10:40 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
e17b13d9d2 Made octree size always available since its used for baking.
Documented obscure environment variables
2008-04-12 22:17:23 +00:00
1886872089 simple fix for "Unable to make version backup" warning when saving files. missing a return.
For *nix sustems, recent physics pointcache refactor uses stdio.h's remove() rather then system("rm -f ...") for removing files, since it was a lot slower for removing pointcache.

Ton used the system command because there was some problem using remove() ~6years back, but he cant remember why, (maybe its not a problem now)

Simple error, remove wasn't returning a value, but keep an eye out for problems removing files, and if anyone can reproduce the "Unable to make version backup" problem when saving, we should look into it.

Also added a note about using # in the output path for blenders command line help text.
2008-04-12 10:55:10 +00:00
967917ace9 This is patch:
[#8766] Scons build does not take into account WITH_BF_OPENEXR for 
	source/creator
Submitted By: Stephane SOPPERA

Fixes -F EXR on the commandline...

Kent
2008-03-28 14:55:49 +00:00
18fc43950d I didn't get any comments so I'm assuming its a good idea.
This makes it so the following are equal.
blender -w -p 0 0 500 500   
blender -p 0 0 500 500 -w

Just move initalization for full screen to before the loop starts.
so it doesn't matter where a -p shows up to override fullscreen.

Kent
2008-03-05 21:11:24 +00:00
2e030000d1 Bugfix: recent command line changes broke running with ./blender -w,
was using uninitialized variables.
2008-03-05 11:42:40 +00:00
db85f0f39a * Patch by Leandro Inocencio (cesio) to redraw Action Editor after hiding/unhiding bones
* Fixes for compiler warnings
2008-03-05 03:59:44 +00:00
b7bfa641ca I broke it for the case where -w and -W are not called. This should fix that up as well.
Kent
2008-03-04 18:38:18 +00:00
a37009f582 Small change in the logic for -w -p The previous changes didn't quite work all the time.
This should simplify things.

Kent
2008-03-04 18:31:57 +00:00
Stephen Swaney
d6151609f9 Minor corrections to help message. 2008-03-03 13:34:31 +00:00
54daccda76 updated the notes for blenders help message 2008-03-03 08:55:45 +00:00
2455cf7f13 blenders window argument -w / -W didnt use the last argument as command line arg should. 2008-03-02 22:09:40 +00:00
a2ce30a908 changing default SDL audio driver for linux to alsa since its default in 2.6 kernel's and many users report problems if they dont specifically set it to alsa. 2008-02-28 21:27:48 +00:00
82d769c79f automatic threads, next to the Threads button, so you can set threads to use whatever the system has, useful in the studio with 2,4,8 core systems when sharing files. 2008-02-19 22:23:21 +00:00
bc9848f7e6 Added a global string to be used for the tempdir. since the user preference is not loaded in background mode and the user preference is not validated and has no fallback.
'btempdir' is set with BLI_where_is_temp() - This tries to use U.tempdir but falls back to $TEMP or /tmp/
2008-02-13 13:55:22 +00:00
69e6a6cbc9 Pointcache: Fixed non-availability when blend file was loaded from command line and also another case where you startet from an unsaved blend and switched to a saved one; Cloth: Fixid mass init, little speedup for collisions; Collision Modifier: More generalized it 2008-02-11 13:30:52 +00:00
37d139ea54 This is patch: [#8228] Add MultiLayer image type to python and batch rendering
Submitted By: Stephane SOPPERA (soppera)

Also fixes a small typo with wrong filetype for TIFF commandline rendering.

Kent
2008-02-05 19:31:21 +00:00
a9518afc67 feature request from peach, remove selected objects from 1 group.
Also made rem_from_group return if it removed the object which save some looping.

Added a node in the blender help message that background mode dosnt load the .B.blend file as a bug was reported recently because of this.
2008-02-03 19:03:18 +00:00
Chris Want
659316e4f4 Fixes for CMake. 2008-01-22 05:34:53 +00:00
Chris Want
c4929f84f7 CMake isn't fully working yet, just correcting a simple typo.
I see BINRELOC is set as a configurable option -- does this mean
that it is optional on linux? (I thought it was required.)
2008-01-22 04:27:23 +00:00
320ac3f0e2 Fixing makefiles for binreloc I made it use flags like other
things default on for linux.  ideasman helped me get scons working.
Cmake still needs some love...

Kent
2008-01-18 21:39:47 +00:00
09c2fd6f11 Linux only addition to know for sure the path of blender because sometimes the Play button doesn't work depending on how blender is started.
This uses binreloc - http://autopackage.org/docs/binreloc/
it should also solve the problem of python scripts not being found.
2008-01-18 15:10:17 +00:00
Chris Want
6258c0979e The python lib name should be 'bf_python' instead of 'blender_python'
when linking.
2008-01-11 16:48:07 +00:00
Nathan Letwory
15da2232f7 * tweak linking priorities - should help for GCC users
* some lib renaming
2008-01-08 09:47:44 +00:00
Chris Want
5e3cffc64a Patch to change license to GPL only, from GSR. 2008-01-07 19:13:47 +00:00
Chris Want
a2b8986d1d Support for CMake 2008-01-03 22:20:45 +00:00
86471f8b72 Split guardedalloc print into 2 funcs, 1 that prints on errors, another then prints the memory blocks as a python dict, minor changes to help text 2008-01-03 14:53:44 +00:00
bb603a53a1 Added a note to blender help text about argument order (pitfall I ran into when rendering)
also removed FTYPE as an optional format (TODO - remove FTYPE from render output panel since you cant use FTYPE anymore and its not used internally, hint hint)
2008-01-03 10:27:29 +00:00
a42e548e81 removed some more header files, made the game engine compile with removed header files, added includes to SConstruct files. 2008-01-01 19:20:49 +00:00
372ee054c0 Some notes for those who try to follow this :)
- first work on getting area/screen handling back
- added structure for where to put stuff, is still under
  review, wait a bit for docs?

Campbell is working on removing every bad level include from
sources, so we can safely rebuild the src/ directory.
2008-01-01 18:29:19 +00:00
58bf29e389 removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and BIF_glutil.h) 2008-01-01 18:16:10 +00:00
81cdf24284 Fix for [#7866] Relative Path to library from command line
http://projects.blender.org/tracker/index.php?func=detail&aid=7866&group_id=9&atid=125

where linked relative blend files would not load when the absolute path was not given.
Solved by constructing the absolute path from the command line argument given.
2007-12-28 21:16:00 +00:00
Nathan Letwory
c2acbef851 * added SConscript for windowmanager
* tweak other SConscripts for editors/include
* commented BKE_bad_level_calls.h in writeframeserver.c - please check it doesn't break make builds

This compiles until final linking, which still fails.
2007-12-27 22:16:54 +00:00
6c7b60668b (this is for blender2.5 again)
Modified these three to include blender/editors/include instead of 
blender/include maybe not needed at this stage but I'm guessing its good
to do this.

Kent
2007-12-27 21:35:25 +00:00
1be207fe08 Small tweaks to blender2.5 Makefiles...
commented out srclib and pythonlib since its not there
added new include dir for window stuff so things could find headers..

Kent
2007-12-27 19:49:22 +00:00
8c91939824 Last commit to get things on level I ended with during code holidays
(which was not even a working blender yet!)

Todo for dec 26th: finish the task:
- remove entire src/ and python/ dirs, and get blender to compile and
link again, using a new stubs.c temporary

(note; bad level calls stubs.c was also removed, this was a MESS!)

Then there's the task
- solve the bad level calls (can use help with that!)

So then I can do:
- move the screen code and subwindow code from old src/ to new editors
module and windowmanager

More will follow on mailing list, and wiki.
Merry xmas!
2007-12-24 18:58:12 +00:00
690d7a85bd == Playback (peach request) ==
Correct playback frames per second when "Play" is pressed. (Play spawns a new instance of blender, it could pass an argument that sets the frames per second)

(double credit :)
2007-12-23 17:27:06 +00:00
a0658707e1 Bugfix #7804 : Opened file is not registered correctly when started from command line
- treat file passed as parameter the same as if loaded from UI if Blender isn't running in background mode.
- only set relative base as valid if file loaded successfully.
2007-11-24 17:08:40 +00:00
c6667c53e3 put the revision number in the splash screen (scons and make) 2007-11-15 12:16:03 +00:00
3d250856fb Proper code for bugfix revision 12365 (which was uncommitted today).
Old log Message:
-----------
bug fix, when opening blender with a file (by double clicking or from the 
command line) - the initial undo state would be set to the default scene.
So holding Ctrl+Z would go back to the default .B.blend rather then the 
file that the user opened.
2007-11-11 16:13:27 +00:00
3a90b35db8 Undoing 'undo' fix 12365, it didn't work the same on mac's, Ton would like to fix the bug himself.
Tree From Curve,
- report error when nurbs or poly curves are used.
- don't throw errors when >4 branch's per segment are used. also try deal with this better. though no nice solution exists.
- default speed is 10x slower then before.
2007-11-11 15:18:53 +00:00
5b0a79c7c7 bug fix, when opening blender with a file (by double clicking or from the command line) - the initial undo state would be set to the default scene.
So holding Ctrl+Z would go back to the default .B.blend rather then the file that the user opened.
2007-10-23 21:31:59 +00:00
6cd6bf7d80 Updated the Makefiles removing some of the gcc specific stuff...
Basically I moved  -funsigned-char -fno-strict-aliasing
from individual Makefiles to nan_compile.mk defines for CFLAGS and CCFLAGS

Kent
2007-08-31 16:16:33 +00:00