bf-Blender / Linux (2005/10/03)

User-contributed CVS development builds. Please test and give feedback!

Moderators: jesterKing, stiv

Post Reply
gabio
Posts: 0
Joined: Thu Jan 15, 2004 6:41 am
Location: Canada - Québec - Sherbrooke
Contact:

bf-Blender / Linux (2005/10/03)

Post by gabio » Mon Oct 03, 2005 5:26 pm

Hi, I'm trying to build as often as possible now. Better than nothing.
Lotsa new stuff again. Enjoy. Hair: driven ipo, new strand channel..

Note: This build is done with glibc 2.3.5 and python 2.4.2. So very last version of python, though 2.4 will do. Testing python is a must. I'll most likely post the next one Down to official platform spec of Blender.org, using the offical building env.
--------------------------
Relevant feature:
-Bugfixes
-Hair made easy with static particle
-Removed ancient (2.1) feature for Constraints... Blend data between constraint.
-Added 'Set Smooth' and 'Set Solid' to the mesh edit mode specials menu/toolbox/3d view menu
-Added "anisotropic" rendering for static particle hair strands.
-New hair "strand" channel
-Added shadow buffer support for wire material and particle strands
-added right mouse click to cancel a sequence strip transform
-Added additional shiftKEY + spaceKEY to fullscreen/tile window spaces.
-Version 1.0 of IpoDrivers.
-New! Edit mode curve now draws solid extrusions, bevelcurves and tapers.
-Added copying curve resolution settings to the copy attributes (ctrl c) menu

Commit:
-ton
Log:
Ftgl patch for texture fonts got lost... somehow. That made them much
slower than pixmap fonts. Test on buttons window CTRL+ALT+T timer shows it
goes down from 2500 to 100 on this commit. :)

-ascotan
Log:
- added some equivalency testing for vector classes
>, >=, <, <= test vector magnitude
==, != test vector values 'within epsilon' :)
- inspired by ideasman

Log:
added the method saveRenderedImage to the RenderData object
- should allow users to render a filename.extension to the render path
Example:

import Blender

s = Blender.Scene.GetCurrent()
r = s.getRenderingContext()
r.setRenderPath('C:\\')
r.render()
r.saveRenderedImage('myRender.jpg')
Blender.Scene.Render.CloseRenderWindow()

-zuster
Log:
- tooltip fix, double sided pretended it was per face

-ascotan
Log:
Refcount fixes
* fixes posible reference count issues with mathutils
* mathutils classes should no longer memory leak

Log:
-fix for angleBetweenVecs
* adds a test to check for zero-length vectors

-ton
Log:
Shaded drawmode, ogl preview render, does update for lights.

-stiv
Log:
set object->recalc flag when we change object's loc, rot, etc.
fix for problems with frame change scene scriptlinks.

-ton
Log:
Hair!

Thanks to testing in studio orange (thnx andy, matt!) I've found the
simple way to code it.

Static particle systems, when not set to wire or halo, now render 1 pixel
wide 'strands', which are actually just faces with vertexnormals and
proper orco texture. Check for quick fun;

Image
Image
Image
Image

Log:
Suppressed another GL_FRONT drawing routine, causing potential slowdowns
for some configs. This was an old hack for sgi's, so I've put it behind an
ifdef for sgi and suns now.

Test if blender still works by switching screens, and check for the borders
between the blender area windows. These should draw all nice empty/black.

Log:
Removed ancient (2.1) feature for Constraints... a highly undocumented and
unpredictable one!

This is what it did; if two or more Constraints are of the same type, it
accumulates the Target positions/rotations for the constraints, averages
them, and then only applies the last Constraint in the row. It seems to
be a trick to blend IK Constraints or so... in all other cases I cannot
find a good use for it (nor did Bassam).

For example; add three Empties, and make one Empty to have 2 location
constraints to the other two. This just didn't work, unless you insert
an "Empty" constraint inbetween.
I will post in the blender.org animation forum feedback for it too. :)

Its quite easy to make it an option, but I first like to grasp fully what
the actual use of such an option is.

Log:
Bugfix;

- buttons "Show" and "Key" didn't set the active constraint, causing
confusement in display for the IpoWindow

Also made the backdrop for constraints and modifiers to use the Panel
theme color, making it better integrated.

Log:
Bugfix;

Ipo window could crash on reading old files with keys, non proper use
of pointer...

Log:
Brought back (lost with modifier code) display of actual amount of faces
for subsurfs in info header.

-broken
Log:
* Added 'Set Smooth' and 'Set Solid' to the mesh edit mode specials menu/toolbox/3d view menu so you don't always have to keep switching back to edit buttons.

-stiv
Log:
fix Curve.update() method to use new DAG features.

-ton
Log:
- Added "anisotropic" rendering for static particle hair strands.
This means the diffuse and specular shaders don't use the normal
for hair (which is actually undefined, a hair is micro cylinder) but
it uses the tangent vector (vector in direction of hair).

For Diffuse, it computes a fake normal now, representing the optimal
hair normal pointing towards the light. All current builtin shaders
work with this, including ramps.

For Specular, it uses another formula to remap dot products for all
lines that now use the tangent vector instead of the normal:

dot = vector * tangent
dot = sqrt(1.0 - dot*dot)

Gives better results than using the 'fake' normal for diffuse. Officially
(according the papers) this could be used for diffuse too, but then hair
becomes very flat. Now you can control the flatness easily with ramps or
using Oren-Nayer for example.

Example image (disappears in some weeks)
http://www.blender.org/bf/rt9.jpg

- Added new texture channel "Strand" to apply textures on hairs over the
length of hair (1 dimensional). Orco now gives 1 fixed coordinate for
the entire hair, based on where it starts.
Note; UV doesn't work yet. Nor vertexcolor.

Image

-intrr
Log:
Fix Python API to correctly create Text3D objects. This is just a
temporary fix (duplicating code again), the *real* fix would be to once
make one central function to create and init a text object for all
places...

I also tried to introduce compatibility code to be able to load old files
with broken text objects (cu->tb == NULL due to missing init code).

Hope it works :)

-ton
Log:
Orange report bug; Adding a new scene, choose "link obdata" gives corrupt
memory. Poses should be relinked right after duplicating, not during a
redraw (when more objects use same armature).

Added in readfile a patch to make sure files saved with this duplicate
error can still be used.

Log:
New hair "strand" channel has wrong texture coord input... it rendered
from 0 - 1, instead of -1 to 1. Thats fixed.
The error made tests i did with alpha make nice though, apparently hairs
are nicer when rendered with alpha range 0.0 to 0.5.

Log:
- Added shadow buffer support for wire material and particle strands
(Since strands are screen-aligned, it didn't fill in OK yet)

No shadow;
Image
Shadow;
Image

Log:
Bugfix #3115

Undo after you did a layer change, didn't restore the 'active layer' in the
3d window. Adding a new object then is invisble.

Log:
Bugfix #3112

Mesh selection in editmode didnt work proper with new ALT+B clip option.

-broken
Log:
* added right mouse click to cancel a sequence strip transform, like everything else in blender.

Log:
* Added additional shift space to fullscreen/tile window spaces. So much
more convenient than ctrl uparrow/downarrow since you don't have to take
your hand off the mouse!

-intrr
Log:
Possible fix for bug #3094 - use normal malloc/free for stuff that gets
alloced inside SDL threads.

Log:
Fix SHIFT finetuning for edgeslide (aftermath from a warning cleanup ;-)

-guitargeek
Log:
For loopcut, have the event queue ignore MOUSEX and MOUSEY events to help prevent it from bottlenecking

Log:
A little more cleanup of the loopcut code. Hoping to gain some speed, and letting qread() finish its work instead of breaking. I think this may have been causing trouble.

-desoto
Log:
This commit sets the info header on the preferences window and the
header prints on the 3d view header to be the same color as the menu text.
This ensures that you can read the text against the color of the header
just as long as the theme color for the menu text is also readable against
the header color. This should make dark themes much better.

-ton
Log:
Crash fix; rendering AO with envmap on didn't work.

Note that envmaps still render without raytracing.

-zuster
Log:
- add support for Python Buffer()s of type DOUBLE

-theeth
Log:
Fixing bones grab in "pose" transform. Bug #3030: http://projects.blender.org/tracker/?fu ... group_id=9

It didn't do initgrabz correctly.

Log:
Transform MMB behavior correction, as mentionned in meeting.

MMB uses global axis, Ctrl-MMB uses user defined. (Alt-MMB cause conflict with the window manager on linux)

(for hotkeys, first press is global, second press is user defined)

-ton
Log:
Version 1.0 of IpoDrivers.

First note that this is new functionality, unfinished, and only for
testing and feedback purposes. I'll list below what works, and what will
need work still.

This text is also in cms: http://www.blender.org/cms/Ipo_Drivers.680.0.html

An IpoDriver is like an IpoCurve, but instead of a Bezier curve, it allows
to connect a property of other Objects as input for the "channel". For
example, IpoDrivers can be used to have a Shape Key being "driven" by
the rotation of a Bone. Or the RGB colors of a Material get driven by the
XYZ location of an Object.

Editing of Drivers happens in the IpoWindow. Here you can notice that the
channels (right hand window) now have an "active" channel indicator.
To add a Driver, you have to use the "Transform Properties" Panel (Nkey).
Here you can add or remove a Driver to the active channel, and use the
buttons to fill in what kind of relationship you want to establish.

Driver Objects

Note that any Ipo Channel can become driven now, but that only Object
transformation or Pose Bone transformation can be used to become a
Driver now.
At this moment, only the local transformation is taken into account.
For Objects that means the location/rotation/scale value without Parent
transform (as shown in "Transform Properties" Panel for Objects).
For Pose Bones it means that only the Pose transform (changes of rest
position) is Driver information (also as shown in Transform Property
Panel in Pose Mode).

Mapping of Drivers

When an Ipo Channel is "driven", the mapping is by default one-to-one.
It is only restricted by already built-in limits for Channels, like
for Material the "R" value can only range from 0.0 to 1.0.

Also note that when mapping rotations, the actual rotation values
in Ipos are scaled down with a factor 10.0. (180 degrees actually has
in the Ipo system a value of 18.0). This is an ancient year zero
convention in Blender... it is a bit hidden, because the ruler
(vertical as well as horizontal) displays the virtual values correctly.
Only the Properties panel shows the actual value.

When you draw an IpoCurve in a Driven channel, this curve will define
the mapping between the Driver output (horizontal) and Driven input
(vertical, as usual).
A nice new option to use is "Insert one-to-one curve" (press I-key,
or in pulldown menu). This will also zoom the display in exactly to
fill the window, allowing easy edit. If you use this option with
degrees, it will map 180 degree rotation to a range of 1.0 unit.

Live updates

Since the Drivers are integrated in the Ipo system, they will always
be updated whenever an Ipo is evaluated. This happens at least on
frame changes.
For interactive feedback, updates while transforming objects were
added in these cases:

- Driven Object Ipos, by other Objects or Pose Bones
- Driven Shape Key Ipos, by other Objects or Pose Bones

You can also insert Drivers on Action Ipos, but these are only evaluated
on frame change now.

Todo

- Drivers can also get a text button, allowing a 1 line Python script
to be executed.
- Make UI for it a bit less hidden... maybe with visualization in 3D?
- Allowing global transform coordinates as Driver too.

Issues

- renaming Bones won't rename drivers
- (file) appending the Ipo won't append the linked driver Objects

example: http://orange.blender.org/wp-content/th ... cetest.avi

Log:
Ipowindow header: Curve menu crashed when no curve was created yet.

Log:
Bug fix; action editor, inserting mesh keys crashed. Referencing ipo stuff.

(yes, studio orange is testing :)

-guitargeek
Log:
bug #2909

header is redrawn at the end of loopcut to fix part 2 of the bug , my previous commit fixed the first half of it :)

-ton
Log:
Bugfix #3046

When using 3d window "unlocked" (own layer and own camera possible), the
dependency updates didn't work, these were only using Scene layers.

Changed the dependency graph call DAG_scene_flush_update()
to accept an argument for all visible layers in a Screen.

Log:
Bugfix #3138

Editbuttons "Centre" options didn't correctly use depgraph for linked data.

Log:
Bugfix #3133

- Rendering an image with Border didn't check for sizes smaller than 1
pixel yet.

Related to this code I found 2 other fixes:

- Themecolor set for drawing in Render Window was not restored correctly,
sometimes causing into wrong Panel (transparency) drawing.

- When rendering an image with Gauss, it now renders by default 1 pixel
extra, which gets stripped. This eliminates the "ugly" darker border
in images.
(Yes, let's make Mr. PixelCounter Goralczyk happy! :)

Log:
IpoWindow, Action curve update.

When no Ipo existed yet for an Action Channel (Bone), you could not add
curves with CTRL+click or Drivers. This was due to antique action code
state... it's still messy, no time for big cleanup here yet. At least
this works now. :)

(Also: removed test prints of previous commit)

Log:
New! Edit mode curve now draws solid extrusions, bevelcurves and tapers.

Fix: when unlinking an Action from Armature, the ipo window still allowed
adding drivers, causing crashes.

-antont
Log:
added getting names of shapes/KeyBlocks to bpy api so mikasaari can continue with his lipsync script (where names of phonemes are as names of shapes/keyblocks).

Log:
Adding Drivers in Actions now update live as well.

The main change is that an Action now always updates Poses on transform,
unless you are editing the Pose itself. Please test!

-broken
Log:
* Added copying curve resolution settings to the copy attributes (ctrl c) menu
----------------------------------------
a new build is available
Last edited by gabio on Sun Oct 30, 2005 11:20 pm, edited 1 time in total.

hackyou
Posts: 0
Joined: Mon Jun 13, 2005 9:59 am

Post by hackyou » Mon Oct 03, 2005 9:25 pm

Hi Gabio, i can't find the new shader on that build and even the ability to create a vertex group for the new hair tool.

Bye

gabio
Posts: 0
Joined: Thu Jan 15, 2004 6:41 am
Location: Canada - Québec - Sherbrooke
Contact:

Post by gabio » Tue Oct 04, 2005 2:21 am

It's not a shader, but a map-input option.
You need to add particle to an object, then go in material, map-input panel and you'll see "strand" mapping.

And no the vertex group for particle is not in there because it's still not commited.

tv
Posts: 0
Joined: Thu Sep 08, 2005 9:31 pm

Post by tv » Tue Oct 04, 2005 12:34 pm

I can't get it to launch in Ubuntu warty. Even if i set binary to 777 or 755.

Maybe it's due Python? Mine is still 2.3.4. Will you post another compilation , backwards compatible? Thanks.

gabio
Posts: 0
Joined: Thu Jan 15, 2004 6:41 am
Location: Canada - Québec - Sherbrooke
Contact:

Post by gabio » Tue Oct 04, 2005 3:00 pm

Next one will be offical-like

madman
Posts: 0
Joined: Sat Jun 19, 2004 3:06 am

Post by madman » Thu Oct 06, 2005 6:16 pm

I can't get it to launch in Ubuntu warty. Even if i set binary to 777 or 755.

Maybe it's due Python? Mine is still 2.3.4. Will you post another compilation , backwards compatible? Thanks.
Maybe is the version of you glibc...
I have the same situation... i can't run this version of blender...
my python is 2.4

if i try update my glibc, i need to uninstall a lot of applications... :(

P.D.
Use Mandriva LE 2005

kidb
Posts: 0
Joined: Wed Jul 23, 2003 4:31 pm
Contact:

Post by kidb » Thu Oct 06, 2005 7:48 pm

madman wrote:
I can't get it to launch in Ubuntu warty. Even if i set binary to 777 or 755.

Maybe it's due Python? Mine is still 2.3.4. Will you post another compilation , backwards compatible? Thanks.
Maybe is the version of you glibc...
I have the same situation... i can't run this version of blender...
my python is 2.4

if i try update my glibc, i need to uninstall a lot of applications... :(

P.D.
Use Mandriva LE 2005
What does the output say, when you start blender from the console?
What glibc-version do you have?
There are nightly cvs builds on blendertestbuilds.de.

tv
Posts: 0
Joined: Thu Sep 08, 2005 9:31 pm

Post by tv » Fri Oct 07, 2005 12:01 am

glibc ... hmm ...

there I have another cvs build, a bit older which runs fine.
tuhopuu compilations otoh don't show life signs here, either

mandriva LE has python 2.4 onboard, right?

I have the Future publishing 4cd set, but Ubuntu looks more -put me in cd and come back later: don't even TRY to think meanwhile-

personally I'd like to make a tiny killbill slax with all modules I want (and none of those which I don't) and install it on hd. with deep paint of course. :idea:

madman
Posts: 0
Joined: Sat Jun 19, 2004 3:06 am

Post by madman » Sat Oct 08, 2005 4:33 am

What does the output say, when you start blender from the console?
What glibc-version do you have?
I think... i have glibc 2.3.4
Ya mandriva LE have a 2.4 version of python.

In the console appear this:
[madman@localhost blender-2.37aCVS]$ ./blender
Using Python version 2.4
'import site' failed; use -v for traceback
No installed Python found.
Only built-in modules are available. Some scripts may not run.
Continuing happily.
Segmentation fault
[madman@localhost blender-2.37aCVS]$
Blender 2.37a Official:
[madman@localhost blender-2.37as]$ ./blenderstatic
Using Python version 2.3
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
No installed Python found.
Only built-in modules are available. Some scripts may not run.
Continuing happily.
Traceback (most recent call last):
File "<string>", line 80, in ?
ImportError: No module named math
Saved session recovery to /home/madman/tmp/quit.blend

Blender quit
I check and python is installed.
[madman@localhost ~]$ python
Python 2.4 (#2, Feb 12 2005, 00:29:46)
[GCC 3.4.3 (Mandrakelinux 10.2 3.4.3-3mdk)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

tv
Posts: 0
Joined: Thu Sep 08, 2005 9:31 pm

Post by tv » Sat Oct 08, 2005 12:57 pm

hmm ... 237a official works very fine in my ubuntu.

BUT !!! I had very similar problem with math module, when I tried to run a 238cvs compilation (done with Python23), which was throwing *math.so* related errors while trying to run some scripts.

hmm ... I tried to instal mandriva LE, but the whole thing freezes on the screen with big penguin (the screen after the first one) and i can only shut down. I have adaptaec 2940u2w ... maybe that's the problem?

Post Reply