Commit Graph

144 Commits

Author SHA1 Message Date
Brecht Van Lommel
cb89decfdc Merge of first part of changes from the apricot branch, especially
the features that are needed to run the game. Compile tested with
scons, make, but not cmake, that seems to have an issue not related
to these changes. The changes include:

* GLSL support in the viewport and game engine, enable in the game
  menu in textured draw mode.
* Synced and merged part of the duplicated blender and gameengine/
  gameplayer drawing code.
* Further refactoring of game engine drawing code, especially mesh
  storage changed a lot.
* Optimizations in game engine armatures to avoid recomputations.
* A python function to get the framerate estimate in game.

* An option take object color into account in materials.
* An option to restrict shadow casters to a lamp's layers.
* Increase from 10 to 18 texture slots for materials, lamps, word.
  An extra texture slot shows up once the last slot is used.

* Memory limit for undo, not enabled by default yet because it
  needs the .B.blend to be changed.
* Multiple undo for image painting.

* An offset for dupligroups, so not all objects in a group have to
  be at the origin.
2008-09-04 20:51:28 +00:00
Willian Padovani Germano
8a295553f7 == Python scriptlinks ==
Render/postrender events were missing from bg rendering (and also from rendering called inside scripts). Found this because of bug #17389, the code to prevent race conditions with pynodes is currently inside BPY_do_all_scripts (that runs scriptlinks) and so was not being called in bg mode or rendering via scripts.

http://projects.blender.org/tracker/?func=detail&atid=125&aid=17389&group_id=9
2008-07-26 22:00:26 +00:00
Campbell Barton
8b9503e0ec bugfix [#14796] -t <threads> command line switch doesn't work unless FIXED_THREADS has previously been turned on
Command line threads now override blendfile setting in background mode.
Command line Threads greater then 8 are now clamped.
2008-06-23 16:47:15 +00:00
Brecht Van Lommel
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
Campbell Barton
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
Campbell Barton
c0d981f6db patches
[#10529] -p command line option fix
[#8844] Glossy controls Python API
2008-05-06 18:57:24 +00:00
Campbell Barton
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
Andrea Weikert
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
e17b13d9d2 Made octree size always available since its used for baking.
Documented obscure environment variables
2008-04-12 22:17:23 +00:00
Campbell Barton
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
Kent Mein
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
Kent Mein
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
Brecht Van Lommel
2e030000d1 Bugfix: recent command line changes broke running with ./blender -w,
was using uninitialized variables.
2008-03-05 11:42:40 +00:00
Joshua Leung
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
Kent Mein
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
Kent Mein
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
Campbell Barton
54daccda76 updated the notes for blenders help message 2008-03-03 08:55:45 +00:00
Campbell Barton
2455cf7f13 blenders window argument -w / -W didnt use the last argument as command line arg should. 2008-03-02 22:09:40 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Daniel Genrich
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
Kent Mein
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
Campbell Barton
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
Kent Mein
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Peter Schlaile
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
Andrea Weikert
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
Campbell Barton
c6667c53e3 put the revision number in the splash screen (scons and make) 2007-11-15 12:16:03 +00:00
Ton Roosendaal
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
Campbell Barton
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
Campbell Barton
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
Kent Mein
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
Stephen Swaney
7e7c2fd31b New command line switch --
Add a new command line switch "--" for passing arguments to scripts.
Any arguments after -- are not processed and passed unchanged via
the usual argv mechanism.

Custom arguments can be accessed from a bpy script in python's 
sys.argv.  Example:

import sys

# slice argv after '--'
i = sys.argv.index('--')
my_args = sys.argv[i+1:]
2007-08-18 00:02:50 +00:00
Kent Mein
8c96c15c92 Added a flush after fprintf
This is patch [#6921] Make error printing a bit more reliable
from GSR
http://projects.blender.org/tracker/index.php?func=detail&aid=6921&group_id=9&atid=127

Kent
2007-07-11 18:45:39 +00:00
Campbell Barton
3e8acb4c53 closing bug #6680 - This feature didnt work as advertised.
When setting the filename for export foo_#_bar would not be renamed to foo_00001_bar, It only worked when # what the last char of the name.

removed the text from --help that says this is supported.
2007-05-20 21:30:29 +00:00
Chris Want
6e9ac0fe97 Disable copying plugins, et al, to the CMake bin directory -- the
.svn directory would get copied and it has some files that are
write protected, which means that the build would fail the second
time you run make. Needs a better solution.
2007-05-18 15:57:40 +00:00
Chris Want
70a72d4133 Test commit: Changes to CMake for Python 2.5 under windows
from Eugene.
2007-05-15 21:24:19 +00:00
Ton Roosendaal
6e27e1b6eb Part 2 of 64 bits fixing; the files.
The good news; previously written 64 bits are still valid! All fixes
appeared to be possible in code, no versioning patches needed. :)
That also removes the I AM STUPID 64 bits ban from the code.

The bad news:
I couldn't get a 64 bits Blender running here (ghost-mac issues... it
has to be recoded using Quartz to be able to run 64 bits). So what I
have tested was:

32 bits binary:
  - Appending/linking data from 64 bits file.
  - Reading 64 bits chained library-linked files (file -> file -> etc)
  - Linking 32 bits files with 64 bits files

This has to be tested for 64 bits too. Will drop in IRC now to help.
2007-04-28 16:15:12 +00:00
Campbell Barton
9c8bc4badc Starting blender with -w does not switch of maximize anymore, so with and without the -w arg, the window should start maximized. 2007-04-17 18:15:31 +00:00
D.J. Capelis
7470e7efa0 Applying consistent default window behavior across platforms.
Now all windows open in a border as opposed to fullscreen.  blender -W restores
old functionality, blender -w is now default.  This lets each platform's window
manager deal with it's own issues.

As per issue 6391 in the patch tracker.
2007-04-12 06:21:31 +00:00