Commit Graph

122 Commits

Author SHA1 Message Date
Ton Roosendaal
54908979c5 Lots of stuff; couldn't commit in parts because of refactor work.
* Changes in interface/ module

This commit brings back the way how buttons/menus work under control
of WM event system. The previous implementation extended usage of
handlers and operators in an interesting but confusing way. Better to
try it first according the design specs. :)

Most obviously:
- modal-handler operators are not stored anymore in regions/areas/windows.
  such modal handlers own their operator, and should remove it themselves.
- removed code to move handlers from one queue to another.
  (needs review with brecht!)
- WM fix: the API call to remove a modal handler got removed. This was a
  dangerous thing anyway, and you should leave that to the event system.
  Now, if a handler modal() call gets a cancel/finish return, it frees 
  itself in event system. WM_event_remove_modal_handler was a confusing 
  call anyway!

Todo:

- allow button-activate to refresh after using button 
- re-enable arrow keys for menus
  (do both after commit)

- review return values of operator callbacks in interface_ops.c

* Fixes in WM system

- Freeing areas/regions/windows, also on quit, now correctly closes 
  running modal handlers
- On starting a modal handler, the handler now stores previous area
  and region context, so they send proper notifiers etc.

* Other fixes

- Area-split operator had bug, wrong minimal size checking. This
  solves error when trying to split a very narrow area.
- removed DNA_USHORT_FIX from screen_types.h, gave warning
- operators didn't get ID name copied when activated, needed for
  later re-use or saving.
2008-12-02 14:22:52 +00:00
Joshua Leung
43b26b72ab View2D - Initial commit of Pan-View Operator
* Moved View2D data from space-data to ARegion (aka regions). This has been done because drawing occurs in regions not areas anymore. The View2D struct is currently stored in the ARegion struct (not as pointer), given that most of the regions in use will be 2D anyway (only the 3d-view's "window" region is the exception).
Added version patch code for outliner and timeline only for now. Headers are also likely to need this.

* Added separate keymap for View2D operators. All regions that use View2D will need this added. This includes headers too. 

* Pan view operator (ED_View2D_OT_view_pan), currently works for Outliner and Timeline. Use MMB-drag as before. 
- It currently doesn't exposed any parameters for redo (via RNA-ID-Props), but only uses some customdata. Suggestions on what these parameters could be are welcomed. 
- I've yet to implement the necessary axis-locking features for this panning (which is required in Timeline for example to prevent vertical panning, which moves the markers out of view).
2008-11-30 06:15:33 +00:00
Brecht Van Lommel
b3c238e8bc 2.5: merge with trunk, previous merge was only up to yesterday.
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17416:HEAD
2008-11-12 22:03:11 +00:00
Brecht Van Lommel
bdfe7d89e2 Merge of trunk into blender 2.5:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416

Issues:
* GHOST/X11 had conflicting changes. Some code was added in 2.5, which was
  later added in trunk also, but reverted partially, specifically revision
  16683. I have left out this reversion in the 2.5 branch since I think it is
  needed there.
  http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683
* Scons had various conflicting changes, I decided to go with trunk version
  for everything except priorities and some library renaming.
* In creator.c, there were various fixes and fixes for fixes related to the -w
  -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done
  differently. Since this is changed so much, and I don't think those fixes
  would be needed in 2.5, I've left them out.
* Also in creator.c: there was code for a python bugfix where the screen was not
  initialized when running with -P. The code that initializes the screen there
  I had to disable, that can't work in 2.5 anymore but left it commented as a
  reminder.

Further I had to disable some new function calls. using src/ and python/, as
was done already in this branch, disabled function calls:
* bpath.c: error reporting
* BME_conversions.c: editmesh conversion functions.
* SHD_dynamic: disabled almost completely, there is no python/.
* KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled.
* text.c: clipboard copy call.
* object.c: OB_SUPPORT_MATERIAL.
* DerivedMesh.c and subsurf_ccg, stipple_quarttone.

Still to be done:
* Go over files and functions that were moved to a different location but could
  still use changes that were done in trunk.
2008-11-12 21:16:53 +00:00
Campbell Barton
483136c8e4 Adjusted scons files so disabling quicktime, python and sdl also removes their includes when building.
writefile.c had usless include.
2008-11-11 14:14:22 +00:00
Campbell Barton
ac4ff83ca6 added scons option BF_WITH_PYTHON (defined as DISABLE_PYTHON) 2008-10-28 18:47:13 +00:00
Nathan Letwory
2ecf987dc6 * Minor cleanup of SCons files
- cleanup of boolean usage - use True and False now instead of 'true'/'false' or 0/1
- changed SConscripts accordingly
2008-10-22 11:28:10 +00:00
Ton Roosendaal
70be839859 Bugfix #13837
Tonemap didn't correctly accept any buffer type.
The coder who added this should check this fix! Any node coder maybe...
2008-09-09 10:16:09 +00:00
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
Matt Ebb
846ae7a187 * Fix for bug #9450 'Problems with Extended Material node with AmbCol socket'
It turns out the material AmbCol property was never working properly, or even supported in the renderer, so I've removed it. Also included is a fix to make the 'Amb' input work properly too.
2008-07-25 01:17:37 +00:00
Brecht Van Lommel
838886daf3 Fix for bugfix #12075: gamma node check for nan was always
checking red channel.
2008-07-09 10:13:09 +00:00
Juho Vepsalainen
a8f00246ba Fix for bug [#13651] Convertor->Math->Divide broken
Changed the if statement to catch zero case properly.
2008-06-26 17:08:07 +00:00
Matt Ebb
4c391a0c30 * Simple addition to math node (comp and shading): Greater Than and Less Than modes. 2008-06-17 04:18:34 +00:00
Diego Borghetti
5263021aa8 Commit patch #9059 by gsrb3d
Unnecesary include path in Makefile.
2008-05-25 21:11:34 +00:00
Willian Padovani Germano
5f70682f6a == PyNodes ==
Fixing bug #11737 reported by Daniel Salazar (Zanqdo, thanks!): assigning as pynode a text that failed to parse as a pynode script, then deleting that text would crash Blender.

http://projects.blender.org/tracker/?func=detail&atid=125&aid=11737&group_id=9
2008-05-23 16:31:02 +00:00
Brecht Van Lommel
5463828bd2 Fix for part of bug #12075: gamma node generated nan's on negative input. 2008-05-22 14:56:32 +00:00
Brecht Van Lommel
90420a15ef Fix for bug #7068: displace node crashes with procedural
texture input as vectors.
2008-05-09 15:32:55 +00:00
Brecht Van Lommel
ad38297a08 Fix for bug #11005: hue-sat-value node was doing unnecessary
clamping, which not only is suboptimal for working with hdr
images, it was also doing the clamping incorrect.
2008-05-08 19:57:10 +00:00
Willian Padovani Germano
5ad6b3f8dd == PyNodes ==
More bug fixing, reports by Juho (bebraw) Vepsalainen (thanks!)

#10340: a recent fix I made broke handling of pynodes with buggy scripts when loaded from a .blend. (This may have been the reason for #10341, too, caused by saving buggy typeinfo.)

http://projects.blender.org/tracker/?func=detail&atid=125&aid=10340&group_id=9
2008-05-02 20:41:33 +00:00
Willian Padovani Germano
3a4f23aa78 == PyNodes ==
1) Added support for a var called "__node__" in pynode scripts, that can be used to point to the desired pynode object, to make sure it is chosen.

2) Fixed a semi-obscure crash that could happen when reparsing a pynode script that was used by multiple nodes in different scenes. Memory corruption would happen if the reparsing failed during the recreation of the pynode object, not when executing it.
2008-04-25 16:35:52 +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
Kent Mein
c92660b18c This is patch [#8531] Change gamma node max value
Submitted By:
Stephane SOPPERA (soppera)

It just increases the max value for gamma correction to 10f.  Which
as noted in the patch is the same as the Gimp's color level tool.

Kent
2008-04-11 18:07:27 +00:00
Brecht Van Lommel
6dec5db1e6 Fix for bug #8073: texture nodes connected to a viewer could crash.
Also fixed a bug where procedural buffers did not convert correctly
to different buffer types (e.g. value -> rgba would give red).
2008-04-07 15:21:25 +00:00
Brecht Van Lommel
22149c95ba Bugfix: the defocus node "no zbuffer" settings was automatically set
if there was no zbuffer input. However this means a user settings can
be permanently changed without a user knowing. Now it just runs as if
this option is set if there is no zbuffer, but doesn't change the
setting.
2008-04-01 11:08:48 +00:00
Matt Ebb
753a0e9746 Tweaks to labels on brightness/contrast node 2008-03-25 06:10:03 +00:00
Brecht Van Lommel
f48c8dea16 Fix for bug #8582: compositor math node did not output any result
without input connections.
2008-03-16 20:04:41 +00:00
Willian Padovani Germano
dae503187c == PyNodes ==
Ongoing updates to the Blender.Node Python API:

- Changed Blender.Node.node to Blender.Node.Scripted to be more specific and conform to bpython API.
- Added a Blender.Node.Socket type to be used to define node sockets in a PyNode script. Also, socket type is inferred from the value(s) passed in, instead of also being defined by the script author.
- Added attr access to input and output sockets in the __call__ method. Ex: an input socket called 'color' can be accessed as self.input.color now.

These changes break existing pynode scripts, which shouldn't be a problem yet, of course, since we're still finishing this feature for 2.46. The wiki page and sample .blends have already been updated:

http://wiki.blender.org/index.php/BlenderDev/PyNodes
http://wiki.blender.org/index.php/BlenderDev/PyNodes/API
2008-03-16 17:24:29 +00:00
Stephen Swaney
bb48a75c37 compiler warning cleanup 2008-03-15 14:41:47 +00:00
Brecht Van Lommel
e625266162 Fix for bug #8385: vector inputs of texture node in the compositor did
not work correct, it should use bNodeStack inputs like other nodes.
2008-03-13 11:26:18 +00:00
Brecht Van Lommel
3c561ec216 Added an Alpha Convert compositor node, to convert between
premultiplied and key alpha.
2008-03-11 14:40:27 +00:00
Ton Roosendaal
d7ef04a519 Long on the wishlist, quite simple even, and there it finally is:
Compositor:
  Muting option to temporary disable/enable nodes.
  Hotkey: press M on selection. It toggles.

Note: no menu entry yet, and drawing style could be tweakered...
2008-03-08 19:02:08 +00:00
Diego Borghetti
274543627a Fix segfault with bad setting in the Image node.
The limit in the UI tooltips to set the amount of
images used in animation allow the zero value,
that cause a segfault.

This commit fix the UI, add a init value of 1 to
the node and also check in case that
node_composit_get_image return NULL.
2008-02-28 20:26:00 +00:00
Brecht Van Lommel
6f78c1371d Bugfix: compositor Blur node Bokeh option gave wrong results at the
bottom pixels of the image.
2008-02-28 15:23:44 +00:00
Nathan Letwory
012f0a336c === PyNodes ===
* Make PyNodes work with threaded renderer. This patch is by Willian. He has worked hard on getting this sorted out - now you should be able to render with PyNodes AND multiple threads.
2008-02-23 12:05:28 +00:00
Joseph Eagar
0e233b3213 =Reversion of premul bugfix=
Reversion of premul bugfix, as it was apparently not
working all that well.

Note that this brings back the bug where the erase alpha
paint tool won't display correctly, since the UV image
editor just draws images in key alpha now.
2008-02-22 22:23:58 +00:00
Brecht Van Lommel
2283bdc09b Possible fix for bug #6922: crash in displace compositor node,
possibly because it didn't handle the vector input correct if
it was translated.
2008-02-19 20:35:19 +00:00
Joseph Eagar
ccac67d3ea Further work on the premul option for ton. This option
(which basically tells the renderer and compositor to expect a
key image) is now done at the image user level.

This does have some caveats, as image users don't always work
the way I thought they would/should (for example, the same image user
structure is apparently used in the uv image editor for all images,
which is kindof odd).

The UV image editor also now smartly detects if the premul option is
set and draws the image using key alpha, instead of premul

The subversion level was upped to convert the old premul flag, which was at
the image level, to the new one, which is at the image user level.
2008-02-18 23:50:12 +00:00
Brecht Van Lommel
331559d585 Bugfix for defocus node gamma correct. It applied gamma correct to
a premul image but that doesn't work correct. Now it depremuls and
premuls again around the gamma correction. Better solution might be
possible, but this gives compatible results.
2008-02-18 15:21:59 +00:00
Joseph Eagar
0ef89331e2 Fix for theoretical memory leak. Oddly this leak didn't seem
to be happening, but might as well fix it anyway.
2008-02-15 09:42:25 +00:00
Ton Roosendaal
58046762f8 1) Revert previous commit, rendering negative won't work that simple...
Needs much more attention.
2) Fix for zcombine node: 
   - it skipped execution when no image rgba out was used
   - didnt work for FSA yet
2008-02-14 18:56:14 +00:00
Joseph Eagar
4b784f4311 stupid me! if you move var declarations sometimes you have to add
assignments outside of the var declarations!
2008-02-14 15:14:01 +00:00
Joseph Eagar
09cb8a9f42 in my tiredness I didn't declare some vars at the top of the block. 2008-02-14 14:57:41 +00:00
Joseph Eagar
ac5d28a13c Added another 2 checks for if an image has the premul flag set, 1 in the image
compositor node, another in render_realtime_texture.  Note that multilayer images 
in the image compositor node do not respect the premul flag (though I did write 
commented out code for it).

As far as I can tell, the premul option never worked for multilayer images in the
image node, so I'm a little nervous about making it work properly there.

ton, any comments?
2008-02-14 13:36:59 +00:00
Matt Ebb
e26b5aa9c4 * fix for [#8085] Glare node crashes on inputs with < 4 colour channels
I had this assigned to Alfredo for a while, but he hasn't replied to the tracker at all, so I suspect he's not around. I'll commit this now to prevent crashes.

Some of the code in the glare node assumed that all buffers will be 4 channel RGBA, when in fact it was possible to give it a VEC3, such as a spec pass with no alpha, which would crash it. This fix just duplicates the input to a new temporary RGBA buffer to work on, if it's not already RGBA.
2008-02-13 13:36:35 +00:00
Nathan Letwory
df0d81f3c7 * fix provided by Stefan Birgmeier (qwequ777): int pos may lead to crashes on 64-bit systems. PyDict_Next takes a Py_ssize_t, not an int (tsk tsk). 2008-02-12 18:56:32 +00:00
Brecht Van Lommel
66e69965b1 Bugfix: when defocus node had nothing to do and just passed on the buffer,
it didn't correctly deal with pointers, gave a crash in some circumstances.
2008-02-12 15:34:26 +00:00
Willian Padovani Germano
9615532ccb == Pynodes ==
1) Trying to bring back compatibility with Python2.3.
2) Adding some stubs to compile blender player again on linux.

Please tell me if Blender still doesn't compile with py 2.3 or if the player isn't compiling. There was a binreloc related stub I needed to add, so probably the player wasn't compiling before the pynodes commit.

Thanks PanzerMKZ for reporting and testing part of the fix to py 2.3.
2008-02-10 21:12:44 +00:00
Nathan Letwory
a7702e3d94 * make CMake compile again (after pynodes addition). Patch provided by skejoe. 2008-02-10 20:50:50 +00:00
Campbell Barton
a4e27a689a added PyNode includes for Makefiles 2008-02-10 20:16:35 +00:00
Nathan Letwory
9d7ef684e3 * remove redundant define. 2008-02-10 18:48:29 +00:00