blender.git
10 years agoWindows: fixing user preference window opening full screen
Daniel Genrich [Sat, 25 Jul 2009 20:16:56 +0000 (20:16 +0000)]
Windows: fixing user preference window opening full screen

10 years ago2.5: Object Buttons File:
Thomas Dinges [Sat, 25 Jul 2009 19:59:18 +0000 (19:59 +0000)]
2.5: Object Buttons File:

* Renamed the file for consistency.

10 years ago2.5 / RNA
Elia Sarti [Sat, 25 Jul 2009 19:10:24 +0000 (19:10 +0000)]
2.5 / RNA

Added RNA_pointer_set as counterpart for RNA_pointer_get (i.e. sets pointer property by name lookup)

10 years ago2.5 / Drag & Drop
Elia Sarti [Sat, 25 Jul 2009 15:26:06 +0000 (15:26 +0000)]
2.5 / Drag & Drop

Commit of basic architecture. Sorry, nothing fun to play with yet.
Added two events: MOUSEDRAG and MOUSEDROP. MOUSEDRAG is sent when left-mouse clicking and then moving the cursor and every time the cursor is moved until the user releases the mouse button, thus generating a MOUSEDROP.
Also added two dummy drag operators in view3d and outliner (place holders for now).

Brecht and Ton: feel free to check/edit especially the event system code. I'm not sure that's the right way to do it. Also, I'm getting some mem leaks which I suspect are caused by my code.

10 years ago2.5
Ton Roosendaal [Sat, 25 Jul 2009 15:05:51 +0000 (15:05 +0000)]
2.5

Fix in previous commit:
Outliner data view, rna levels didn't open/close correctly.

10 years ago2.5 Scene RNA:
Thomas Dinges [Sat, 25 Jul 2009 14:35:08 +0000 (14:35 +0000)]
2.5 Scene RNA:

* Added Projection Painting RNA.

Note: The properties doesn't seem to be accessible yet via datablocks. Brecht please check.

10 years ago2.5
Ton Roosendaal [Sat, 25 Jul 2009 13:40:59 +0000 (13:40 +0000)]
2.5

Outliner: brought back to near full functioning:

- proper operators, like for open/close items, exec operations
  (note: select is still same operator as activate, should
   become modal ops later)
- rename works again (ctrl+click)
- proper notifiers for redraws
- select / extend select works again
- editmode in/out works again
- enter key opens/closes again
- right mouse operations work again

Didn't do:
- options for Sequence strips
- signals to change button views on clicks
- error/warning messages

UI:

- added new uiButSetRenameFunc(), which passes on the old name
- added uiButActiveOnly(), which ensures a button gets created in
  active state, and gets removed when used. Needed for editing
  names in outliner.

  Andrea: check outliner.c for uiButActiveOnly(), very easy to use!

Also:

- Added posemode operator, CTRL+TAB tied to it.

10 years agoBGE: Fix Keyboard actuator that didn't generate release event.
Benoit Bolsee [Sat, 25 Jul 2009 12:35:14 +0000 (12:35 +0000)]
BGE: Fix Keyboard actuator that didn't generate release event.

10 years agoAdded Ztransp (renamed Z Buffer) option in rna and layout. Also added diffuse and...
William Reynish [Sat, 25 Jul 2009 12:22:22 +0000 (12:22 +0000)]
Added Ztransp (renamed Z Buffer) option in rna and layout. Also added diffuse and color ramps, although a bug in the RNA prevents these from working unless you load an old file with them already enabled.

10 years ago2.5 Smooth/Flat Shading:
Thomas Dinges [Sat, 25 Jul 2009 10:42:23 +0000 (10:42 +0000)]
2.5 Smooth/Flat Shading:

* Added operators in Toolbar for Object Mode too. (Mesh only).
I think it should be there too, going into edit mode and select all just to change the shading of the whole mesh is not good. ;-)

10 years ago2.5 - Restored most of the remaining Armature/Pose Operators
Joshua Leung [Sat, 25 Jul 2009 05:11:28 +0000 (05:11 +0000)]
2.5 - Restored most of the remaining Armature/Pose Operators

* Armature:
- added: fill, merge, separate
- renamed: duplicate, align

* Pose:
- added: apply pose

* Armature Edit menu has been converted to use operators/layout now

10 years ago- report header buttons were not drawing.
Campbell Barton [Fri, 24 Jul 2009 23:07:18 +0000 (23:07 +0000)]
- report header buttons were not drawing.
- shift+b in the console would do border zoom (rather then upper case B), fixed by making v2d's border zoom check if the v2d's zoom is locked.
- blender in debug mode registers all operators, useful for testing.

10 years ago2.5 3DView View Panel:
Thomas Dinges [Fri, 24 Jul 2009 22:33:09 +0000 (22:33 +0000)]
2.5 3DView View Panel:

* Added Lines option.
* Made some settings use alignment.

Logs: Of course i meant 4-Split in last commit message ;-)

10 years ago2.5 3DView Properties Panel:
Thomas Dinges [Fri, 24 Jul 2009 22:09:30 +0000 (22:09 +0000)]
2.5 3DView Properties Panel:

* Some Code cleanup.
* Added 3-Split Operator into the panel and some options (which don't work yet)
* Added RNA for RegionView3D lock and box options.

10 years ago2.5 3DView Toolbar:
Thomas Dinges [Fri, 24 Jul 2009 21:01:41 +0000 (21:01 +0000)]
2.5 3DView Toolbar:

* Some Code and tiny layout cleanup.

10 years agoParticleSettings animdata wasn't shown in graph editor, dope sheet and nla editor.
Janne Karhu [Fri, 24 Jul 2009 19:36:08 +0000 (19:36 +0000)]
ParticleSettings animdata wasn't shown in graph editor, dope sheet and nla editor.

Tiny bug fix too: Had forgotten particle child length setting from do_versions so old files with child hair showed all hair with zero length.

10 years ago2.5: Various Fixes
Brecht Van Lommel [Fri, 24 Jul 2009 16:41:12 +0000 (16:41 +0000)]
2.5: Various Fixes

* Fix crash loading particle AnimData. This crashed many BBB
  files. If you have a .blend file that crashes when loading
  it in 2.5, please mail me, I'd like to know.

* Image window zoom ratio did not work correct with py 2.x.
* Other minor fixes for image window RNA.

* Buttons window now remembers the tab that was last clicked
  by the user, even if that tab is no longer available due
  to context, and then enable the tab again if the context
  for it is back.
* Cleaned up buttons space DNA a bit, removing unused vars.

* Armature bone rename outside edit mode did not call right
  function yet.
* Armature layers are now editable even if lib linked. This
  is useful for proxies. For this purpose a PROP_LIB_EXCEPTION
  flag was added. Need to think over proxy / RNA a bit though,
  not sure what the requirements are yet.
* Parent to Armature Deform now has options to create vertex
  groups, instead of always creating them.

10 years agoResized the preferences window to 800 px. This makes proper space for the header...
William Reynish [Fri, 24 Jul 2009 14:30:40 +0000 (14:30 +0000)]
Resized the preferences window to 800 px. This makes proper space for the header button text. Merged File Paths and Autosave preference tabs to one 'File' item. This makes the number of items inside the tabs more even and makes text in the tabs easier to read when the window is narrower.
Also added weight paint ramp.

10 years agoButtons for next/prev keyframes in timeline now work again
Joshua Leung [Fri, 24 Jul 2009 13:41:57 +0000 (13:41 +0000)]
Buttons for next/prev keyframes in timeline now work again

10 years ago2.5 - Adding Jump to Next/Prev Keyframe Operator
Joshua Leung [Fri, 24 Jul 2009 13:34:45 +0000 (13:34 +0000)]
2.5 - Adding Jump to Next/Prev Keyframe Operator

This is implemented at the Screen-level, and only considers scene and active-object keyframes (like the timeline).

TODO:
* Need to update the timeline header buttons to use this operator. One limitation is that I can't get the buttons there to take an arg...

10 years agotiny change to menu header text. It was almost identical with the menu items themselv...
William Reynish [Fri, 24 Jul 2009 13:25:39 +0000 (13:25 +0000)]
tiny change to menu header text. It was almost identical with the menu items themselves, making it impossible to tell them apart.

10 years ago2.5
Ton Roosendaal [Fri, 24 Jul 2009 13:17:40 +0000 (13:17 +0000)]
2.5

Temp window now clips correctly on left side.
Also increased top offset for OSX to show window header.

10 years ago2.5 - Restored 'AutoSide Name' and 'Flip Names' operators for both PoseMode and Edit...
Joshua Leung [Fri, 24 Jul 2009 13:02:16 +0000 (13:02 +0000)]
2.5 - Restored 'AutoSide Name' and 'Flip Names' operators for both PoseMode and Edit Mode (Armatures).

Only the PoseMode menus work for now (since these use operators)

10 years ago2.5
Ton Roosendaal [Fri, 24 Jul 2009 12:45:25 +0000 (12:45 +0000)]
2.5

Related to previous commit:
- new file menu option "user prefs"
- removed 'save user pref' confirmation menu

10 years ago2.5
Ton Roosendaal [Fri, 24 Jul 2009 12:43:59 +0000 (12:43 +0000)]
2.5

New feature: allowing to open temporarily windows for output.
Implemented for:

- Render output (use output menu "new window" option).
- User Preferences (alt+U, plus added in 'File' menu)

Currently the window opens where your mouse is. The Render window
works as usual, with ESC or F11 moving it to back or front again.
That allows the window position to remain where you moved it on
new renders.
If you close a render window when it renders, the render thread
will be killed.

User prefs show 'info window' now... i thought we'd use outliner?
Anyhoo, I've made the 'save settings' to close the 2nd window as
well.

Opening a secondary file window for save I'll check on later,
this has to be checked with the current event system still.

the WM_window_open_temp() api call for this maintains currently
a *single* temp window. If you have a render window open, and call
for the preferences, the render window will be used for it. And
the other way around.

On closing the blender window, the temp windows close automatically
when there's no regular window open, and blender quits.

10 years ago2.5 - Restored Bone Paths Operators
Joshua Leung [Fri, 24 Jul 2009 12:27:42 +0000 (12:27 +0000)]
2.5 - Restored Bone Paths Operators

* A number-counter cursor is now used while sampling the curve
* Fixed some of the drawing errors with the paths. Unfortunately, when the armature is rotated, the path text is drawn in the wrong places still...

10 years agoUI
William Reynish [Fri, 24 Jul 2009 11:48:45 +0000 (11:48 +0000)]
UI

Added cursor location to the view panel in 3D view.

Removed the Shade Smooth/Flat buttons from mesh data for two reasons:

These kinds of tools are more appropriate in the tools area, and the context would not always match the selected datablock, if you have multiple objects selected, or if you're viewing the mesh data tab in 'pinned' mode.
The shade smooth/flat buttons are in the edit mode tools area now.

10 years agoRNA Wrapping Fixes:
Joshua Leung [Fri, 24 Jul 2009 11:24:00 +0000 (11:24 +0000)]
RNA Wrapping Fixes:

* Changed update callbacks for several armature properties to do proper depsgraph flushing instead of sending redraw notifiers

* Wrapped preview-range settings for Scene

* Fixed bug with 'parent-type' enum menu for Object parent-type. The problem here was that PARSKEL was used and is still used for both Armatures and Lattices, but the lattice entry would always override armatures entry. Now, when dynamically building the list to display, the function to add these is given the specific item to use, and has been made to stop after the first match has been added. Hopefully this doesn't break anything else...

10 years agoToolbar
William Reynish [Fri, 24 Jul 2009 11:14:59 +0000 (11:14 +0000)]
Toolbar

Improved the brush tools UI and added a bunch of brush controls. There seems to be some RNA magic missing for texture paint to work, so that's empty for now. Added tablet pressure buttons, which needs a new icon.

Added a bunch of tools in a categorized fashion for all edit modes. Need to figure out what to do for vert/edge/face specific tools - perhaps it could detect the mode setting and show most appropriate tools for each mode.

10 years ago2.5 - Timeline window now displays keyframe lines again
Joshua Leung [Fri, 24 Jul 2009 08:05:56 +0000 (08:05 +0000)]
2.5 - Timeline window now displays keyframe lines again

* Keyframes for scene-linked animdata is drawn first (if 'Only Selected Data Keys' is off)
* Keyframes are also drawn for the active object

10 years ago2.5 - Animation Tweaks (KeyingSets/NLA)
Joshua Leung [Fri, 24 Jul 2009 06:51:33 +0000 (06:51 +0000)]
2.5 - Animation Tweaks (KeyingSets/NLA)

* Insert Keyframes menu now only displays the 'active keyingset' entry when there are some KeyingSets.

* Moved the validation code for auto-blending/extend modes to NLA editor code, and included calls for this in many of the editing tools for NLA strips.

* Removed obsolete 'ID_IPO' entries from RNA-ID wrapping (these were commented out anyway).

10 years agoNLA - Auto-Blending + 'Smarter' Extend Behaviour
Joshua Leung [Fri, 24 Jul 2009 06:08:03 +0000 (06:08 +0000)]
NLA - Auto-Blending + 'Smarter' Extend Behaviour

* Auto-blending (blend in/out values get determined based on 'overlaps' of strips) now occurs after transforming strips. Where islands (continuous chains of strips) occur, only the ones on the ends of the islands will get or contribute to auto-blending.

* Extend modes (other than 'nothing') now get automatically determined (after transforms) so that moving strips will no-longer cause problems.

* Added a new option to hide influence curves in NLA. Also, made the line widths for these curves narrower, since the old setting was too ugly.

* Pose copy/paste buffer now gets freed on exit

10 years agoblender wasn't building on my system because of this, cant this use notifiers?
Campbell Barton [Thu, 23 Jul 2009 22:45:24 +0000 (22:45 +0000)]
blender wasn't building on my system because of this, cant this use notifiers?

10 years ago2.5: Render/Game Engine
Brecht Van Lommel [Thu, 23 Jul 2009 21:50:40 +0000 (21:50 +0000)]
2.5: Render/Game Engine

An engine to use for output can now be selected an influences what
shows in the buttons window, only showing relevant data. The idea
behind this is to make it more clear what is supported where, make
the system more pluggable for external render/game engines, and save
space hiding stuff that is not relevant anyway.

* Top header now has an engine menu, to choose between the blender
  render engine, game engine, and other future external engines.
* If the game engine is enabled, the buttons window should show
  only properties that work in the game engine, and similarly for
  the render engine.
* Moved panels from the logic space and game tabs to the physics,
  scene and world tabs instead, and removed the game tab.
* Materials and textures tabs should eventually become game
  specific too, to better show what is supported.

10 years ago2.5: Top Menu
Brecht Van Lommel [Thu, 23 Jul 2009 21:35:11 +0000 (21:35 +0000)]
2.5: Top Menu

* Clean up File menu, added back recover last session op.
* .blend compress now behaves a bit different, previously
  it would only respect the user preference. Now it saves
  existing files the same way they are saved, and new files
  following the user preference. The save operator has a
  Compress toggle in the file browser left panels now.

* Add menu working again, some fixes to make these operators
  work outside the 3d view were needed.
* Timeline menu removed, its contents will be moved to the
  timeline header menus.
* Game menu can now start game, changed the start game op
  to choose another 3d view if none is available.
* Render menu has a few items now.
* Help menu contains a few links again.

10 years ago2.5: UI
Brecht Van Lommel [Thu, 23 Jul 2009 20:50:24 +0000 (20:50 +0000)]
2.5: UI

* Fix issue where it would automatically scroll when collapsing panels.
* Fix panel dragging not taking zoom level into account.
* Fix enum menu having too small default width in headers.
* Fix tooltips not showing shortcuts etc. if there was not tooltip
  defined for the button.
* Fix some refresh issues with color ramps.

* Add a bit more space between columns in the layout engine.
* Make scrollers darker so they are less distracting, and highlight
  instead of reverse shading when dragging.

10 years ago2.5: Various
Brecht Van Lommel [Thu, 23 Jul 2009 20:40:51 +0000 (20:40 +0000)]
2.5: Various

* Buttons header: made tab buttons bigger, remove view menu,
  replaced by RMB menu in main region.
* Timeline header: tweak button placement and alignment, added
  a play reverse icon.
* Window type chooser menu: removed audio and scripts windows,
  change console and logic icons.
* Node space: disable the channel region until it is used.

10 years agoVarious layout tweaks. Improved game buttons, made minor adjustments to lamp, scene...
William Reynish [Thu, 23 Jul 2009 14:35:20 +0000 (14:35 +0000)]
Various layout tweaks. Improved game buttons, made minor adjustments to lamp, scene and fluids.

10 years agocmake updates for compiling with prebuilt py 3.1 on osx
Matt Ebb [Thu, 23 Jul 2009 14:20:08 +0000 (14:20 +0000)]
cmake updates for compiling with prebuilt py 3.1 on osx

10 years agopyrna,
Campbell Barton [Thu, 23 Jul 2009 13:48:15 +0000 (13:48 +0000)]
pyrna,
calling rna functions with the wrong argument type would raise an error like..
 expected a string type

Added an error prefix so now the message is..
 TypeError: UILayout.item_enumO(): error with argument 3, "value" -  expected a string type

10 years agoautocomplete wasn't working
Campbell Barton [Thu, 23 Jul 2009 12:31:45 +0000 (12:31 +0000)]
autocomplete wasn't working

10 years agoExternal cache
Janne Karhu [Thu, 23 Jul 2009 00:19:01 +0000 (00:19 +0000)]
External cache

Particle point cache can now be loaded from external files.
- Activated by "external" checkbox in cache panel and giving proper folder path and file name identifier.
- External cache panel has controls for particle emission start, end, lifetime and random lifetime. These should be set according to the external data for correct playback.
- External files should be named "identifier_frame_index.bphys" or "identifier_frame.bphys" where:
* "identifier" is a freely choseable name.
* "frame" is the cached frame number.
** Six digits padded with zeros!, for example "000024".
* "index" can be used to tell caches with the same identifier apart.
** Two digits starting from zero.
** The index and the underscore before are optional. If no index is present the index number in ui should be set to -1.
- Cache file format is pure floating point numbers (in binary, not text!) with each particle's data one after the other with the following data members:
* 3 floats: particle's location vector
* 3 floats: particle's velocity vector (per second)
* 4 floats: particle's rotation quaternion
* 3 floats: particle's angular velocity vector (per second)
* 1 float: frame of the actual data (this can be non-integer for particles that are born or die between two integer frames, but otherwise should be the same as the "frame" in the file name)
- Cache files don't have to exist for each frame.
* Frames without actual data are interpolated from surrounding frames that have data (extrapolation is not supported).
- Cache file formats with extended (or reduced even) data members are in future plans for easier usage.
- Current code only does particles, don't yet know if it's applicable to cloth or sb.
- Known issue: endianness can't yet be handled in any way.

Other changes:

New hard limits for many particle parameters. Some examples:
- Maximum amount of particles: 10M particles :) And before you all go and crash your Blender trying this out remember that this limit is only for those freaks who really have the machine power to handle it. 10M particles alone take around 2.2 Gb of memory / disk space in saved file and each cached frame takes around 0.5 Gb of memory / disk space depending on cache mode.
* Known issue: To actually use this many particles they most likely need to be allocated in parts as taking hold of a 2.2Gb chunk of memory at once is probably not ok with any operating system.
- Maximum amount of children: 100k children/particle (1T childparticles here we come :D)
- Kink frequency: -100k to 100k half-rotations (really strange the previous limit was only from zero upwards)
- Path draw steps: 10 (power of 2 remember)
- Path render steps: 20 (power of 2 also!! If over 1M segments doesn't get you smooth paths then I think nothing will!)

10 years agoChange to avoid trigraph confusions.
Guillermo S. Romero [Wed, 22 Jul 2009 22:12:55 +0000 (22:12 +0000)]
Change to avoid trigraph confusions.

10 years agoless verbose subtyping Py/C API code, use PyObject_CallFunction which supports packin...
Campbell Barton [Wed, 22 Jul 2009 19:50:21 +0000 (19:50 +0000)]
less verbose subtyping Py/C API code, use PyObject_CallFunction which supports packing the function args into a string.

10 years ago2.5 MSVC 9 projectfiles
Andrea Weikert [Wed, 22 Jul 2009 18:06:59 +0000 (18:06 +0000)]
2.5 MSVC 9 projectfiles
* maintenance: console_space, physics_boids, rna_render

10 years ago2.5
Brecht Van Lommel [Wed, 22 Jul 2009 17:20:04 +0000 (17:20 +0000)]
2.5

* Make EWA new default, rename Default to Box.
* Fix windows compile issue in texture filter code.

10 years ago* Updated CMake files to build with Python 3.1 on OS X by default. Remember to update...
Matt Ebb [Wed, 22 Jul 2009 12:43:37 +0000 (12:43 +0000)]
* Updated CMake files to build with Python 3.1 on OS X by default. Remember to update /lib to get the precompiled libraries!

10 years agoColorband UI
William Reynish [Wed, 22 Jul 2009 11:52:42 +0000 (11:52 +0000)]
Colorband UI

Fixed the 'Add' button

10 years agoColorband UI
William Reynish [Wed, 22 Jul 2009 11:40:59 +0000 (11:40 +0000)]
Colorband UI

Cleaned up the colorband UI, and tweaked the tooltips. BTW the 'add' button doesn't seem to work yet?

10 years agomissed this file
Campbell Barton [Wed, 22 Jul 2009 10:12:00 +0000 (10:12 +0000)]
missed this file

10 years agoremoving all functions from bpy.ui module, keeping the module incase its useful later.
Campbell Barton [Wed, 22 Jul 2009 10:09:59 +0000 (10:09 +0000)]
removing all functions from bpy.ui module, keeping the module incase its useful later.
removed a check in exotic.c that should be added back later.

10 years agoremove scriptlinks,
Campbell Barton [Wed, 22 Jul 2009 09:41:41 +0000 (09:41 +0000)]
remove scriptlinks,
they were not working and we have plans for better script integration in 2.5

10 years agoFixed weird alignment for new mesh objects. This still doesn't work correctly in...
Matt Ebb [Wed, 22 Jul 2009 06:31:36 +0000 (06:31 +0000)]
Fixed weird alignment for new mesh objects. This still doesn't work correctly in edit mode, but it's a bit more usable than before.

10 years agoSVN maintenance.
Guillermo S. Romero [Tue, 21 Jul 2009 21:31:13 +0000 (21:31 +0000)]
SVN maintenance.

10 years ago2.5: Render
Brecht Van Lommel [Tue, 21 Jul 2009 20:28:32 +0000 (20:28 +0000)]
2.5: Render

This adds a RenderEngine type to RNA, which can be subclassed
in python (c++ will follow once we support subclassing there).
It's very basic, but plugs into the pipeline nicely. Two example
scripts:

http://www.pasteall.org/6635/python
http://www.pasteall.org/6636/python

Issues:
* Render runs in a separate thread, and there is unrestricted
  access, so it's possible to crash blender with unsafe access.
* Save buffers and full sample are not supported yet.

10 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 20:05:16 +0000 (20:05 +0000)]
RNA

* ID blocks can now get RNA properties defined from python, e.g.:
  bpy.types.Scene.BoolProperty(..)
* RNA structs/functions/properties can now get pointers duplicated
  (mostly strings), since we can't point to some static string then.
* Added ExtensionRNA struct to add into *Type structs for subclassing,
  is a bit more compact than defining the 4 variables each time.
  Only disadvantage is it requires including RNA in more places.

10 years ago2.5:
Brecht Van Lommel [Tue, 21 Jul 2009 18:29:37 +0000 (18:29 +0000)]
2.5:

* Fix armature drawing crash with materials.
* Mixed texture/material preview was doing wrong gamma correction.
* Use *f math functions for AAO.

10 years ago2.5:
Brecht Van Lommel [Tue, 21 Jul 2009 18:23:45 +0000 (18:23 +0000)]
2.5:

* Windows fixes for texture filter & bump patches, thanks
  Jean-Michel Soler for noting.

* Added sqrtf/sinf/fabsf/... fallback #ifdefs in BLI_arithb.h,
  those should be safe to use now. Replacing the double for the
  float version throughout the code can be done once, but would
  need proper testing.

10 years agopy console wasnt working since r21743
Campbell Barton [Tue, 21 Jul 2009 15:52:15 +0000 (15:52 +0000)]
py console wasnt working since r21743

10 years ago2.5: fix crash on load when saving with a filebrowser open.
Brecht Van Lommel [Tue, 21 Jul 2009 14:28:41 +0000 (14:28 +0000)]
2.5: fix crash on load when saving with a filebrowser open.

10 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 14:11:51 +0000 (14:11 +0000)]
RNA

* Wrapped RenderResult, RenderLayer, RenderPass.
* Update RNA_access.h with new structs.

10 years ago2.5: Bump Mapping
Brecht Van Lommel [Tue, 21 Jul 2009 13:46:49 +0000 (13:46 +0000)]
2.5: Bump Mapping

Patch by Alfredo de Greef. Considerably improves the quality of bump
mapping, and texture filtering for displacement and warp too. Mainly
this is achieved by getting the texture derivatives just right in
various cases, many thanks to Alfredo for figuring this one out, works
great.

This is enabled by default now, but disabled still for existing
textures to preserve backwards compatibility. Can be enabled with
the "New Bump" option in the material texture slot in the outliner.

Also, I made the range for the normal factor a bit smaller since this
gives stronger effects, but note that you can still type in larger
values than the slider allows.

10 years agoSilencing warnings (mingw + scons) about undefined stuff...
Joshua Leung [Tue, 21 Jul 2009 13:20:39 +0000 (13:20 +0000)]
Silencing warnings (mingw + scons) about undefined stuff...

10 years ago2.5: Texture Filtering
Brecht Van Lommel [Tue, 21 Jul 2009 13:20:35 +0000 (13:20 +0000)]
2.5: Texture Filtering

Patch by Alfredo de Greef with high quality image texture filters.
This adds 3 new filters:

* SAT: Summed Area Tables. This is like mipmaps, but using somewhat
  more memory avoids some artifacts.
* EWA: Ellipitical Weighted Average, anisotropic filter.
* FELINE: Fast elliptical lines for anisotropic texture mapping.

The one change I made to this was to try to fix an alpha/premul
problem, hopefully I didn't break anything, it looks compatible
with the existing filter now for me.

10 years ago2.5 - Copy/Paste Operators for Armatures
Joshua Leung [Tue, 21 Jul 2009 13:12:40 +0000 (13:12 +0000)]
2.5 - Copy/Paste Operators for Armatures

* Buttons in header now use operators too. The paste-flipped button needs attention though, since the flipped argument isn't set yet

* Assigned Ctrl-C, Ctrl-V, and Ctrl-Shift-V to Copy/Paste/Paste-Flipped respectively for now.

* Auto-Keying for this doesn't work again yet. On todo for later...

---

* Also, new armatures now get the flag to show custom bone colours enabled by default.

10 years ago2.5: Texture Buttons
Brecht Van Lommel [Tue, 21 Jul 2009 12:57:55 +0000 (12:57 +0000)]
2.5: Texture Buttons

* World and Lamp previews now working here too.
* Experiment with list template, showing only icons. Unfortunately
  texture icon render crashes combined with preview render so it
  shows all icons the same.
* Influence panels updated, with slider for each option. The values
  are still linked though, will fix that later.
* Image texture controls a bit more complete, still WIP.
* Color ramp back.

10 years ago2.5 - More work on Bone Groups
Joshua Leung [Tue, 21 Jul 2009 12:38:01 +0000 (12:38 +0000)]
2.5 - More work on Bone Groups

* Added a new UI Template for the 3-colour picker used to visualise + select the custom colours for a bone group.

* Finished wrapping the colour properties for Bone Groups in RNA. Although changing the colour-set used will change the displayed/cached colours, changing the colours via the colour wells will not change the colour set to 'custom' (as per 2.4x) yet. This needs a nice solution...

* Fixed context-related bugs with the Assign/Remove operators for bone groups. These were using context-iterators for selected posechannels, but that was only defined/valid for the 3d view (but not for the buttons window), hence a failure in that case.

10 years ago2.5
Ton Roosendaal [Tue, 21 Jul 2009 12:19:46 +0000 (12:19 +0000)]
2.5

Overlooked WM event.val usage without checking proper #defines.
My previous commit made all input not work on any modifier key press.

10 years ago2.5
Ton Roosendaal [Tue, 21 Jul 2009 11:03:07 +0000 (11:03 +0000)]
2.5

Modal keymaps.

I've tried to make it as simple as possible, yet still using sufficient facilities to enable self-documenting UIs, saving/reading in files, and proper Python support.

The simplicity is: the 'modal keymap' just checks an event, uses event matching similarly to other keymap matching, and if there's a match it changes the event type, and sets the event value to what the modal keymap has defined. The event values are being defined using EnumPropertyItem structs, so the UI will be able to show all options in self-documenting way.
This system also allows to still handle hardcoded own events.

Tech doc:

1) define keymap
- Create map with unique name, WM_modalkeymap_add()
- Give map property definitions (EnumPropertyItem *)
  This only for UI, so user can get information on available options

2) items
- WM_modalkeymap_add_item(): give it an enum value for events

3) activate
- In keymap definition code, assign the modal keymap to operatortype
  WM_modalkeymap_assign()

4) event manager
- The event handler will check for modal keymap, if so:
  - If the modal map has a match:
    - Sets event->type to EVT_MODAL_MAP
    - Sets event->val to the enum value

5) modal handler
- If event type is EVT_MODAL_MAP:
  - Check event->val, handle it
- Other events can just be handled still

Two examples added in the code:

editors/transform/transform.c: transform_modal_keymap()
editors/screen/screen_ops.c: keymap_modal_set()

Also: to support 'key release' the define KM_RELEASE now is officially
used in event manager, this is not '0', so don't check key events with
the old convention if(event->val) but use if(event->val==KM_PRESS)

10 years ago2.5: python module name for import had trailing "."
Brecht Van Lommel [Tue, 21 Jul 2009 10:40:13 +0000 (10:40 +0000)]
2.5: python module name for import had trailing "."

10 years ago2.5 - Restoring Bone Groups
Joshua Leung [Tue, 21 Jul 2009 10:18:08 +0000 (10:18 +0000)]
2.5 - Restoring Bone Groups

* Added Bone Groups UI to 'Armature' context buttons for now. Later, it may be more convenient to have these with bones instead?

* Added operators for the operations that can be performed on these groups. Moved the core adding/removing functions to blenkernel so that they can be used elsewhere in future if need be.

* Properly wrapped bone groups in RNA. Copied the way that Vertex Groups are wrapped, since they share some similarities. Setting colours for bone groups still needs more work though.

10 years agoMake linux/scons default to python 3.1 rather then the version scons runs with.
Campbell Barton [Tue, 21 Jul 2009 10:13:20 +0000 (10:13 +0000)]
Make linux/scons default to python 3.1 rather then the version scons runs with.
for a while py2.x will work but eventually be dropped when most OS's support it, so Id recommend upgrading.

The following instructions are only needed if you don't use python3.1 installed in the default location.
For releases users wont have to worry about this.

# in python3.1 source dir, build and install into your own dir, /opt/py31 is just an example.
./configure --prefix="/opt/py31"; make; make install

# In the scons user-config.py...
BF_PYTHON = "/opt/py31"

# ... now build ...
#
# Blender now needs 2 things to run. ./lib/libpython3.1.so and the python modules.

# Symlink (or copy) python modules, blender sets this path for modules on startup if it is found.
ln -s /opt/py31/lib/python3.1 ~/.blender/python

# Currently static linking is not working without hacks because of limitations in scons.
# for releases we can workaround, but for now its easier to set an environment variable.
# To start blender so it can find libpython3.1.so make this into a shell script to save yourself typing it in all the time.
export LD_LIBRARY_PATH="/opt/py31/lib/"
./blender

10 years agoCleaned up logic buttons in logic space slightly.
William Reynish [Tue, 21 Jul 2009 09:35:39 +0000 (09:35 +0000)]
Cleaned up logic buttons in logic space slightly.

Moved Shade Smooth/Flat from Mesh obdata panel to tools area. These kinds of operator tools aren't really allowed in the buttons window anymore - whole point of new tools area :)
The only operators that are allowed in buttons window are things that act on the RNA fields, like add/remove buttons for adding vertex groups etc.

10 years agoBLI_setenv, use instead of copying ifdefs about for setting env vars.
Campbell Barton [Tue, 21 Jul 2009 09:26:28 +0000 (09:26 +0000)]
BLI_setenv, use instead of copying ifdefs about for setting env vars.
set PYTHONHOME as well as PYTHONPATH, quiets some warnings.

10 years ago2.5 - Porting 'Pose' Menu (and its submenus) to Layout Engine
Joshua Leung [Tue, 21 Jul 2009 05:08:59 +0000 (05:08 +0000)]
2.5 - Porting 'Pose' Menu (and its submenus) to Layout Engine

It's alarming how many tools are still missing here!

10 years ago2.5 - IK Constraint Tools + Constraint Editing Tweaks
Joshua Leung [Tue, 21 Jul 2009 04:21:07 +0000 (04:21 +0000)]
2.5 - IK Constraint Tools + Constraint Editing Tweaks

* Add/Remove IK now works again using Shift-I and Ctrl-Alt-I as before. The code for this is now located in editconstraint.c for now...

* Adding constraints with automatically added targets works again. It's a relief that the old code still works (with a minor tweak)

10 years ago2.5 - Constraint (Re)Naming
Joshua Leung [Tue, 21 Jul 2009 02:54:02 +0000 (02:54 +0000)]
2.5 - Constraint (Re)Naming

* Names for newly added constraints are now derived from the type of constraint, making it easier to identify the type of constraint

* Fixed crash when renaming constraints (due to invalid pointer being passed for the 'old' string name)

10 years ago2.5: Texture buttons preview now has an option to display the
Brecht Van Lommel [Tue, 21 Jul 2009 01:57:46 +0000 (01:57 +0000)]
2.5: Texture buttons preview now has an option to display the
texture, the material, or both side by side.

10 years ago2.5: Lamp button layout improvements by nudelZ.
Brecht Van Lommel [Tue, 21 Jul 2009 01:52:05 +0000 (01:52 +0000)]
2.5: Lamp button layout improvements by nudelZ.

10 years ago2.5: UI
Brecht Van Lommel [Tue, 21 Jul 2009 01:26:17 +0000 (01:26 +0000)]
2.5: UI

* List template visual changes. Items now look different,
  and it expands to size 5 as more items are added.

* Added LISTROW and LISTBOX elements. The former is like
  a typical ROW button, but looks diffrent. The latter
  looks like a BOUNDBOX, and has no extra features yet.
* Fix some glColor3ubv warnings with casting, did not find
  a nicer way.

10 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 01:14:55 +0000 (01:14 +0000)]
RNA

* Added suppport for generating code without verifying with DNA,
  this doesn't give good errors and is more error prone, but makes
  it easier to wrap things like EditBone which are not in DNA.
* RNA_define_verify_sdna(0), and set to 1 again afterwards.

10 years ago2.5: RNA & UI
Brecht Van Lommel [Tue, 21 Jul 2009 00:55:20 +0000 (00:55 +0000)]
2.5: RNA & UI

* Revert lamp sampling/buffers change. The right enum items should
  be defined in RNA, not the layout, so that it works in outliner,
  python api too.
* Also changed type popup to radio buttons again, and removed the
  icons. This is more consistent, and I don't think it's a good idea
  to start using icons for these things, too much clutter.

* Replace Mesh with Normals panel in the mesh buttons.
* Remove Material panel from mesh buttons.
* Added name fields for shape/vgroup/vcol/uv.
* Spacing tweak to Object and Bone names.

* Fix some naming conflicts in RNA, with "name" and "type" properties
  being defined twice in the same struct.

* context.scene.tool_settings -> context.tool_settings.

10 years ago2.5: Make shade smooth/flat operators consistent,
Brecht Van Lommel [Tue, 21 Jul 2009 00:36:07 +0000 (00:36 +0000)]
2.5: Make shade smooth/flat operators consistent,
and add object mode operators.

10 years agoForgotten file from boids commit.
Janne Karhu [Tue, 21 Jul 2009 00:31:33 +0000 (00:31 +0000)]
Forgotten file from boids commit.

10 years ago2.5: DNA fixes for game engine changes, making it work on 64bit.
Brecht Van Lommel [Tue, 21 Jul 2009 00:30:19 +0000 (00:30 +0000)]
2.5: DNA fixes for game engine changes, making it work on 64bit.

10 years agoSVN maintenance.
Guillermo S. Romero [Tue, 21 Jul 2009 00:19:07 +0000 (00:19 +0000)]
SVN maintenance.

10 years agoInitial code for boids v2
Janne Karhu [Mon, 20 Jul 2009 23:52:53 +0000 (23:52 +0000)]
Initial code for boids v2

Too many new features to list! But here are the biggies:
- Boids can move on air and/or land, or climb a goal object.
- Proper interaction with collision objects.
* Closest collision object in negative z direction is considered as ground.
* Other collision objects are obstacles and boids collide with them.
- Boid behavior rules are now added to a dynamic list.
* Many new rules and many still not implemented.
* Different rule evaluation modes (fuzzy, random, average).
- Only particle systems defined by per system "boid relations" are considered for simulation of that system.
* This is in addition to the boids own system of course.
* Relations define other systems as "neutral", "friend" or "enemy".
- All effectors now effect boid physics, not boid brains.
* This allows forcing boids somewhere.
* Exception to this is new "boid" effector, which defines boid predators (positive strength) and goals (negative strength).

Known issue:
- Boid health isn't yet stored in pointcache so simulations with "fight" rule are not be read from cache properly.
- Object/Group visualization object's animation is not played in "particle time". This is definately the wanted behavior, but isn't possible with the current state of dupliobject code.

Other new features:
- Particle systems can now be named separately from particle settings.
* Default name for particle settings is now "ParticleSettings" instead of "PSys"
- Per particle system list of particle effector weights.
* Enables different effection strengths for particles from different particle systems with without messing around with effector group setting.

Other code changes:
- KDTree now supports range search as it's needed for new boids.
- "Keyed particle targets" renamed as general "particle targets", as they're needed for boids too. (this might break some files saved with new keyed particles)

Bug fixes:
- Object & group visualizations didn't work.
- Interpolating pointcache didn't do rotation.

10 years agofix for recent stereo changes+tweaks
Dalai Felinto [Mon, 20 Jul 2009 22:36:56 +0000 (22:36 +0000)]
fix for recent stereo changes+tweaks
(it's the 3rd commit in a row. But as they say, the 3rd is always a charm ;)

I still think we have a little mess with the DEFINE parameters in BGE (as in RAS_IRasterizer::StereoMode).
We used to have them duplicated and hardcoded in 2.4xx, but I think we can do it in another way now.

(I didn't change gameplayer, but I can do it once we have it linking and building properly)

10 years agoUI layouts
William Reynish [Mon, 20 Jul 2009 21:31:32 +0000 (21:31 +0000)]
UI layouts

Changed order of panels in scene buttons to better follow order of importance, putting the post-processing options further down.

Cleaned up game physics properties

10 years agofix from last commit.
Dalai Felinto [Mon, 20 Jul 2009 20:42:13 +0000 (20:42 +0000)]
fix from last commit.
I thought """ """ could be used everywhere to make comments in python

10 years ago2.5 Lamps:
Thomas Dinges [Mon, 20 Jul 2009 20:34:14 +0000 (20:34 +0000)]
2.5 Lamps:

* Replaced RNA ENUM hacks for "shadow method" and "shadow_ray_sampling_method" with modifications in the layout file.

10 years agoBGE panels: wip
Dalai Felinto [Mon, 20 Jul 2009 20:28:29 +0000 (20:28 +0000)]
BGE panels: wip

Logic Panel:
- world settings (moved from world)
 ... that includes physic engine selection + gravity
- game player (from gamesettings, it wasn't wrapped)
- stereo/dome (from gamesettings, it wasn't wrapped)
 ... separated stereom into stereoflag and stereomode
- properties
 ... (didn't touch it)

Buttons Game Panel:
(wip panel)
- Physics (moved from Logic Panel)
 ... it will be a datablock in the future (right Campbell ?)
- Material Physics (not currently implemented)
 ... a datablock link to the materials of an object + the dynamic physic variables

* NOTE:
in readfile.c::do_version I couldn't do if(scene->world). There is something wrong with scenes with an unlinked world. So so far we are ignoring the old values....

10 years agomistake in own recent change, errors with startup scripts didnt raise errors
Campbell Barton [Mon, 20 Jul 2009 20:00:59 +0000 (20:00 +0000)]
mistake in own recent change, errors with startup scripts didnt raise errors

10 years agoOk, first commit! Hope this goes ok.
William Reynish [Mon, 20 Jul 2009 17:59:45 +0000 (17:59 +0000)]
Ok, first commit! Hope this goes ok.

Added the Turbidity parameter to the Sky panel in lamp buttons, since it affects sky as well as atmosphere.

10 years ago2.5 Notifier:
Thomas Dinges [Mon, 20 Jul 2009 17:42:40 +0000 (17:42 +0000)]
2.5 Notifier:

* Added some missing notifier for 3DView Display settings.

10 years agoSome little UI adjustments to cloth + fluid panel and their presets
Daniel Genrich [Mon, 20 Jul 2009 17:15:41 +0000 (17:15 +0000)]
Some little UI adjustments to cloth + fluid panel and their presets

10 years agopatch from William
Campbell Barton [Mon, 20 Jul 2009 16:39:16 +0000 (16:39 +0000)]
patch from William
 Cleaned up force fields panel, as well as the other fixes (sculpt, lamps)

10 years agoBGE Button types panel, can edit existing buttons but not add new ones yet.
Campbell Barton [Mon, 20 Jul 2009 16:21:55 +0000 (16:21 +0000)]
BGE Button types panel, can edit existing buttons but not add new ones yet.
World Physics panel too though Im not sure if we'll eventually move this into another struct.

10 years ago2.5 - Constraints Editing + Keyframe Drawing Tweaks
Joshua Leung [Mon, 20 Jul 2009 12:42:31 +0000 (12:42 +0000)]
2.5 - Constraints Editing + Keyframe Drawing Tweaks

Constraints:
* Adding constraints with targets should now work.
-- (When no target is provided, the code to create a new target is not yet in place again yet)
* Constraints can be added in Object and PoseModes again using the Ctrl-Shift-C hotkey.
* All constraints can now be cleared from the active Object or selected Bones using the Ctrl-Alt-C hotkey.
* Added warnings when adding constraints invalid for the current context, and removed the old add_constraint() function.
* Buttons window updates correctly after adding keyframes now

Keyframes Drawing:
* Removed un-necessary extra function-call for RB-Tree implementation, by inlining a special one-off case.
* Keyframe diamonds which are not within the viewable area are now not drawn (but filtering will still need to find them).

10 years agoAdded error prints if the text's main is not set.
Campbell Barton [Mon, 20 Jul 2009 11:30:27 +0000 (11:30 +0000)]
Added error prints if the text's main is not set.