15 years ago==SCons==
Nathan Letwory [Sat, 4 Feb 2006 15:52:55 +0000 (15:52 +0000)]
* If you set C_WARN=[] and CC_WARN=[] in your, no complaints
  whatsoever should show. Otherwise a lot of warnings are shown.

15 years ago==SCons==
Nathan Letwory [Sat, 4 Feb 2006 15:44:34 +0000 (15:44 +0000)]
* add REL_CFLAGS and REL_CCFLAGS when not building debug. This adds NDEBUG
  to compile on Win32
* fix path to makesdna binary

15 years ago==SCons==
Nathan Letwory [Sat, 4 Feb 2006 15:10:59 +0000 (15:10 +0000)]
* 'scons blendernogame'
  This target will disable the building of the game engine

15 years agoNew Material option: "OnlyCast". This makes the object only cast shadows,
Ton Roosendaal [Sat, 4 Feb 2006 15:07:48 +0000 (15:07 +0000)]
New Material option: "OnlyCast". This makes the object only cast shadows,
not show up in renders, nor being mirrored.

15 years agoCompositor: Added a basic "Time Node".
Ton Roosendaal [Sat, 4 Feb 2006 14:38:51 +0000 (14:38 +0000)]
Compositor: Added a basic "Time Node".
Just indicate start/end frame, and node outputs with Curve a value between
0.0 and 1.0.

15 years ago== SCons ==
Nathan Letwory [Sat, 4 Feb 2006 14:15:10 +0000 (14:15 +0000)]
== SCons ==

* This commit is all of the rewrite work done on the SCons system. For
  documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
  contains valuable information, along with what still needs to be done.

    - linux, os x and windows compile now.
    - files are compiled to BF_INSTALLDIR (see config/(platform)
        - NOTE: Jean-Luc P will commit sometime during the weekend proper
          appit() for OS X. For now, copy the resulting binary to an
          existing .app bundle.
    - features:
        - cleaner structure for better maintenance
        - cleaner output during compile
        - better handling of build options
        - general overall speed increase
        - see the wiki for more info

  Cygwin, FreeBSD and Solaris systems still need work. For these systems:
    1) copy a config/(platform) to ie. config/
    2) set the proper defaults for your platform
    3) mail me at jesterking at letwory dot net with you configuration. if
       you need any modifications to the system, do send a patch, too.

  I'll be giving first-aid today and tomorrow, after that it'll be all
  regular development work :)


15 years agoMore work on render stuff!
Ton Roosendaal [Sat, 4 Feb 2006 13:28:50 +0000 (13:28 +0000)]
More work on render stuff!

- Scene support in RenderLayers
You now can indicate in Compositor to use RenderLayer(s) from other scenes.
Use the new dropdown menu in the "Render Result" node. It will change the
title of the node to indicate that.

The other Scenes are rendered fully separate, creating own databases (and
octrees) after the current scene was finished. They use their own render
settings, with as exception the render output size (and optional border).
This makes the option an interesting memory saver and speedup.

Also note that the render-results of other scenes are kept in memory while
you work. So, after a render, you can tweak all composit effects.

- Render Stats
Added an 'info string' to stats, printed in renderwindow header. It gives
info now on steps "creating database", "shadow buffers", and "octree".

- Bug fixes

Added redraw event for Image window, when using compositor render.

Text objects were not rendered using background render (probably a bug
since depsgraph was added)

Dropdown buttons in Node editor were not refreshed after usage

Sometimes render window did not open, this due to wrong check for 'esc'.

Removed option that renders view-layers on F12, with mouse in 3d window.
Not only was it confusing, it's now more efficient with the Preview Panel,
which does this nicely.

15 years ago== SCons ==
Nathan Letwory [Sat, 4 Feb 2006 12:04:55 +0000 (12:04 +0000)]
== SCons ==

* Added a user and a developer doc for the upcoming SCons commits.
  These documents should get most people started after the commit
  of the new scripts is a fact.

15 years agoFixed bug where a extra vert was duplicated. - (Thanks Brandedo)
Campbell Barton [Sat, 4 Feb 2006 03:44:21 +0000 (03:44 +0000)]
Fixed bug where a extra vert was duplicated. - (Thanks Brandedo)
Face indicies spanning over 1 line are now supported (had a freak obj that did this)
Small optimization @% overall speedup.
- Last release before move to Mesh over NMesh.

15 years agoRender feature request; when saving EXR files during anim render, it can
Ton Roosendaal [Fri, 3 Feb 2006 21:38:59 +0000 (21:38 +0000)]
Render feature request; when saving EXR files during anim render, it can
optionally save a jpg next to it, with compression as set in buttons.

This allows quick previews or download from farms.

Button: next to the 'half' and 'zbuf' options for exr.

15 years agoImproved check for case when vector-blur speed table (previous frame) is of
Ton Roosendaal [Fri, 3 Feb 2006 21:02:20 +0000 (21:02 +0000)]
Improved check for case when vector-blur speed table (previous frame) is of
different size as current frame. It now just skips making vectors then...
there exist solutions, but have to prove first vecblur actually works.

15 years agoRedoing the blur filters for composit;
Ton Roosendaal [Fri, 3 Feb 2006 20:39:36 +0000 (20:39 +0000)]
Redoing the blur filters for composit;

I found out current blur actually doesn't do gauss, but more did regular
quadratic. Now you can choose common filter types, but more specifically;

- set gamma on, to emphasize bright parts in blur more than darker parts
- use the bokeh option for (current circlular only) blur based on true
  area filters (meaning, for each pixel it samples the entire surrounding).
  This enables more effects, but is also much slower. Have to check on
  optimization for this still... use with care!

15 years agoCrash fix! Found one unsafe malloc in allocating the Z render pass...
Ton Roosendaal [Fri, 3 Feb 2006 09:25:46 +0000 (09:25 +0000)]
Crash fix! Found one unsafe malloc in allocating the Z render pass...
Brought back threaded compositing, this was blamed incorrectly.

15 years ago- Face import tested to be about overall 16x speedup over 0.93.
Campbell Barton [Fri, 3 Feb 2006 06:42:07 +0000 (06:42 +0000)]
- Face import tested to be about overall 16x speedup over 0.93.
- Material importing speedup.
- Tested with more models.
- Support some corrupt models.
(Bug in Mesh causes segfaults on some files still, kens looking into it)

15 years ago- Preview images get generated on render event again
Ton Roosendaal [Thu, 2 Feb 2006 23:55:14 +0000 (23:55 +0000)]
- Preview images get generated on render event again
- disabled threading for composit for now, it has a memory error still...
  will work on that tomorrow more.

15 years agoadded needed stub for player (renderpasses)
Jean-Luc Peurière [Thu, 2 Feb 2006 22:55:02 +0000 (22:55 +0000)]
added needed stub for player (renderpasses)

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!