Commit Graph

16327 Commits

Author SHA1 Message Date
Ton Roosendaal
c0ee40ab10 2.5
Compositor now uses threaded jobs.

- updates happen per preview node! Check this file for
  fun: http://www.blender.org/bf/composite_image.blend
  (any compo node could get preview!)
- had to ensure the composite data gets fully copied before
  it executes thread, so editing is not frustrated.
- put back node buttons (missing init)
- added WM_jobs api call to check for running job,
  illustrated with red light icon in 'use nodes' button.
- added another callback to WM_jobs, to initialize.
  use this init to ensure you only do it when job really
  starts.
- added an extra notifier option for WM_jobs, to signal
  finished job (like redraw image view)
- fixed file read error, it copied the screen it read,
  instead of using it.
- commented out annoying prints for missing ops in imagewin
2009-01-27 17:12:40 +00:00
Ton Roosendaal
b602fd8b1c 2.5
Make space_ipo compile for make
2009-01-27 12:49:44 +00:00
Joshua Leung
43c1532af9 Animato - Bugfixes + More conversion code
* BorderSelect in Graph Editor now works. Was a silly 1 char missing typo.
* Added conversion code for lamps and hooked up code for constraints.
2009-01-27 11:31:30 +00:00
Joshua Leung
f7721284bc Quick fix - Alt-B in Graph Editor works again... normal BKEY still doesn't though 2009-01-27 11:14:02 +00:00
Joshua Leung
8078bc65d6 Graph Editor:
* Cleaned up code for borderselect with BKEY. There's still a bug here where y-values don't seem to be getting properly checked, so nothing seems to happen.

* Set up some code for transforming keyframes. It currently uses the wrong code though (i.e. it uses the code for Action Editor which is 1D not 2D, and doesn't have some of the special checks needed). More work on this later.
2009-01-27 11:09:30 +00:00
Ton Roosendaal
2c1214f696 2.5
Fix: icons didnt show for uiMenu api.
2009-01-27 08:36:09 +00:00
Joshua Leung
83ea582478 Graph Editor - Selection Tools
* Mouse-Select and DeSelect All work again
* Added access to constraint 'influence' value
2009-01-27 05:04:23 +00:00
Matt Ebb
6e6bd16bf1 * Struct-ified user preferences RNA 2009-01-27 04:37:12 +00:00
Joshua Leung
8aabcdb883 2.5 - Bugfixes for loading ManCandy
* Objects parented to bones now load correctly again (so Mancandy no longer looks like he had a run-in with a lawn mulcher). Was caused by a typo. I'm not sure how that got in there (or who did it)

* Action/Graph Editors would crash when loading files with Materials with some drivers.
2009-01-27 02:31:39 +00:00
Michael Fox
d17b0d738b 2.5
******
small commit just porting the makeparent menu to use the new menu contsruction system
2009-01-26 23:58:56 +00:00
Joshua Leung
5917d0892c Graph Editor: Added files + Bugfixes
* Copied files containing code for tools from Action Editor to use as a base for the Graph Editor's tools. The toolsets are now very similar, so it should just be a case of making a few tweaks here and there. Currently all of these tools are #if-def'd out, as there are still a few things to clean up.
(BUILDSYSTEM MAINTAINERS BEWARE!)

* Tweaked some UI stuff (width of mode selector in header, names in the spacetype choosing menu)

* Fixed a few bugs which were causing crashes when loading old files with IPO Editors open.
2009-01-26 23:18:27 +00:00
Martin Poirier
a17eade622 - Made embbed point rely on last embbed preview (when holding down shift and moving mouse around) for finding the proper depth. This makes it much easier to do polylines on partially occluded areas: just shift-hover a visible section than move to where you want along the volume before clicking to place a point (this sounds complicated but it isn't).
- Replace Cutout command by Straighten. Fonctionnality is the same except that it now keeps points in between cuts, just straightens them.
2009-01-26 22:43:12 +00:00
Nicholas Bishop
63cedd8bd8 Added some code in sculpt and RNA for textures with type none. Hopefully fixes the problem with sculpt not working in 2.5. 2009-01-26 21:32:22 +00:00
Ton Roosendaal
5df6f4d257 2.5
Added add-primitive for Curve objects.
Shift+A, works as usual in our outside editmode.
2009-01-26 15:23:29 +00:00
Ton Roosendaal
14ad6ae4dc 2.5
Bugfix: having multiple windows didnt read events anymore for other
windows. Caused by too much security escapes in event handlers.
2009-01-26 15:22:10 +00:00
Joshua Leung
a34e2e1427 Animato/2.5 - Graph Editor (i.e. the new 'IPO Editor')
This commit brings back the drawing code for the 'Graph Editor'. I've decided to call it this, as currently it can show either F-Curves for Animation stored in Actions, or F-Curves for Drivers.

Currently, it shows all curves, since some of the necessary filtering code (i.e. for limiting curve visibility) hasn't been put in place yet. At least this serves as good proof that we can have F-Curves from multiple sources at least.

It should be noted that the code still has to be modified to work with some of the new Animato features, such as F-Curve Modifiers (cycles are an example of one of the features that use this). Also, a nicer way to set the colours of the curves needs to be investigated.

Notes:
* Fixed a few bugs in RNA User-Preferences wrapping

* The keyframe drawing uses the new-style drawing for handles from AnimSys2. There's a minor bug that sometimes occurs, where a distorted handle gets drawn at the origin of the grid on the first run. Hints anyone?

* Removed most of the old data from SpaceIpo struct, as the new code uses that. Maybe later, the directories/files at least should get renamed.

* Removed ancient hack for NVidia/TNT drivers. It is probably no longer needed, but could be restored if someone needs it.
2009-01-26 11:33:16 +00:00
Campbell Barton
bf05827319 * Added WM_operator_filesel which can be used for an operators invoke function (like WM_operator_confirm).
It opens the files selector if "filename" property has not been set, else it executes the operator directly. Brecht, you might want to check, currently only sequencer add operators use it.
* Added back Effects menu back, replaced SEQUENCER_OT_add_color_strip with SEQUENCER_OT_add_effect_strip.
* Made sequencer header use operator UI functions.
* gcc complains when char's are used as array indicies when they are not explicitly signed/unsigned, corrected previous change for vpaint to silence this error.
2009-01-26 09:13:15 +00:00
Brecht Van Lommel
8762737400 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17853:HEAD 2009-01-26 08:34:40 +00:00
Erwin Coumans
9146687ffc let the game engine compile, if WITH_FFPEG is not defined (so we don't have video textures in that case) 2009-01-26 06:31:06 +00:00
Joshua Leung
784d8ee37a 2.5 DopeSheet/Action Editor
* Made the various datatypes in the DopeSheet get shown again (NOTE: some of the types that don't get conversions to Animato yet may need some further checking).
* Did some code cleanup to allow F-Curve channels to always show RNA-based names correctly
2009-01-26 04:13:38 +00:00
Matt Ebb
1ed26fffb8 Volume rendering: multiple scattering
This is mostly a contribution from Raul 'farsthary' Hernandez - an approximation for 
multiple scattering within volumes. Thanks, Raul! Where single scattering considers 
the path from the light to a point in the volume, and to the eye, multiple scattering 
approximates the interactions of light as it bounces around randomly within the 
volume, before eventually reaching the eye.

It works as a diffusion process that effectively blurs the lighting information 
that's already stored within the light cache.

A cloudy sky setup, with single scattering, and multiple scattering:
http://mke3.net/blender/devel/rendering/volumetrics/vol_sky_ss_ms.jpg
http://mke3.net/blender/devel/rendering/volumetrics/sky_ms.blend

To enable it, there is a menu in the volume panel (which needs a bit of cleanup, for 
later), that lets you choose between self-shading methods:

* None: No attenuation of the light source by the volume - light passes straight 
through at full strength
* Single Scattering: (same as previously, with 'self-shading' enabled)
* Multiple Scattering: Uses multiple scattering only for shading information
* Single + Multiple: Adds the multiple scattering lighting on top of the existing 
single scattered light - this can be useful to tweak the strength of the effect, 
while still retaining details in the lighting.

An example of how the different scattering methods affect the visual result:
http://mke3.net/blender/devel/rendering/volumetrics/ss_ms_comparison.jpg
http://mke3.net/blender/devel/rendering/volumetrics/ss_ms_comparison.blend


The multiple scattering methods introduce 3 new controls when enabled:
* Blur: A factor blending between fully diffuse/blurred lighting, and sharper
* Spread: The range that the diffuse blurred lighting spreads over - similar to a 
blur width. The higher the spread, the slower the processing time.
* Intensity: A multiplier for the multiple scattering light brightness

Here's the effect of multiple scattering on a tight beam (similar to a laser). The 
effect of the 'spread' value is pretty clear here:
http://mke3.net/blender/devel/rendering/volumetrics/ms_spread_laser.jpg

Unlike the rest of the system so far, this part of the volume rendering engine isn't 
physically based, and currently it's not unusual to get non-physical results (i.e. 
much more light being scattered out then goes in via lamps or emit). To counter this, 
you can use the intensity slider to tweak the brightness - on the todo, perhaps there is a more automatic method we can work on for this later on. I'd also like to check 
on speeding this up further with threading too.
2009-01-26 02:42:17 +00:00
Nicholas Bishop
3d39996f0f Added radial control support to vpaint and wpaint. Added undo pushes as well. 2009-01-25 21:02:52 +00:00
Ton Roosendaal
3c088f3434 2.5
Simple toolbox-style menu system. Brecht will review it
though, and/or check on way to use it for menus.
I tried to avoid uiBlock and rna stuff all over. :)

Quick image test:
http://www.blender.org/bf/rt.jpg

Examples you can read in:
- editors/screen/screen_ops.c:testing123() (press F5)
- editors/object/object_edit.c:object_add_primitive_invoke()
  (press SHIFT+A)

Concept is simple:

uiMenuBegin(): returns a handle.
uiMenuEnd(): puts it all to work.

In between you can add items like:

uiMenuItemVal(): a name, icon, retval (use uiMenuFunc()) 
uiMenuItemO(): an operator + icon
uiMenuItemEnumO(): an operator, property name, value

Sublevels go easy too:

uiMenuLevel(): creates item for sublevel, with function pointer.
     Inside that function you can use all menu calls again.
     Levels can go as deep you want.

uiMenuLevelEnumO(): creates operator sublevel for an enum
2009-01-25 20:22:05 +00:00
Willian Padovani Germano
99e549480b == Python: Space Handler Scriptlinks ==
Bugfix (patch #18216)

I made a mistake on my previous try to fix this. I fixed something, tested, decided I should move the call to run spacehandlers to a better place, but missed removing the old call (ugh). Thanks Steven Truppe (rocketmagnet) for emailing me about it and for the patch.
2009-01-25 17:49:39 +00:00
Martin Poirier
cfd9342600 2.5
Use proper function to check if prop is defined instead of relying on default.
2009-01-25 17:08:56 +00:00
Campbell Barton
8b793524ff make operator names more consistent
ANIM_OT_toggle_time -> ANIM_OT_time_toggle
SCULPT_OT_toggle_mode -> SCULPT_OT_sculptmode_toggle
UV_OT_select_inverse -> UV_OT_select_invert
NODE_OT_toggle_visibility -> NODE_OT_visibility_toggle
OBJECT_OT_toggle_editmode -> OBJECT_OT_editmode_toggle

toggle was used last in other operators eg- VIEW3D_OT_vpaint_toggle and VIEW3D_OT_wpaint_toggle.

'invert' was used everywhere else.
2009-01-25 15:41:17 +00:00
Campbell Barton
31fc0ff995 * added operators SEQUENCER_OT_lock, unlock, reload, refresh_all, view_all, view_selected.
* sequencer transform now does overlap checks.
* removed old transform functions from sequencer_edit.c
* shuffle_seq moved to kernel, now moves strips to the end of the last sequence of itschannel (if all channels are used). 2.4x would remove the strip.
* most of the 'Strip' menu items now call their operators in the header menu, some for view and select too.
2009-01-25 14:53:41 +00:00
Joshua Leung
2ae25bdba9 Animato - Bugfix for Conversion of Object Rotations
Yet another attempt to fix this problem (hopefully the last). Resolved a few typos (previous code was adjusting times not values).
2009-01-25 11:45:40 +00:00
Nicholas Bishop
af4270eb68 Did some refactoring with brush and sculpt to make radial control easier to add to other modes. 2009-01-25 07:28:11 +00:00
Joshua Leung
de6d5b1540 Animato - Bugfixes + Nicer names in Action Editor
* Action Editor/Dopesheet now displays names retrieved from RNA in the form - "<Struct/OwnerName>.<PropertyName>.<ArrayIndex>"
i.e. "HeadBone.Location.X"
i.e. "Cube.Rotation.Y"
i.e. "Material.Diffuse Color.G"

For now, the first part of the name may be unclear as it is easy to confuse Material channels with Object ones if the material was called "Object1" or so (theoretrical example only). This will be explored further.

* Also, fixed crashes when loading some old files with 'Object' Action Channels in their Actions
2009-01-25 04:02:31 +00:00
Campbell Barton
91644c4249 fix syntax error 2009-01-25 01:32:00 +00:00
Nathan Letwory
e04a8a15c6 2.5 / MSVC
* make MSVC happy. M_PI is defined for MSVC, but these constants are available only after
  doing #define _USE_MATH_DEFINES before including math.h.
  Good to remember for in the future (no need to define our own M_PI's).
2009-01-24 23:37:34 +00:00
Nicholas Bishop
a7116440a0 Fixed a drawing error in radial control and a warning in sculpt.c. 2009-01-24 23:20:25 +00:00
Nicholas Bishop
fb87cfbb1b More radial control work.
* Added a rotation setting to brush (and brush RNA)
* Brought back strength and rotation modes for radial control
* Brought back brush texture for radial control
* Turned off display of sculpt brush during radial control operator
2009-01-24 22:58:22 +00:00
Shaul Kedem
3e6b5804fd editmesh face menu back, ctrl-pkey 2009-01-24 22:21:12 +00:00
Benoit Bolsee
f1948b363d BGE patch 18211: Bug Fix for: [#18175] error on anaglyph view of a splitted viewport. 2009-01-24 21:19:35 +00:00
Nicholas Bishop
d62955bcac Added back old sculptmode FKEY radial control. (Moved fullscreen to F11KEY for now.)
Notes:
* So far, only size mode ported and tested, still strength and rotation to do
* Brought this back for sculptmode first, still to do are particle edit, vpaint, wpaint, texpaint, and I guess image paint?
* Changed the wm paint cursor slightly, to take a customdata pointer.
* Still need to bring back brush texture display in the cursor
2009-01-24 16:59:55 +00:00
Ton Roosendaal
2edfe5307b 2.5
- writeimage.c back, put in space_file now...
- renamed fluidsim.c to distinguish from bke version
2009-01-24 14:24:59 +00:00
Ton Roosendaal
0ac35ca7c1 2.5
- Brought back code for particle edit and fluidsim
- Sanitized code from globals and bad level calls,
  so its ready to come back working.
- Fixed cirle selecting (Ckey now)
- Enabled undo for editmode curve, armature, particle
  and lattice

(another commit following)
2009-01-24 13:45:24 +00:00
Joshua Leung
e71d531238 Animato - Shapekeys work again
The RNA-wrapping for the 'value' (internally kb->curval) was set to be not editable, thus preventing Animato from writing to it. Removing the flag makes shapekeys more functional again (there are still a few non-functional cases).
2009-01-24 11:35:14 +00:00
Joshua Leung
e42ed36b3b Animato - Insert Keyframe for PoseChannels
Added temporary entries to the quick-hack insert-keyframe operator menu. Action Editor doesn't get refreshed properly yet though.

Proper keyingsets will be coming/remimplemented tomorrow or later this week.
2009-01-24 10:58:34 +00:00
Campbell Barton
10e39a2331 jpeg2000 commit missed the 2 most important files. 2009-01-24 10:19:29 +00:00
Joshua Leung
f53ecfa403 2.5 - Pose-Channel (i.e. PoseMode bone) Transforms work again
In the brief tests I did on a few rigs, this seems to work ok. Martin may want to check on the code for any cleanups that may be needed here.

Coming soon will be some modifications to the primative insert-key operator added earlier, so that Animato can be used to animate characters!
2009-01-24 10:03:19 +00:00
Campbell Barton
a727277a25 my last commit broke transforming metastrips, use find_id for scene lookup. 2009-01-24 09:55:31 +00:00
Joshua Leung
4b257e956f Animato - FCurve Modifier Bugfixes
* FModifier data is now allocated correctly, solving crashes on loading files containing IPO-curves with cyclic extrapolation
* Fixed memory leaks with FModifiers and their data not being freed correctly. Not sure exactly why the old code didn't work for this.
2009-01-24 08:21:39 +00:00
Nicholas Bishop
744e38cc74 Added back a line removed in r18642 so the macro CFRA can access scene. 2009-01-24 06:08:46 +00:00
Campbell Barton
8543337597 added back extend (Ekey) to sequener transform, works with nested metastrips too. 2009-01-24 05:38:25 +00:00
Campbell Barton
e68b7e6d87 * operators for toggling, making, separating metastrip's. (tab, m, alt+m)
* transform support for metastrips
* active strip is set to NULL if its freed again.
2009-01-23 23:14:02 +00:00
Joshua Leung
36b7ff81d2 Animato - More compatability work
* Absolute shapekeys work again. For now, the 'speed' curve isn't converted yet (same goes for 'Curves'). Those were kindof hacky, since they manipulated time in weird ways. Probably the clamping to 0.0-1.0 range can go though.

* Materials, Textures, Cameras, and local-constraint IPO's are now converted properly to the new system
2009-01-23 23:11:12 +00:00
Martin Poirier
fc7af897b7 Prevent overdrawing to trigger when starting a stroke by snapping to an existing point.
Overdrawing copies point type from start and end point (better for polyline)
misc renaming some structs and vars (cleanup mostly)
2009-01-23 21:34:51 +00:00