Blender Git Commits

Blender Git "master" branch commits.

Page: 5288 / 5574

December 30, 2005, 15:56 (GMT)
Bugfixes:

- Deleting bone in editmode did not check for pose layers when
clearing pose channels or constraint targets....

- Button 'use nodes' in header of Node editor could only be pressed once

- New 'normal' button messed with default material in blender

- Theme options for Node window available now in Info window
December 30, 2005, 14:17 (GMT)

Added a python hook to Joining objects
Object.Join()

Seperated the join calls from space.c and view3dmenu into join_menu() in space.c, like the select_group_menu(),
okee's from join_curve, join_mesh.. etc are in join_menu() so python can call them without UI menu's in the way.
this is also a bit neater since there were 2 places that were doing what join_menu() does now.

- Cam
December 30, 2005, 11:56 (GMT)
Ooops 2 tipos in the epydocs...
December 30, 2005, 11:54 (GMT)
Added the function Duplicate to the object module.
Object.Duplicate(linked=1)

Basicly a wrapper for adduplicate();

There was previously no easy way to copy objects in python. even the ways that do exist dont take modifiers, particles etc into account.
Uses the current selection.. epydocs included also.

- Cam
December 30, 2005, 11:25 (GMT)
Orange: daily noodle updates;

- Texture Node: now displays 'intensity values' in node too, and has input,
and shows in buttons when activated in Node editor. (no browsing buttons
yet...)

- New: "Normal Node". This uses a new UI button, which allows to quickly
input a normal vector, based on spherical coordinates.
The Normal Node has optional vector input, and delivers a dot product
then. This can be used as a blending factor between nodes, or for fake
extra light in a certain direction.

- New: "Geometry Node". This actually replaces the Input node. It offers
all coordinates (vectors) as being the starting point for shading and
for textures. Note: for preview render this doesn't give much different
results yet... this is the start for real render support!

- http://www.blender.org/bf/rt5.jpg
The two new nodes in action

- Bugfix: the "Block" button (which delivers popups) did not return a
correct event when nothing happened (mouse moved out), which could
cause mouse clicks to be passed on to the queue.
December 30, 2005, 09:56 (GMT)
for Mesh_getFromObject made Mesh and Surf types copy the material list to the new mesh.
Still need to do Mball and Text.
Ken- this is fairly straight fwd but if you dont like it - its line 4867 of Mesh.c and 1 block that can be removed.
I tested for memory leaks and correct material user adjustment.
This is realy needed for using getFromObject to export to external rendering engines.
- Hope its ok.
Cam
Revision 10d67f2 by Chris Want
December 29, 2005, 23:26 (GMT)
With the royal blessing of guitarGeek, I commit the sharp/flat mesh
editmode selection tools. The documentation can (currently) be
found here:

http://mediawiki.blender.org/index.php/Requests/SharpFlatSelect
December 29, 2005, 19:27 (GMT)
*crash fix
- previous fix crashes win32 and creates an unreachable code block
December 29, 2005, 19:07 (GMT)
To make learning how NodeTree Materials work easier; changed the default
when you turn a Material into NodeTree.

It now doesn't link own Material to the first added Material Node, but
allows you to do it, or create a new one.
December 29, 2005, 18:08 (GMT)
More node goodies!

First note; this is a WIP project, some commits might change things that
make formerly saved situations not to work identically... like now!

------ New Material integration ------

Until now, the Node system worked on top of the 'current' Material, just
like how the Material Layers worked. That's quite confusing in practice,
especially to see what Material is a Node, or what is the "base material"

Best solution is to completely separate the two. This has been implemented
as follows now;

- The confusing "Input" node has been removed.
- When choosing a Material in Blender, you can define this Material to be
either 'normal' (default) or be the root of a Node tree.
- If a Material is a Node tree, you have to add Nodes in the tree to see
something happen. An empty Node tree doesn't do anything (black).
- If a Material is a Node Tree, the 'data browse' menus show it with an
'N' mark before the name. The 'data block' buttons display it with the
suffix 'NT' (instead of 'MA').
- In a Node Tree, any Material can be inserted, including itself. Only in
that case the Material is being used itself for shading.

UI changes:

Added a new Panel "Links", which shows:
- where the Material is linked to (Object, Mesh, etc)
- if the Material is a NodeTree or not
- the actual active Material in the Tree

The "Node" Panel itself now only shows buttons from the other nodes, when
they are active.

Further the Material Nodes themselves allow browsing and renaming or adding
new Materials now too.

Second half of today's work was cleaning up selection when the Nodes
overlap... it was possible to drag links from invisible sockets, or click
headers for invisible nodes, etc. This because the mouse input code was
not checking for visibility yet.
Works now even for buttons. :)
December 29, 2005, 12:06 (GMT)
Fixed a python segfault when linking a new object to a scene that had no data and was a Surf. the data wasnt created and blender died. Now an error is raised instead.
December 29, 2005, 11:08 (GMT)
Just added some comments about face material incides and the material list.
December 29, 2005, 10:33 (GMT)
Added some details to the Object documentation, some parts were a big vague..
December 29, 2005, 10:31 (GMT)
Fixed scaling of vector icons. Also cleaned up using explicit number for
icon height with #define ICON_DEFAULT_HEIGHT.
Revision e330e46 by Matt Ebb
December 28, 2005, 23:18 (GMT)
tiny tweaks to hiding triangles etc :)
December 28, 2005, 21:50 (GMT)
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
December 28, 2005, 16:02 (GMT)
New icon image
December 28, 2005, 16:00 (GMT)
Yes, there are 2 marker icons... only one was corrected for proper center
drawing.
December 28, 2005, 15:42 (GMT)
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!)
December 27, 2005, 20:37 (GMT)
- include path and file changes for FreeBSD
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021