15 years agoAccidentally committed without log...
Ton Roosendaal [Thu, 2 Feb 2006 22:35:23 +0000 (22:35 +0000)]
Accidentally committed without log...

This commit removes old preview-image signals for Compositor, this was
obsolete when event-based updates were added, and was still causing
recalculations for example on loading files.

15 years agoAdded better safety in vertex/weight paint, so it survives painting outside
Ton Roosendaal [Thu, 2 Feb 2006 21:52:35 +0000 (21:52 +0000)]
Added better safety in vertex/weight paint, so it survives painting outside
the window edge. Also did a paranoia larger memory allocation... weird
reports I got.

15 years agoThree feats;
Ton Roosendaal [Thu, 2 Feb 2006 21:08:39 +0000 (21:08 +0000)]
Three feats;

- RenderLayers with 'view layers' set, now also take visible lights into
  account. Works just like for scene layer settings.

- On ESC from render, compositing (if set) is being skipped too

- While rendering with multiple RenderLayers it will end with a display
  of the current RenderLayer (as in Scene buttons)

15 years agoDuplicator bugfix: particle duplicators were not restoring the matrix for
Ton Roosendaal [Thu, 2 Feb 2006 19:54:42 +0000 (19:54 +0000)]
Duplicator bugfix: particle duplicators were not restoring the matrix for
the duplicated object correctly. This appeared like object disappeared.

Note; to see this fix work on older files, you have to invoke a depsgraph
call, like by grabbing the duplicated object.

15 years agoRender fix: object-duplicators now give their layer setting to the
Ton Roosendaal [Thu, 2 Feb 2006 19:31:15 +0000 (19:31 +0000)]
Render fix: object-duplicators now give their layer setting to the
duplicates, enabling lighting and layer-render properly.

15 years agoIf Images have relative path, and come from a library, it uses the library
Ton Roosendaal [Thu, 2 Feb 2006 18:28:01 +0000 (18:28 +0000)]
If Images have relative path, and come from a library, it uses the library
path as reference for loading the image.

15 years agofeatures & fixes:
Ton Roosendaal [Thu, 2 Feb 2006 17:54:22 +0000 (17:54 +0000)]
features & fixes:

- Enabled Groups to execute in Compositor. They were ignored still.
  Note; inside of groups nothing is cached, so a change of a group input
  will recalculate it fully. This is needed because groups are linked
  data (instances use same internal nodes).

- Made Composit node "Viewer" display correctly input for images with
  1/2/3/4 channels.

- Added pass rendering, tested now with only regular Materials. For
  Material nodes this is quite more complex... since they cannot be
  easily separated in passes (each Material does a full shade)
  In this commit all pass render is disabled though, will continue work on
  that later.
  Sneak preview:  (temporal image)

- What did remain is the 'Normal' pass output. Normal works very nice for
  relighting effects. Use the "Normal Node" to define where more or less
  light should be. (Use "Value Map" node to tweak influence of the
  Normal node 'dot' output.)

- EVIL bug fix: I've spend almost a day finding it... when combining AO and
  mirror render, the event queue was totally screwing up... two things not
  related at all!
  Found out error was in ray-mirror code, which was using partially
  uninitialized 'ShadeInput' data to pass on to render code.

- Another fix; made sure that while thread render, the threads don't get
  events, only the main program will do. Might fix issues reported by
  people on linux/windows.

15 years agoCurve tool was not threadsafe... it was storing premultiplied curves in
Ton Roosendaal [Thu, 2 Feb 2006 14:37:25 +0000 (14:37 +0000)]
Curve tool was not threadsafe... it was storing premultiplied curves in
a function (static vars) itself, causing mixups of curve data on usage.

15 years ago* This should have come along with the cursors commit before, to make the standard...
Matt Ebb [Thu, 2 Feb 2006 12:16:23 +0000 (12:16 +0000)]
* This should have come along with the cursors commit before, to make the standard cursor show when over a window header. *blush*

15 years agoBug #3854: Extruded/Bevelled text objects didn't get the right materials
Alexander Ewering [Thu, 2 Feb 2006 12:13:08 +0000 (12:13 +0000)]
Bug #3854: Extruded/Bevelled text objects didn't get the right materials
for front/back faces. This should also fix and enable overlapping extruded/
bevelled characters.

15 years agoyet another temporary strange but straightforward hack for a script at orange to...
Toni Alatalo [Wed, 1 Feb 2006 22:21:46 +0000 (22:21 +0000)]
yet another temporary strange but straightforward hack for a script at orange to work! that is: while Joseph is working on the actual Constraint API for bones etc., this allows our armature script to set influences with a simple call: armatureobject.setConstraintInfluenceForBone(bonename, constraintname, influence); fails silently at failure ('cause the c calls used do and no retvals are checked) and is in the strange place (as the current api is largely not object level) but works for us for now (e.g. next few weeks).

15 years agoStrangely, the BLI_timestr() function returns nonsense on linux for
Chris Want [Wed, 1 Feb 2006 20:16:50 +0000 (20:16 +0000)]
Strangely, the BLI_timestr() function returns nonsense on linux for
ia64. It appears that if I get rid of the fmod expression, and
use integer math I get the right values. Hopefully this isn't a
problem for anybody.

15 years agobugfix: Object.Get() throws ValueError rather than AttributeError.
Stephen Swaney [Wed, 1 Feb 2006 15:21:05 +0000 (15:21 +0000)]
bugfix: Object.Get() throws ValueError rather than AttributeError.

15 years ago3ds importer distributed with Blender 2.41 is broken in 2 places so bugfixed and...
Campbell Barton [Wed, 1 Feb 2006 10:52:54 +0000 (10:52 +0000)]
3ds importer distributed with Blender 2.41 is broken in 2 places so bugfixed and updated...

Version 0.93
- Tested with 400 3ds files from turbosquid, model cd's and net samples.
- Tactfully ignore faces that used the same verts twice.
- Rollback to 0.83 sloppy un-reorganized code, new code broke UV coord loading.
- Converted from NMesh to Mesh. First importer to use Mesh.
- Faster and cleaner new names.
- Use external comprehensive image loader.
- Re intergrated 0.92 and 0.9 changes
- Fixes for 2.41 compat.
- Non textured faces do not use a texture flag.

15 years agoAdded a function for importers to use, comprehensive image loader takes an imagepath...
Campbell Barton [Wed, 1 Feb 2006 10:31:49 +0000 (10:31 +0000)]
Added a function for importers to use, comprehensive image loader takes an imagepath and a file path- and imports the image, if it exists it uses the one alredy loaded or does a realy good job of finding the right image case insensitite if the normal path is not found. looks in all the logical places for the image- If teh image isnt found then a new dummy image is returned.
The nice thing about this is you can request an image and  you know youll get an image back- without doing your own error handeling.

15 years agofix for bug of long group long name, bug found and fixed for bmx007
Joilnen Leite [Wed, 1 Feb 2006 10:08:42 +0000 (10:08 +0000)]
fix for bug of long group long name, bug found and fixed for bmx007

15 years agoremoving dead experimental code
Jens Ole Wund [Wed, 1 Feb 2006 09:46:34 +0000 (09:46 +0000)]
removing dead experimental code

15 years agoMade preview render only use non-threaded tile processor, got reports
Ton Roosendaal [Tue, 31 Jan 2006 23:25:53 +0000 (23:25 +0000)]
Made preview render only use non-threaded tile processor, got reports
of crashes, and noticed here theres something not well functioning
with ghost & threads, probably. Will test that tomorrow more.

15 years agoWIP
Jens Ole Wund [Tue, 31 Jan 2006 22:48:41 +0000 (22:48 +0000)]
-- fast softbody collision /* caching colliding objects & some global bounding boxes */
-- to compare .. set rt to 666

15 years ago==Python API===
Ken Hughes [Tue, 31 Jan 2006 22:18:07 +0000 (22:18 +0000)]
==Python API===
Minor typo fixes for Object API.

15 years agoThree features;
Ton Roosendaal [Tue, 31 Jan 2006 21:49:05 +0000 (21:49 +0000)]
Three features;

- Live scanline updates while rendering
Using a timer system, each second now the tiles that are being processed
are checked if they could use display.
To make this work pretty, I had to use the threaded 'tile processor' for
a single thread too, but that's now proven to be stable.

Also note that these updates draw per layer, including ztransp progress
separately from solid render.

- Recode of ztransp OSA
Until now (since blender 1.0) the ztransp part was fully rendered and
added on top of the solid part with alpha-over. This adding was done before
the solid part applied sub-pixel sample filtering, causing the ztransp
layer to be always too blurry.

Now the ztransp layer uses same sub=pixel filter, resulting in the same
AA level (and filter results) as the solid part. Quite noticable with hair

- Vector buffer support & preliminary vector-blur Node
Using the "Render Layer" panel "Vector" pass button, the motion vectors
per pixel are calculated and stored. Accessible via the Compositor.

The vector-blur node is horrible btw! It just uses the length of the
vector to apply a filter like with current (z)blur. I'm committing it anyway,
I'll experiment with it further, and who knows some surprise code shows up!

15 years ago-some knitpicking on low scale brushes
Jens Ole Wund [Tue, 31 Jan 2006 21:43:59 +0000 (21:43 +0000)]
-some knitpicking on low scale brushes
-- should do 'alpha' right now ..  down to brushes of 2 pixel size
-making AUX1/2 real air brushes .. must have been lost by brechts 'cleaning'

15 years agoreturned a revised result output, style "Copied UV from object Cube to object(s)...
Toni Alatalo [Tue, 31 Jan 2006 21:01:50 +0000 (21:01 +0000)]
returned a revised result output, style "Copied UV from object Cube to object(s) ['Cube.004', 'Cube.003', 'Cube.002', 'Cube.001']."

15 years agolittle sanifying: now copies UV coords from the active object to (other) selected...
Toni Alatalo [Tue, 31 Jan 2006 20:57:05 +0000 (20:57 +0000)]
little sanifying: now copies UV coords from the active object to (other) selected object(s), and rises exceptions for the cases where does not work. documentation to be improved .. and perhaps the API shows RuntimeErrors with messages for the users nicely in popups or something in the phuture.

15 years agoan initial version of a simple UV copy script, gotta decide and implement the UI...
Toni Alatalo [Tue, 31 Jan 2006 19:47:52 +0000 (19:47 +0000)]
an initial version of a simple UV copy script, gotta decide and implement the UI integration still, is .. eh suboptimal here, but is noted with XXX in comments with suggestions :) .. thanks for theeth and others on Elysiun who made this, and for Unnamed on irc for digging up .. seems that NMesh -> Mesh conversion was not necessary, but might be a nice excercise.

15 years agoIn some PC's (not mine) forced grid casued an infinate loop. - commenting until more...
Campbell Barton [Tue, 31 Jan 2006 12:13:53 +0000 (12:13 +0000)]
In some PC's (not mine) forced grid casued an infinate loop. - commenting until more is discovered.

15 years ago* Fix to adaptively grow and shrink the width of the Ipo channel list based on the...
Matt Ebb [Mon, 30 Jan 2006 23:25:42 +0000 (23:25 +0000)]
* Fix to adaptively grow and shrink the width of the Ipo channel list based on the width of the names.

Now we can actually distinguish our shape ipo channels!

15 years agoRemoved gradients- too intense, just forced all hoz gridlines for now.
Campbell Barton [Mon, 30 Jan 2006 22:31:01 +0000 (22:31 +0000)]
Removed gradients- too intense, just forced all hoz gridlines for now.

15 years agoAdded KX_VehicleWrapper.cpp
Kent Mein [Mon, 30 Jan 2006 21:51:11 +0000 (21:51 +0000)]
Added KX_VehicleWrapper.cpp

(Let me know if this doesn't fix it, no time to test it.)


15 years agoadded more game-engine physics vehicle infrastructure.
Erwin Coumans [Mon, 30 Jan 2006 20:49:41 +0000 (20:49 +0000)]
added more game-engine physics vehicle infrastructure.

15 years agoprepared physics/game engine infrastructure for vehicle support.
Erwin Coumans [Mon, 30 Jan 2006 20:33:59 +0000 (20:33 +0000)]
prepared physics/game engine infrastructure for vehicle support.
fixed a python related bug with physics contraints
fixed some line-ending problem with blenderbuttons.c

makefile/scons/projectfiles need to add source/gameengine/Ketsji/KX_VehicleWrapper.cpp

15 years agoMore simple fixes to cleanup warnings and what not:
Kent Mein [Mon, 30 Jan 2006 19:59:33 +0000 (19:59 +0000)]
More simple fixes to cleanup warnings and what not:
        added newline at end of file.
        fixed indentation and had nested declarations of a varible i used
                for multiple for loops, changed it to just one declaration.
        added prototypes and a couple other fixes.
        added struct definitions
        removed unused variables;
        changed format of case statements to avoid warnings in gcc.


15 years agoFix: buttons previewrender was re-rendering on scrolling a lot, this due
Ton Roosendaal [Mon, 30 Jan 2006 19:39:05 +0000 (19:39 +0000)]
Fix: buttons previewrender was re-rendering on scrolling a lot, this due
to rounding noise when trying to detect if previewsize changed. Made it
use a threshold now.

Fix: SHIFT+P in editmode is still push/pull, outside editmode it'll do
the preview render. (Note; editmode changes are not updated anyway!)

15 years ago* Allow the Sequence editor to scale in Y axis too. Why was this never enabled?
Matt Ebb [Mon, 30 Jan 2006 16:34:18 +0000 (16:34 +0000)]
* Allow the Sequence editor to scale in Y axis too. Why was this never enabled?

15 years agoBugfix: missing faces on edge of image
Ton Roosendaal [Mon, 30 Jan 2006 16:23:14 +0000 (16:23 +0000)]
Bugfix: missing faces on edge of image

Yesterdays commit slightly extended clipping area for window, to ensure
no empty borders get rendered. Unfortunately it reveiled a case in code
that was never handled; clipping code was throwing away good faces. Old
bug... but apparently never showed up?

15 years agosmall fix for wave drawing. Made trackview draw gradiants as background. Grid does...
Campbell Barton [Mon, 30 Jan 2006 12:41:33 +0000 (12:41 +0000)]
small fix for wave drawing. Made trackview draw gradiants as background. Grid does not necessarly represent tracklines at the moment and this is a nice way to show tracks.

15 years agoThe patch to pre-emptify the queues for 'clever numbuts' didn't check for
Ton Roosendaal [Mon, 30 Jan 2006 11:30:37 +0000 (11:30 +0000)]
The patch to pre-emptify the queues for 'clever numbuts' didn't check for
non-existant windows, causing crash for example in Action window for shapes

15 years agoCreated threadsafe MEM_malloc versions in BLI_threads.h, now in use
Ton Roosendaal [Mon, 30 Jan 2006 11:09:50 +0000 (11:09 +0000)]
Created threadsafe MEM_malloc versions in BLI_threads.h, now in use
for compositing code.

Officially malloc/calloc/free is threadsafe, but our secure malloc system
requires all memory blocks to be stored in a single list, so when two
threads write in this list you get conflicts.

15 years agoP back to Play Game :)
Erwin Coumans [Mon, 30 Jan 2006 05:43:07 +0000 (05:43 +0000)]
P back to Play Game :)
<shift>P = preview toggle.
Don't know what the previous <shift>P did, something like 'Transform'. Ton, can you look into this?

15 years agorevert to sane defaults in sconstruct for darwin
Jean-Luc Peurière [Mon, 30 Jan 2006 00:45:44 +0000 (00:45 +0000)]
revert to sane defaults in sconstruct for darwin

game engine and openal were disabled

15 years agoWhen using Duplicated Objects (like vertex dupli) the original isn't
Ton Roosendaal [Sun, 29 Jan 2006 23:45:11 +0000 (23:45 +0000)]
When using Duplicated Objects (like vertex dupli) the original isn't
rendered anymore, to prevent overlapping situations. This worked before.

Note; group dupli stuff will test later. :)

15 years agoadding needed entries to stubs.c after orange branch commit
Jean-Luc Peurière [Sun, 29 Jan 2006 23:41:15 +0000 (23:41 +0000)]
adding needed entries to stubs.c after orange branch commit
so that player compiles.

15 years agoreduced dithering on sequence wave redraw.
Campbell Barton [Sun, 29 Jan 2006 23:28:50 +0000 (23:28 +0000)]
reduced dithering on sequence wave redraw.

15 years agoTwo issues solved in render recode;
Ton Roosendaal [Sun, 29 Jan 2006 23:01:33 +0000 (23:01 +0000)]
Two issues solved in render recode;

- the sub-pixel masks for applying correct filters (gauss and friends)
  accidentally were y-flipped, causing bad looking results.

- zbuffer was clipping extremely narrow, causing border pixels to miss
  samples, and reveiling alpha that way (was in old render a prob too)

15 years ago==SConscript fix for cygwin==
Tom Musgrove [Sun, 29 Jan 2006 22:58:58 +0000 (22:58 +0000)]
==SConscript fix for cygwin==

cygwin build environ was missing the path for libtiff

15 years ago== interface ==
Matt Ebb [Sun, 29 Jan 2006 22:25:53 +0000 (22:25 +0000)]
== interface ==
Two new mouse cursors (paintbrush and text I-bar) made by basse (he even made the patch!), inspired by Bart's page.

I also changed screenmain() ever so slightly, so that the standard cursor is always used when the mouse is over a window header.

15 years agoUse ALsizei/GLsizei to fix compile errors on mac / gcc 4.x.
Brecht Van Lommel [Sun, 29 Jan 2006 21:29:14 +0000 (21:29 +0000)]
Use ALsizei/GLsizei to fix compile errors on mac / gcc 4.x.

15 years agoScripts:
Willian Padovani Germano [Sun, 29 Jan 2006 21:04:30 +0000 (21:04 +0000)]

Small typo (or so it seems) in bevel center, preventing it from working.

15 years agoBug #3837
Martin Poirier [Sun, 29 Jan 2006 19:38:52 +0000 (19:38 +0000)]
Bug #3837

A commented if in toets.c for flipping the render buffer prevented the propagation of the keypress to handler in space.c

Ton: I added a temporary check for no qualifier but it's missing a test for an opened render window.

15 years agoScripts:
Willian Padovani Germano [Sun, 29 Jan 2006 19:17:53 +0000 (19:17 +0000)]

The orange -> HEAD merge reverted some scripts to older versions. This only
affected the ones that already existed before the orange branch.
Minor issue, easy to fix.

All in all, kudos to kaito, Hos and others for all the hard work in
bringing (coding, merging) all these changes to the main branch.

15 years agoPrevious fix was in wrong part of code... not alpha adding was wrong, but
Ton Roosendaal [Sun, 29 Jan 2006 18:04:15 +0000 (18:04 +0000)]
Previous fix was in wrong part of code... not alpha adding was wrong, but
there was an error in the zbuffer code!

This should fix combinations of using Ztransp and Solid faces.

15 years ago1. making RenderData, xrect, yrect parameters in AviCodec calls
Jens Ole Wund [Sun, 29 Jan 2006 17:46:19 +0000 (17:46 +0000)]
1.  making RenderData, xrect, yrect parameters in AviCodec calls
2. fixing MSVC6 projects to build

15 years agoAccidentally mixed up addAlphaUnder and addAlphaOver in merging solid and
Ton Roosendaal [Sun, 29 Jan 2006 17:40:06 +0000 (17:40 +0000)]
Accidentally mixed up addAlphaUnder and addAlphaOver in merging solid and
ztransp layers, for OSA renders. :)

15 years agoBugfix #3797: 24-bit BMP images weren't read properly. Standard apparently
Ken Hughes [Sun, 29 Jan 2006 15:23:26 +0000 (15:23 +0000)]
Bugfix #3797: 24-bit BMP images weren't read properly. Standard apparently
assumes each raster line is padded to a multiple of 4 bytes.

15 years agoFix some of Stealth Apprent's warnings/errors and some extra little stuff.
Kent Mein [Sun, 29 Jan 2006 15:15:34 +0000 (15:15 +0000)]
Fix some of Stealth Apprent's warnings/errors and some extra little stuff.
here is a quick summary...


removed tri_index (unused variable)

removed extra ;

added <ctype.h>

moved things around so not doing forward declarations

changed render.h to render_types.h

added newline

commented out include "PIL_time.h" code that requires it is commented out

reading blender/src/writeavicodec.c
(struct keyword to a couple of lines that needed it)
and added:
extern struct Render R;

added extern Render R;
added #include "rendercore.h" to get rid of undeclared shade_material_loop
        (Not sure if this is right but it fixes it.
Did not fix this problem, is it alright to just pass NULL here or should we chan
ge it to something else:
        init_render_materials' : too few

removed argument to dHashSpaceCreate
commented out dWorldQuickStep since it does not exist

15 years agoFixed a few problems with wave drawing-
Campbell Barton [Sun, 29 Jan 2006 14:58:41 +0000 (14:58 +0000)]
Fixed a few problems with wave drawing-
Optimized so only samples inside the screens bounds are drawn.
Wave display detail is based on zoom - so you can view realy large wave files as well as indervidual samples.
Changed logic so an approximation of the wave is displayed rather then just the symetrical amplitude of the sound.
Triangles at start and end were annoying and obscured the start of the sound. made them alpha 0.7 for sound clips only.
a whole CD of music should display well and zoom smoothly now.

15 years agoCompositing: the "RGB Curves" node now has an optional 'factor' input as
Ton Roosendaal [Sun, 29 Jan 2006 14:37:17 +0000 (14:37 +0000)]
Compositing: the "RGB Curves" node now has an optional 'factor' input as
well. It currently only is active when you input a mask (alpha, z).
Nice to do grading on certain parts of image only :)

15 years agoFix: theme color version patching should start with 2.41 too.
Ton Roosendaal [Sun, 29 Jan 2006 13:12:42 +0000 (13:12 +0000)]
Fix: theme color version patching should start with 2.41 too.

15 years agoThe preview.blend file, which is datatoc'ed in blender/src
Ton Roosendaal [Sun, 29 Jan 2006 13:11:05 +0000 (13:11 +0000)]
The preview.blend file, which is datatoc'ed in blender/src

15 years agoPreviewrender (buttons) now supports Lamp, Texture and Sky previews
Ton Roosendaal [Sun, 29 Jan 2006 13:10:20 +0000 (13:10 +0000)]
Previewrender (buttons) now supports Lamp, Texture and Sky previews
again. One exception I didn't solve yet... for the Stucci texture.

In a next commit I will add the preview.blend, so people can play with it!

The rules for preview.blend are pretty primitive still... might become
a bit more advanced later. Here's what it uses now:

- If Object has name starting with 'p' it will get the to-be-previewed
  Material or Lamp assigned
- If Object has name starting with 't' its Material gets the texture
  assigned for Texture previews

The layer codes for current preview options are in DNA_material_types.h;

#define MA_SPHERE 0
#define MA_CUBE 1
#define MA_FLAT 2
#define MA_MONKEY 3
#define MA_SPHERE_A 4
#define MA_TEXTURE 5
#define MA_LAMP 6
#define MA_SKY 7

(SPHERE_A is sphere with alpha for icons)

15 years agoBugfix; version patching for new armature layers and Node editor themes
Ton Roosendaal [Sun, 29 Jan 2006 12:53:57 +0000 (12:53 +0000)]
Bugfix; version patching for new armature layers and Node editor themes
had to check 2.41 files too. Orange branch was still in 2.40...

15 years agoThree-in-one commit:
Ton Roosendaal [Sun, 29 Jan 2006 11:36:33 +0000 (11:36 +0000)]
Three-in-one commit:

- Compositor now is threaded
Enable it with the Scene buttons "Threads". This will handle over nodes to
individual threads to be calculated. However, if nodes depend on others
they have to wait. The current system only threads per entire node, not for
calculating results in parts.

I've reshuffled the node execution code to evaluate 'changed' events, and
prepare the entire tree to become simply parsed for open jobs with a call
to   node = getExecutableNode()
By default, even without 'thread' option active, all node execution is
done within a separate thread.

Also fixed issues in yesterdays commit for 'event based' calculations, it
didn't do animated images, or execute (on rendering) the correct nodes
when you don't have Render-Result nodes included.

- Added generic Thread support in blenlib/ module
The renderer and the node system now both use same code for controlling the
threads. This has been moved to a new C file in blenlib/intern/threads.c.
Check this c file for an extensive doc and example how to use it.

The current implementation for Compositing allows unlimited amount of
threads. For rendering it is still tied to two threads, although it is
pretty easy to extend to 4 already. People with giant amounts of cpus can
poke me once for tests. :)

- Bugfix in creating group nodes
Group node definitions demand a clear separation of 'internal sockets' and
'external sockets'. The first are sockets being linked internally, the latter
are sockets exposed as sockets for the group itself.
When sockets were linked both internal and external, Blender crashed. It is
solved now by removing the external link(s).

15 years agoMade mesh align to face/verts also align to an edge and a verts normal, existing...
Campbell Barton [Sun, 29 Jan 2006 08:36:01 +0000 (08:36 +0000)]
Made mesh align to face/verts also align to an edge and a verts normal, existing functionality was not changed.
usefull for rotating about an edge.

15 years agoSmall edit so undo+redraw is only done when removeDoubles actually does somthing.
Campbell Barton [Sun, 29 Jan 2006 08:01:04 +0000 (08:01 +0000)]
Small edit so undo+redraw is only done when removeDoubles actually does somthing.
Would anyone have a problem with me going through and making functions like triangulate, flip normals tri2quad etc all return how many changes made? - then undo+redraw can be done only when needed.

15 years ago==warnings cleanup==
Tom Musgrove [Sun, 29 Jan 2006 06:04:13 +0000 (06:04 +0000)]
==warnings cleanup==

killed off some newline warnings in bullet

15 years agoTwo missing declarations in this include file.
Ton Roosendaal [Sat, 28 Jan 2006 20:23:53 +0000 (20:23 +0000)]
Two missing declarations in this include file.

15 years agoCleanup of blender/ module; Makefiles now compile this warning free.
Ton Roosendaal [Sat, 28 Jan 2006 20:17:48 +0000 (20:17 +0000)]
Cleanup of blender/ module; Makefiles now compile this warning free.
Mostly was unused variables, unused functions, missing prototypes and
missing include files.

15 years ago==compiling==
Tom Musgrove [Sat, 28 Jan 2006 19:57:09 +0000 (19:57 +0000)]

need this version to compile with cygwin...

15 years agoPut back the -O2 default for compiling with makefiles in OSX.
Ton Roosendaal [Sat, 28 Jan 2006 19:48:29 +0000 (19:48 +0000)]
Put back the -O2 default for compiling with makefiles in OSX.
I disabled it for testing in orange...

15 years agocomposit, composite, compose ... what's the diff? You sconz0rs need
Chris Want [Sat, 28 Jan 2006 19:25:43 +0000 (19:25 +0000)]
composit, composite, compose ... what's the diff? You sconz0rs need
filename globbing!

Added 'e' to renamed file.

15 years agoWow! bugfix in bf-blender again!
Ton Roosendaal [Sat, 28 Jan 2006 19:05:49 +0000 (19:05 +0000)]
Wow! bugfix in bf-blender again!

Simon C. gave me a nice crash.blend, in zbuffered transparent render.
Was a malloc that should become calloc... :)

15 years agoThe code from the orange branch has now been copied into HEAD.
Chris Want [Sat, 28 Jan 2006 18:33:28 +0000 (18:33 +0000)]
The code from the orange branch has now been copied into HEAD.

Here are some notes written by Ton:

There's several areas I still have to work on, so don't immediately
report bugs!

- Preview renders in buttons window only supports materials now (no
lamp, texture or world)
- Yafray code has to be checked, it might not work
- unified render doesn't work, might not come back even
- lens flares dont work yet
- motion blur and field render doesnt work yet
- exr libraries are static linked still, we look at making it dynamic
- the compositor is fully in development still

I really advise people to check on the orange cvs logs too (in case you
ignored it), this has most of the information in it.

At this moment I still have to code for Orange deadlines, that defines
my priority listing mostly. And since we don't use Windows there, doing
testing and bugfixing for that platform would be of great help!

Best features of this commit to checkout:

- Grouping
- full fixed library linking system
- custom bone drawing
- bone layers
- Material/Shading nodes
- recode of render engine
- preview renders
- Compositing options

When the work pressure is a bit lower, I'll make nice docs for all of


15 years agoThe extern/bullet from HEAD is needed to compile the gameengine in orange
Chris Want [Sat, 28 Jan 2006 17:25:03 +0000 (17:25 +0000)]
The extern/bullet from HEAD is needed to compile the gameengine in

15 years agoOrange: missing sync for game engine in orange, compiles now again!
Ton Roosendaal [Sat, 28 Jan 2006 17:19:21 +0000 (17:19 +0000)]
Orange: missing sync for game engine in orange, compiles now again!

15 years agoOrange: replaced obsolete IMB_rectop() with IMB_rectcpy() in game engine.
Ton Roosendaal [Sat, 28 Jan 2006 16:43:00 +0000 (16:43 +0000)]
Orange: replaced obsolete IMB_rectop() with IMB_rectcpy() in game engine.

15 years agoFinal merge of HEAD (bf-blender) into the orange branch.
Chris Want [Sat, 28 Jan 2006 16:35:18 +0000 (16:35 +0000)]
Final merge of HEAD (bf-blender) into the orange branch.

Here are my notes on things to look out for as potential problem

+ is initfastshade(void) supposed to be empty? I had
to make it empty to get the merged tree to compile.

+ went with the version that had Armature_getLayers()

+ went with the version of Object_getPose() from bf-blender.
(#ifdef 0-ed the other version)

+ had problems linking due to no Pose_Init() ... copied these
two files straight from bf-blender.

+ view3d_panel_properties() had things shifted a few things shifted
a few pixels, otherwise, things were painless

+ went with bf-blender version (orange is dead)

+ went with bf-blender version -- does not compile due to IMB_rect* stuff,
Ton should look into this.

15 years agoOrange: made Compositing more interactive. It now has an event based
Ton Roosendaal [Sat, 28 Jan 2006 15:21:04 +0000 (15:21 +0000)]
Orange: made Compositing more interactive. It now has an event based
system tracking changes in nodes, making sure only these nodes and
the ones that depend, are executed.

Further the 'time cursor' now counts down to indicate which node is being

Also: you now can disable the "use nodes" button in the header, edit all
changes, and when you press that button again it nicely executes the

Still on the todo:
- make compositing threaded
- find a way to nicely exit compositing on input events... so the UI
  keeps being responsive
- idea; a 'percentage' menu in header to enforce calculations on smaller
  images temporally

15 years agoOrange: fix for threaded rendering. Discovered that for some reason the
Ton Roosendaal [Sat, 28 Jan 2006 10:30:16 +0000 (10:30 +0000)]
Orange: fix for threaded rendering. Discovered that for some reason the
threads didn't seem to free allocated memory... while rendering an long
sequence, the 'virtual memory' size grew with about 20 meg per frame.
This appeared to be not related to using malloc in threads (works
properly), but just because threads were not closed properly.

I assumed that the call to SDL_CreateThread() also closes the thread
when finished... but that seems to be not the case. By using a call to
SDL_WaitThread() after the thread was finished the memory heap is stable

This is something I've seen not documented anywhere... the SDL man
pages are horrible sparse; Take for example the official page:

15 years agoOrange: previous commit for render-layers didn't update the case for
Ton Roosendaal [Sat, 28 Jan 2006 08:27:29 +0000 (08:27 +0000)]
Orange: previous commit for render-layers didn't update the case for
3d window preview-render.

15 years agoFixed a stupid bug when exporting meshes with empty material slots.
Campbell Barton [Fri, 27 Jan 2006 14:55:12 +0000 (14:55 +0000)]
Fixed a stupid bug when exporting meshes with empty material slots.

15 years agoMinor optimization- mainly lists and dicts - use iterkeys instead of keys try/except...
Campbell Barton [Fri, 27 Jan 2006 13:37:02 +0000 (13:37 +0000)]
Minor optimization- mainly lists and dicts - use iterkeys instead of keys try/except rather then has_key()/else (1 less dict lookup)
Also discovered a bug in meshtools... not sure how relevent this is with the new api on the horizon.

15 years agoThis commit was manufactured by cvs2svn to create branch 'orange'.
no-author [Thu, 26 Jan 2006 22:47:31 +0000 (22:47 +0000)]
This commit was manufactured by cvs2svn to create branch 'orange'.

15 years agoA little utility script I have been using for a long time but was recently able to...
Campbell Barton [Thu, 26 Jan 2006 22:47:31 +0000 (22:47 +0000)]
A little utility script I have been using for a long time but was recently able to improve with 2.41's features.
Edits the current image in an external application, esp usefull when dealing with projects that have lots of images.
Basicaly-- a quck way to have the image in the gimp (using gimp-remote) without rooting around in your project tree.
Added registry variable to save the external application... and some OS context for what app to run- could somebody test on macosx+win32.

How about a python slot in the Image Menu?

15 years agoOrange; more render & compo stuff!
Ton Roosendaal [Thu, 26 Jan 2006 22:18:46 +0000 (22:18 +0000)]
Orange; more render & compo stuff!

-> Rendering in RenderLayers

It's important to distinguish a 'render layer' from a 'pass'. The first is
control over the main pipeline itself, to indicate what geometry is being
is rendered. The 'pass' (not in this commit!) is related to internal
shading code, like shadow/spec/AO/normals/etc.

Options for RenderLayers now are:
- Indicate which 3d 'view layers' have to be included (so you can render
  front and back separately)
- "Solid", all solid faces, includes sky at the moment too
- "ZTransp", all transparent faces
- "Halo", the halos
- "Strand", the particle strands (not coded yet...)

Currently only 2 'passes' are exported for render, which is the "Combined"
buffer and the "Z. The latter now works, and can be turned on/off.

Note that all layers are still fully kept in memory now, saving the tiles
and layers to disk (in exr) is also todo.

-> New Blur options

The existing Blur Node (compositor) now has an optional input image. This
has to be a 'value buffer', which can be a Zbuffer, or any mask you can
think of. The input values have to be in the 0-1 range, so another new
node was added too "Map Value".
The value input can also be used to tweak blur size with the (todo)
Time Node.

Temporal screenies:

BTW: The compositor is very slow still, it recalulates all nodes on each
change still. Persistant memory and dependency checks is coming!

15 years agodoing MSCV6 project woodoo ( preparing orange --> bf migration )
Jens Ole Wund [Thu, 26 Jan 2006 22:05:39 +0000 (22:05 +0000)]
doing MSCV6 project woodoo ( preparing orange --> bf migration )
NOTE to Ton and Hos
PLEASE do not try to merge any ot the MSVC6 project files (*.dsw ,*dsp)
I have a plan to get it done with a minimum of pain

15 years ago* Put the Add->Group menu in the top info header too.
Matt Ebb [Thu, 26 Jan 2006 21:18:02 +0000 (21:18 +0000)]
* Put the Add->Group menu in the top info header too.

15 years ago== Interface/Nodes ==
Matt Ebb [Thu, 26 Jan 2006 17:35:26 +0000 (17:35 +0000)]
== Interface/Nodes ==
Modification to allow adding a point in a curve button by LMB clicking/dragging directly on the curve, as in GIMP/Photoshop/etc.

15 years agoSpeedup by a factor of about 20%
Campbell Barton [Thu, 26 Jan 2006 15:39:38 +0000 (15:39 +0000)]
Speedup by a factor of about 20%

15 years ago* Never added the hotkeys for rendering and playing back animation to the menus....
Matt Ebb [Thu, 26 Jan 2006 15:09:33 +0000 (15:09 +0000)]
* Never added the hotkeys for rendering and playing back animation to the menus. woops!

15 years agoOrange:
Ton Roosendaal [Wed, 25 Jan 2006 16:47:20 +0000 (16:47 +0000)]

- Missing free in AVI writing
- time counter for animation render wasn't reset to zero on successive

15 years agoOrange: new pipeline separated calculus for window matrix from converting
Ton Roosendaal [Wed, 25 Jan 2006 15:09:17 +0000 (15:09 +0000)]
Orange: new pipeline separated calculus for window matrix from converting
data to renderdata. However, if a camera has a lens-ipo, this has to be
calculated correctly each time.

Actually, render system suffers like Blender itself from a weak time
system... which still is polluted by confusing globals. Should all work
now, but definitely needs attention later.

15 years agoForgot to pass on current frame number to compositor, when render anims!
Ton Roosendaal [Wed, 25 Jan 2006 12:25:10 +0000 (12:25 +0000)]
Forgot to pass on current frame number to compositor, when render anims!

15 years agoOrange; fresh morning feature:
Ton Roosendaal [Wed, 25 Jan 2006 10:39:29 +0000 (10:39 +0000)]
Orange; fresh morning feature:

Image Node now supports animations as well. Press the 'Sequence' Icon in
the node to see the options:

- Frs: the amount of images involved in the sequence
- SFra: start frame, the Blender frame number
- First: the number in the name of the first image in the sequence
- Cycl: make the sequence go cyclic

The images are refreshed on each call to execute the node tree, but not
on advancing frames in Blender... I suspect that might make it to slow now,
will first have to code nice threaded/optimized updates in compositor.

15 years agoa touch neater and some comments.
Campbell Barton [Wed, 25 Jan 2006 06:28:47 +0000 (06:28 +0000)]
a touch neater and some comments.

15 years agoDont draw blocks what are outside the the view. - massive speedup with complex sequence's
Campbell Barton [Wed, 25 Jan 2006 05:14:03 +0000 (05:14 +0000)]
Dont draw blocks what are outside the the view. - massive speedup with complex sequence's

15 years ago==bugfix==
Ken Hughes [Wed, 25 Jan 2006 02:18:20 +0000 (02:18 +0000)]
Access to G.vd without an active 3D window from sequences during Alt-A
playback caused segfault; check and return if it's NULL, and print an error
to stderr.  (Someone should check why viewmove() is being called).

15 years agoOrange fix: jitter mask for OSA was off with half a pixel...
Ton Roosendaal [Tue, 24 Jan 2006 23:02:02 +0000 (23:02 +0000)]
Orange fix: jitter mask for OSA was off with half a pixel...
There seems to be a wrong offset for non-osa too, will look into that now.

15 years agoMade numbuts use non linear rate of change when dragging.
Campbell Barton [Tue, 24 Jan 2006 22:07:41 +0000 (22:07 +0000)]
Made numbuts use non linear rate of change when dragging.
The further you drag the bigger the number gets (like gimp/photoshop brush size slider)
Works for ranges: float buttons bigger then 11 and int buttons bigger then 129.

15 years agoOrange: enabled compositing in render pipeline.
Ton Roosendaal [Tue, 24 Jan 2006 21:50:23 +0000 (21:50 +0000)]
Orange: enabled compositing in render pipeline.

- New Node "Composite" is output node that puts composited result back
  in render pipeline.
- This then also displays in the render window while editing
- But, only with Scene buttons option "Do Compositor" set
- Then, just press F12 or render anims to see the magic!

For clarity, the former 'Output" node is renamed to "Viewer".

15 years agoNot a show stopper, and does not add or remove any functionality
Chris Want [Tue, 24 Jan 2006 17:23:01 +0000 (17:23 +0000)]
Not a show stopper, and does not add or remove any functionality
... but a pythoner forgot to do a cast, causing an error with an
anally retentive compiler.