Commit Graph

4900 Commits

Author SHA1 Message Date
Ton Roosendaal
98577f4e02 Review done with Matt; so here's a nicer version of the 'mini node'.
- nodes now have in header a triangle to minimize them or restore view
- mininodes have a scale dragger on right hand
2005-12-28 21:50:06 +00:00
Ton Roosendaal
59ef1bca6a Yes, there are 2 marker icons... only one was corrected for proper center
drawing.
2005-12-28 16:00:46 +00:00
Ton Roosendaal
9df1460777 Christmas coding work!
********* Node editor work:

- To enable Nodes for Materials, you have to set the "Use Nodes"
  button, in the new Material buttons "Nodes" Panel or in header
  of the Node editor. Doing this will disable Material-Layers.

- Nodes now execute materials ("shaders"), but still only using the
  previewrender code.

- Nodes have (optional) previews for rendered images.

- Node headers allow to hide buttons and/or preview image

- Nodes can be dragged larger/smaller (right-bottom corner)

- Nodes can be hidden (minimized) with hotkey H

- CTRL+click on an Input Socket gives a popup with default values.

- Changing Material/Texture or Mix node will adjust Node title.

- Click-drag outside of a Node changes cursor to "Knife' and allows to
  draw a rect where to cut Links.

- Added new node types RGBtoBW, Texture, In/Output, ColorRamp

- Material Nodes have options to ouput diffuse or specular, or to use
  a negative normal. The input socket 'Normal' will force the material
  to use that normal, otherwise it uses the normal from the Material
  that has the node tree.

- When drawing a link between two not-matching sockets, Blender inserts
  a converting node (now only for value/rgb combos)

- When drawing a link to an input socket that's already in use, the
  old link will either disappear or flip to another unused socket.

- A click on a Material Node will activate it, and show all its settings
  in the Material Buttons. Active Material Nodes draw the material icon
  in red.

- A click on any node will show its options in the Node Panel in the
  Material buttons.

- Multiple Output Nodes can be used, to sample contents of a tree, but
  only one Output is the real one, which is indicated in a different
  color and red material icon.

- Added ThemeColors for node types

- ALT+C will convert existing Material-Layers to Node... this currently
  only adds the material/mix nodes and connects them. Dunno if this is
  worth a lot of coding work to make perfect?

- Press C to call another "Solve order", which will show all possible
  cyclic conflicts (if there are).

- Technical: nodes now use "Type" structs which define the
  structure of nodes and in/output sockets. The Type structs store all
  fixed info, callbacks, and allow to reconstruct saved Nodes to match
  what is required by Blender.

- Defining (new) nodes now is as simple as filling in a fixed
  Type struct, plus code some callbacks. A doc will be made!

- Node preview images are by default float

********* Icon drawing:

- Cleanup of how old icons were implemented in new system, making
  them 16x16 too, correctly centered *and* scaled.

- Made drawing Icons use float coordinates

- Moved BIF_calcpreview_image() into interface_icons.c, renamed it
  icon_from_image(). Removed a lot of unneeded Imbuf magic here! :)

- Skipped scaling and imbuf copying when icons are OK size


********* Preview render:

- Huge cleanup of code....

- renaming BIF_xxx calls that only were used internally

- BIF_previewrender() now accepts an argument for rendering method,
  so it supports icons, buttonwindow previewrender and node editor

- Only a single BIF_preview_changed() call now exists, supporting all
  signals as needed for buttos and node editor


********* More stuff:

- glutil.c, glaDrawPixelsSafe() and glaDrawPixelsTex() now accept format
  argument for GL_FLOAT rects

- Made the ColorBand become a built-in button for interface.c
  Was a load of cleanup work in buttons_shading.c...

- removed a load of unneeded glBlendFunc() calls

- Fixed bug in calculating text length for buttons (ancient!)
2005-12-28 15:42:51 +00:00
Johnny Matthews
7837866b1e Getting rid of an unused var 2005-12-24 17:06:14 +00:00
Johnny Matthews
e4aa20fe2e Update for Shape Vert Propagate...
now sets RECALC for all objects that share the obedit's mesh data. So no more TAB-TAB nonsense :)  One caveat: Undo is on Global Level not editmode level.

Also added header note for Copy Shape Vert that MMB does 100% copy
2005-12-24 16:49:02 +00:00
Johnny Matthews
1276dd73ef Some bugreports from the orangers for Shape Vert Copy :)
1. Selection is now not lost on cancel
2. Subsurf now Updates
3. MMB copys at 100% immediately
4. Full copy removed from menu since due to #3
2005-12-23 15:20:27 +00:00
Johnny Matthews
04e24d868e Additional Shape Vert Copy Tools in editmode WKEY
Copy Shape Verts Blend (interactive blending copy)
Propagate Verts (copys selected verts from current to all other shapes)

UI for interactive needs work and Propagate verts needs tidying up, propagation does not show yet until TAB :(
2005-12-22 21:59:56 +00:00
Ton Roosendaal
17210112a1 Orange: Warning cleanup for Icons commit, missing declarations of some
calls caused icon hashing not to work too. Runs smooth here :)
2005-12-21 23:39:20 +00:00
Andrea Weikert
80eb4d3b9e Big commit in orange: Interface icons for materials, textures
world and lamp. Also for images in pupmenus.
Also preparation for work on using preview images in imagebrowser.

-- Andrea
2005-12-21 22:21:43 +00:00
Johnny Matthews
15766e1612 Copy Shape Verts
In mesh editmode, while editing a shape, select some verts, W Key, "Copy Shape Verts". You will be presented with a list of shapes and once chosen, the selected verts will be moved to the position of the verts from the chosen shape. Most handy use would be reverting part of a shape back to basis e.g.

Making eyebrow shapes, add a key and model the eyebrow shape symetrically with the x-mirror tool
Go out of editmode, copy that shape
Go into each shape and revert 1 side to basis

If the mesh has had verts added/removed since last entering editmode, you need to TAB-TAB first before copying
2005-12-21 21:37:11 +00:00
Ton Roosendaal
dabd52f89d Orange: some better support for new bone layers: action window now draws
nicer... it was still counting all bones for defining visible area, so
many times channels got displayed out of view.
2005-12-21 19:58:44 +00:00
Ton Roosendaal
63c8678263 Orange: small fixes as reported,
- follow path constraint + stride path didn't update correct on file load
- selection of 'stick' bones didn't work in object mode, solid view
- change bone layer sends redraw to NLA too
2005-12-21 17:49:43 +00:00
Ton Roosendaal
ce52827a05 Orange; daily noodler update commit.
- Adding execution code for Node trees. Was a bit a puzzle, since I want
  it to be multithreading by design. This now is solved by defining a
  stack per tree for all data that's being written into. This stack, which
  resides now in the NodeTree itself, then can be allocated per thread.

- For testing pleasure, I've added a 'mix node' and a 'show node', so
  you can already see it do something. :)

- reshuffled structure, to put things nice together, and have easier node
  adding. Current state is still WIP though, structure might change.
  For the record; new file node_shaders.c will contain all shader node
  definitions, apart from the drawing callbacks.

Next: I'm going to check on Andrea's work on icons now, since this is very
much needed for true shader/composit work.
Now back to release work...
2005-12-21 14:24:51 +00:00
Ton Roosendaal
b33c68c906 Orange: daily commit of continuing work on noodle editor.
- delete/duplicate with connection links
- type awareness for sockets
- make connections checks for max amount of possible connections
- added dependency sorting of node list
- cyclic connections are drawn red now, press Ckey to see the other bad
  cycles.
- added UI toolkit support in nodes (try shift+a)

So, almost ready for execution code. :)
2005-12-20 15:43:55 +00:00
Matt Ebb
06c5d4a873 orange: updated orange branch splash while I'm at it ;) 2005-12-20 14:36:53 +00:00
Ton Roosendaal
72d805f17d Orange: monday merger with bf-blender (loadsa bugfixes).
ALso: a bit tidying up in editaction.c and python Object.c
2005-12-19 18:56:08 +00:00
Ton Roosendaal
75a227e620 Orange:
Preparation for sync... some work done on hilites for node sockets.
2005-12-19 18:45:06 +00:00
Ton Roosendaal
c1a2851c0d Sync of blenderbuttons for orange and bf-blender, including Joilnens new
'sort by extension' icon.
2005-12-19 18:41:52 +00:00
Ton Roosendaal
d1ac57ac20 Bug reported by Andy; pressing Vkey in action editor (vector handles)
crashed when there's a channel with no ipo.
2005-12-19 18:29:05 +00:00
Ton Roosendaal
b4d7f5c581 Inserted a sanity check in the boolean modifier (not the Wkey, but the
modifier buttons). Prevents crashing on input of meshes with less than 4
faces.
2005-12-19 17:21:55 +00:00
Ton Roosendaal
f9b2a189fa #3631
Manipulator now centers on middle point of Bezier handle, when 2 or more
points in handle are selected.
2005-12-19 16:56:28 +00:00
Ton Roosendaal
2d6e7d58d0 #3628
Even while it's not supported, proportional mode was drawing a circle when
in EditMode armature.
2005-12-19 16:45:11 +00:00
Martin Poirier
a96bf9283a Move bug fix hack so it acts only when it needs too.
It was showing "global axis" even when using MMB to access user defined orientation (with Ctrl).
2005-12-19 16:32:18 +00:00
Ton Roosendaal
ec835f3d10 Updated the "multiple library" fixing... it will now also pop up a
menu to warn user that the file needs a saveover to get the fix
permanent.
2005-12-19 16:13:39 +00:00
Ton Roosendaal
bcd8e4aad8 #3635
Vpaint/weight/texture/UV modes were disabling zbuffer draw after drawing
the active object, causing objects to be drawn after (only selected ones)
to have no zbuffer on.
2005-12-19 15:55:26 +00:00
Ton Roosendaal
92e1e16429 Bugfix #3608
More bump issues... Env made very nice examples, but all of it quite nasty
to solve.
Three improvements I found nevertheless:

- bug in mipmap code for bump gave errors in one derivate, causing aliasing
- when Image texture option "Clip" was used, the imagetexture function
  returned wrong value, causing the caller to create own normal based on
  color (zero!).
- Mipmapped bump now also interpolates the samples (never did this...)
2005-12-19 14:00:32 +00:00
Toni Alatalo
20eccd99ab orange: cleaning up / (msvc) compile fixes to the new editnla functions (experimental / made for baking and AvailRot/Loc keying methods) 2005-12-19 13:41:50 +00:00
Ton Roosendaal
74374bcaf9 #3605
Shift+ctrl+A "Apply deformation" didn't work anymore, since we got the
Modifier stack. I've inserted a notice there for now, to point users to
the proper buttons.
2005-12-19 11:55:31 +00:00
Ton Roosendaal
60b22c1e71 #3598
Uninitialized 'alpha' flag in Image texture could cause render errors.
Didn't show in OSX though... (stupid system here inits stack to zero).
But, Ken Hughes found this, so all credits are for him!
2005-12-19 11:30:52 +00:00
Ton Roosendaal
f5b5bd03b5 Orange: Stupid darn branches maintenance is @#@$!
The fix in bf-blender to prevent the release to read groups got in Orange
branch now too... tsk tsk!
2005-12-19 11:13:02 +00:00
Ton Roosendaal
0a64b3e7c4 #3593
The user settings "auto rotate grid" or "auto scale grid" were never
implemented for new transform, apparently.
2005-12-19 11:01:44 +00:00
Ton Roosendaal
5884082ef6 #3581
Using the MMB constraint chooser in Transform, accidentally printed the
setting from the orientation menu (Local, View, Normal).
Martin: not sure if this a solid fix... the print now looks fine, but the
code isn't nicer this way. :) (just a one liner change though!).
2005-12-19 10:49:37 +00:00
Ton Roosendaal
d48c9c416d #3592
Normal rendering; adding gamma corrected halo could cause NaN's because
of a negative sqrt().
2005-12-19 10:31:32 +00:00
Ton Roosendaal
deb804546a Orange: new icon image from andy :) 2005-12-18 23:17:01 +00:00
Ton Roosendaal
be0b59ea6d Orange; update commit on WIP project for Noodle editing. :)
- Grabbing works (Gkey) or tweak (LMB) or use RMB click-drag for grab
- Shift+d works
- Akey: select all
- Drawing links works too now!
2005-12-18 23:08:22 +00:00
Toni Alatalo
87d9ca4b99 orange: py2.3 compat 2005-12-18 21:20:11 +00:00
Toni Alatalo
01d05142b1 orange: bpy Pose type 2005-12-18 21:03:57 +00:00
Ton Roosendaal
2986d03e77 Orange: Made dashed parent-offset lines option for drawing Poses.
Was too ugly! :)
2005-12-18 20:57:04 +00:00
Johnny Matthews
fe74c08510 Tri-Triple Subdivide filling was messed up. This should straigten it out when cuts > 2 2005-12-18 20:50:32 +00:00
Joilnen Leite
9b34c429c7 added ICON_SORTBYEXT for sort by ext feature
.
2005-12-18 20:45:03 +00:00
Toni Alatalo
0c76f64554 orange: fix to complete the uncommitting of Ton's test function 2005-12-18 20:28:38 +00:00
Joilnen Leite
2d223ea655 added icon of sort by extension
.
2005-12-18 20:23:30 +00:00
Joilnen Leite
b5abff6a55 Changed that sortby extension icon for new made by P-Luc_Alclair
agreed by broken, stivs, antont, Unamed and me thanks
.
2005-12-18 20:21:57 +00:00
Toni Alatalo
fae20e494e orange: animation baking code. also a patch to autokey, to only key the keys made. 2005-12-18 20:14:22 +00:00
Jean-Luc Peurière
63d0e03bcf applying Volker Mische engine patch
correct bug #3594
2005-12-18 19:10:26 +00:00
Matt Ebb
c33831ac16 * Updates for missing menu items 2005-12-18 18:05:14 +00:00
Nils Thuerey
6f422a749a - yet another minor fluidsim fix - when using a start frame != 1
the scene is now exported at that time, still
  numbering and reading the files from zero to noFrames
2005-12-18 16:49:50 +00:00
Nils Thuerey
f98851f32c - another small fix thats prevent a cryptic error message
if the fluid is baked without proper frame start & end
  settings
2005-12-18 15:55:11 +00:00
Ton Roosendaal
3bba3813bd Orange branch:
Aye, the SConscript files need the new C files too.
Note for later: MSVC needs fix too then!
2005-12-18 13:52:07 +00:00
Ton Roosendaal
e14ff3de3d Orange:
- Sunday merger with bf-blender

- Foundations for new Node editor in Blender, generic framework that can
  be used for Material/Texture, Compositing, Logic or maybe even Sequencer.
  Note: this doesn't do anything yet, nor save! Is just to get this nice
  in CVS now. :)
2005-12-18 13:46:01 +00:00