14 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

14 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.

14 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!

14 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.

14 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.

14 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.

14 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".

14 years agoPrevent a mod by 0, should fix preview render crashes
Johnny Matthews [Tue, 24 Jan 2006 17:17:44 +0000 (17:17 +0000)]
Prevent a mod by 0, should fix preview render crashes

14 years agoOrange: preparation commit for Output nodes type "Render" and "File".
Ton Roosendaal [Tue, 24 Jan 2006 17:09:04 +0000 (17:09 +0000)]
Orange: preparation commit for Output nodes type "Render" and "File".
They dont work yet, but i accidentally committed parts of it with a bugfix.

14 years agoOrange bug: forgot to restore inverse matrix calculus for OpengGL render
Ton Roosendaal [Tue, 24 Jan 2006 17:07:39 +0000 (17:07 +0000)]
Orange bug: forgot to restore inverse matrix calculus for OpengGL render
in a window... didn't know what it was for, but now I do! It uses the
inverse to do pre-clipping on objects.

14 years agoOrange: fixes in Compositor:
Ton Roosendaal [Tue, 24 Jan 2006 15:24:38 +0000 (15:24 +0000)]
Orange: fixes in Compositor:

- Curves in Image window didn't copy alpha (when no 32 bits rect for
  display was made already).
- Code was missing to validate grouped nodes in Compositor, didnt work
  at all yet
- Loading new Images in a Node (using filewindow) didn't assign the image

Image window now displays Alpha for float images too

14 years agoOrange fix: Render OGL skipped last frame...
Ton Roosendaal [Tue, 24 Jan 2006 12:51:29 +0000 (12:51 +0000)]
Orange fix: Render OGL skipped last frame...

14 years agoOrange: made Image window react nicer to compositor output and own Curves;
Ton Roosendaal [Tue, 24 Jan 2006 10:35:43 +0000 (10:35 +0000)]
Orange: made Image window react nicer to compositor output and own Curves;

- Image curves are only applied now when curves panel is in use. Closing
  the panel will disable curves, reopen Panel enable curves.
  You can minimize the Curves panel to keep it active. That latter then
  works as visualization curves are being applied.

- Compositor output now also uses Image window curves, if active.

14 years agocommented out lib not anymore needed in scons build system
Jean-Luc Peurière [Tue, 24 Jan 2006 00:05:47 +0000 (00:05 +0000)]
commented out lib not anymore needed in scons build system

14 years agoFirst bugfix in 3d previewrender; going full-window and back crashed.
Ton Roosendaal [Mon, 23 Jan 2006 22:59:22 +0000 (22:59 +0000)]
First bugfix in 3d previewrender; going full-window and back crashed.
Thanks Campbell! :)

14 years agoScons changes needed to get it compile, works here! :)
Ton Roosendaal [Mon, 23 Jan 2006 22:44:44 +0000 (22:44 +0000)]
Scons changes needed to get it compile, works here! :)

14 years agoGiant commit!
Ton Roosendaal [Mon, 23 Jan 2006 22:05:47 +0000 (22:05 +0000)]
Giant commit!
A full detailed description of this will be done later... is several days
of work. Here's a summary:

- Full cleanup of render code, removing *all* globals and bad level calls
  all over blender. Render module is now not called abusive anymore
- API-fied calls to rendering
- Full recode of internal render pipeline. Is now rendering tiles by
  default, prepared for much smarter 'bucket' render later.
- Each thread now can render a full part
- Renders were tested with 4 threads, goes fine, apart from some lookup
  tables in softshadow and AO still
- Rendering is prepared to do multiple layers and passes
- No single 32 bits trick in render code anymore, all 100% floats now.

Writing images/movies
- moved writing images to blender kernel (bye bye 'schrijfplaatje'!)
- made a new Movie handle system, also in kernel. This will enable much
  easier use of movies in Blender

- Using new render API, previewrender (in buttons) now uses regular render
  code to generate images.
- new datafile 'preview.blend.c' has the preview scenes in it
- previews get rendered in exact displayed size (1 pixel = 1 pixel)

3D Preview render
- new; press Pkey in 3d window, for a panel that continuously renders
  (pkey is for games, i know... but we dont do that in orange now!)
- this render works nearly identical to buttons-preview render, so it stops
  rendering on any event (mouse, keyboard, etc)
- on moving/scaling the panel, the render code doesn't recreate all geometry
- same for shifting/panning view
- all other operations (now) regenerate the full render database still.
- this is WIP... but big fun, especially for simple scenes!

- Using same node system as now in use for shaders, you can composit images
- works pretty straightforward... needs much more options/tools and integration
  with rendering still
- is not threaded yet, nor is so smart to only recalculate changes... will be
  done soon!
- the "Render Result" node will get all layers/passes as output sockets
- The "Output" node renders to a builtin image, which you can view in the Image
  window. (yes, output nodes to render-result, and to files, is on the list!)

The Bad News
- "Unified Render" is removed. It might come back in some stage, but this
  system should be built from scratch. I can't really understand this code...
  I expect it is not much needed, especially with advanced layer/passes
- Panorama render, Field render, Motion blur, is not coded yet... (I had to
  recode every single feature in render, so...!)
- Lens Flare is also not back... needs total revision, might become composit
  effect though (using zbuffer for visibility)
- Part render is gone! (well, thats obvious, its default now).
- The render window is only restored with limited functionality... I am going
  to check first the option to render to a Image window, so Blender can become
  a true single-window application. :)
  For example, the 'Spare render buffer' (jkey) doesnt work.
- Render with border, now default creates a smaller image
- No zbuffers are written yet... on the todo!
- Scons files and MSVC will need work to get compiling again

OK... thats what I can quickly recall. Now go compiling!

14 years agosmall fix for icons to correctly use alpha instead of converting grey background...
Andrea Weikert [Sun, 22 Jan 2006 23:27:43 +0000 (23:27 +0000)]
small fix for icons to correctly use alpha instead of converting grey background to alpha.
Also checking in cleaned up blenderbuttons from Matt.

14 years ago* fix: The timeline now redraws when auto-recorded keys are set in transform.
Matt Ebb [Fri, 20 Jan 2006 14:38:09 +0000 (14:38 +0000)]
* fix: The timeline now redraws when auto-recorded keys are set in transform.

14 years ago* Got rid of the silly 'Set' button in curve edit buttons and made the DefResolU...
Matt Ebb [Thu, 19 Jan 2006 21:32:18 +0000 (21:32 +0000)]
* Got rid of the silly 'Set' button in curve edit buttons and made the DefResolU update automatically when modified.

14 years ago* Added a command to copy NLA strips to the Copy Attributes (Ctrl C) menus. Will...
Matt Ebb [Wed, 18 Jan 2006 13:44:51 +0000 (13:44 +0000)]
* Added a command to copy NLA strips to the Copy Attributes (Ctrl C) menus. Will be useful for updating versions of armatures, and transferring animation between them.

14 years agoFixed crash in pupmenu for image icons
Andrea Weikert [Tue, 17 Jan 2006 17:23:44 +0000 (17:23 +0000)]
Fixed crash in pupmenu for image icons

* Scaled down image can be smaller than icon - bad memory access
* Also needed to copy float buffer for exr images
* rectcpy only copied first row

There probably is some unnessary copying, will check with a little more time.
For now better be safe since it's no huge amount of mem that is copied.

14 years ago* commented the version number check for empty display types so they are properly...
Matt Ebb [Mon, 16 Jan 2006 20:11:40 +0000 (20:11 +0000)]
* commented the version number check for empty display types so they are properly read on current files. This can be uncommented before this is released (a la camera stuff last time)

14 years agoOrange: Display types and variable size for Empties.
Matt Ebb [Fri, 13 Jan 2006 15:50:32 +0000 (15:50 +0000)]
Orange: Display types and variable size for Empties.

This is using instructions from Ton, so hopefully the implementation is ok.
This is really needed here where we are using all sorts of wacky scales, and
empties look too big or too small. Of course we don't want to scale the
empties because there are often things parented to them.

New options are in edit buttons for empties to control the display style
and the size. New styles are easy to add, too. Just needs useful ideas and
minor effort from anyone who wants to.

Support for copying these values has also been added to the Copy Attributes
->Drawtype menu command.

14 years agoOptimization -frerun-cse-after-loop (included with -O2) was
Chris Want [Thu, 12 Jan 2006 18:34:07 +0000 (18:34 +0000)]
Optimization -frerun-cse-after-loop (included with -O2) was
causing render to crash on cygwin with gcc 3.4.4. Changed
declaration of shadepixel() argument "int facenr" to volatile.
Can anybody recommend a more elegant solution?

14 years agoOrange:
Ton Roosendaal [Thu, 12 Jan 2006 15:46:29 +0000 (15:46 +0000)]

- cleanup of color curves code; goes at least twice faster now!
  (includes black/white point stuff)
- When using 'Curves' in image window on a byte rect, it creates a (temp)
  float rect to operate on. So curves work for regular pictures too now.

14 years agoconvert IMB_rectop to IMB_rectcpy since IMB_rectop has been retired in
Kent Mein [Thu, 12 Jan 2006 15:36:02 +0000 (15:36 +0000)]
convert IMB_rectop to IMB_rectcpy since IMB_rectop has been retired in


14 years agoKen's 64bit patches weren't merged over to orange for some reason.
Kent Mein [Thu, 12 Jan 2006 15:27:20 +0000 (15:27 +0000)]
Ken's 64bit patches weren't merged over to orange for some reason.
This fixes that.

I'm going to see if there are other things that weren't merged over
as well.


14 years agoOrange: Ortho camera now gives correct z values for buffers too.
Ton Roosendaal [Wed, 11 Jan 2006 23:15:48 +0000 (23:15 +0000)]
Orange: Ortho camera now gives correct z values for buffers too.

14 years agoOrange;
Ton Roosendaal [Wed, 11 Jan 2006 22:36:31 +0000 (22:36 +0000)]

Until now, the zbuffer was written straight from the internal zbuffer,
which has values that are inverse-proportional (like 1.0/z) which makes
it very hard to use it for postprocess, like zblur or other composit effects
that require Z.

Based on info from ILM, the values stored for Z in exr files is the
actual distance from a camera. I think that's about time to migrate to that

By default now, after render, the z values are converted to floats. This
saves in exr files now, but not in the Iris Z files. That latter was a
blender-only anyway, so might be not a real hassle to drop. :)

You can see the difference in the image window, but notice the range now
is linear mapped from camera clipstart to clipend.

Note; I just discover that ortho Z values need a different correction...

14 years agoOrange: more float buffer support;
Ton Roosendaal [Wed, 11 Jan 2006 18:39:19 +0000 (18:39 +0000)]
Orange: more float buffer support;

- Image textures use float colors now, when present. Works for mipmap too,
  and for AO skycolor (probes)
- Backbuffer option uses float buffers too. Note that rendering OSA will
  resample the backbuffer, filtering it... will need to be solved with the
  new composit stage
- LMB sampling in image window now shows float color too

+ bugfix in imbuf, filtering for float buffers had an error.

14 years agoOrange: Added an option in View Properties panel to disable drawing of 'relationship...
Matt Ebb [Wed, 11 Jan 2006 14:51:24 +0000 (14:51 +0000)]
Orange: Added an option in View Properties panel to disable drawing of 'relationship lines' - i.e. the dashed lines that connect objects in parent/constraint/hook/IK relationships. After talking to the others I rolled the Armature-specific one into the same setting for simplicity's sake. We can see how it goes, always possible to put it back.

14 years agoOrange: Added an option in View Properties panel to disable drawing of 'relationship...
Matt Ebb [Wed, 11 Jan 2006 14:44:23 +0000 (14:44 +0000)]
Orange: Added an option in View Properties panel to disable drawing of 'relationship lines' - i.e. the dashed lines that connect objects in parent/constraint/hook/IK relationships. After talking to the others I rolled the Armature-specific one into the same setting for simplicity's sake. We can see how it goes, always possible to put it back.

14 years agoOrange: ImageWindow goodies
Ton Roosendaal [Wed, 11 Jan 2006 14:20:35 +0000 (14:20 +0000)]
Orange: ImageWindow goodies

- options to show with alpha-over (checkered backdrop), only alpha (BW) and
  when available: the zbuffer.
  Note: it's icons in the header, I just re-used existing ones, no time now
  for fancy design. :)

Also: recoded the way alpha-only draws, also in renderwindow. Mucho faster!

Oh, and sampling the buffer with LMB now displays z values in float range
of 0.0 to 1.0. Note that we still save signed int in files for Z...

14 years agoOrange: tested all EXR demo images from, found two issues;
Ton Roosendaal [Wed, 11 Jan 2006 10:41:04 +0000 (10:41 +0000)]
Orange: tested all EXR demo images from, found two issues;

- images with a so-called "data window" (have negative start coordinate)
  did not read correctly
- negative colors were not clamped yet in imbuf

Now there's still some compliancy issues with zbuffers... you can save
it either as unsigned int or as float, whilst blender renders zbuffer in
signed int. :)

14 years agobullet in the orange branch seems to be merged incorrectly. updated to the latest...
Erwin Coumans [Wed, 11 Jan 2006 06:24:18 +0000 (06:24 +0000)]
bullet in the orange branch seems to be merged incorrectly. updated to the latest version

14 years agoFor windows, NAN_NO_KETSJI was always set to false (as a result of
Chris Want [Wed, 11 Jan 2006 03:23:47 +0000 (03:23 +0000)]
For windows, NAN_NO_KETSJI was always set to false (as a result of
some strange merging). Unfortunately, Bullet doesn't build correctly
for gcc under cygwin (some private vs public stuff), so it is
important to be able to disable the game engine in these circumstances.

14 years agoOrange: Added Alpha viewing option in Image window.
Ton Roosendaal [Wed, 11 Jan 2006 00:08:02 +0000 (00:08 +0000)]
Orange: Added Alpha viewing option in Image window.

14 years agoTuesday merger of bf-blender into orange branch.
Ton Roosendaal [Tue, 10 Jan 2006 22:10:14 +0000 (22:10 +0000)]
Tuesday merger of bf-blender into orange branch.

14 years agoOrange: more work on float/exr buffers;
Ton Roosendaal [Tue, 10 Jan 2006 21:41:37 +0000 (21:41 +0000)]
Orange: more work on float/exr buffers;

- EXR now saves and reads Zbuffers correctly
- EXR reading didn't set alpha to 1 yet when no alpha buffer was present

- ImageWindow: the "black point" only checked for the r value... now is OK
- ImageWindow: Curves panal has button "reset"
- ImageWindow: hold LMB drag shows rgba and z values. With SHIFT or CTRL it
  applies black/white point whilte dragging too
- ImageWindow: saving file copied the entire buffer... removed that. Also
  made the header print clear; this save only saves in own file type.

- Curves: zoom and drag now gets clamped by the Clipping value

- Imbuf: duplicate buffer only copied one quarter of to new buffer

14 years agoOrange:
Ton Roosendaal [Tue, 10 Jan 2006 19:23:11 +0000 (19:23 +0000)]
Accidentally didn't disable the tests I did for 'translucent raytrace',
a cheapskate SSS method;

It slowed down render too much, was default on... but invisible! It needed
the F10 buttons "rt" to be huge (600-1000)

14 years agoremoved slow list handeling
Campbell Barton [Tue, 10 Jan 2006 17:40:50 +0000 (17:40 +0000)]
removed slow list handeling
faster vert comparisons
replaced spaces for tabs
removed unneeded getData() calls
general cleanup.

14 years agoifdef check for WITH_OPENEXR was removed from readimage for some reason
Kent Mein [Tue, 10 Jan 2006 16:52:21 +0000 (16:52 +0000)]
ifdef check for WITH_OPENEXR was removed from readimage for some reason
causing building without OPENEXR to fail.  (Hopefully this doesn't mess up
current scons stuff, shouldn't but I haven't tested it after latest
changes in scons)

(I also cleaned up the Makefile a tad so it didn't check twice for WITH_OPENEXR)


14 years ago*project file updates
Joseph Gilbert [Tue, 10 Jan 2006 16:08:03 +0000 (16:08 +0000)]
*project file updates
- gets project files in line for compiling again

14 years agoAdded openflight import/export- Blight v1.2
Campbell Barton [Tue, 10 Jan 2006 13:42:20 +0000 (13:42 +0000)]
Added openflight import/export- Blight v1.2

14 years agoStupid old SConstruct made adding openexr more difficult than it should be.
Nathan Letwory [Tue, 10 Jan 2006 12:27:35 +0000 (12:27 +0000)]
Stupid old SConstruct made adding openexr more difficult than it should be.
Now OSX will always do openexr. Rewrite will address this bad implementation
once and for all.

14 years agoMSVC compile error fix for subsurf UV.
Brecht Van Lommel [Tue, 10 Jan 2006 12:25:07 +0000 (12:25 +0000)]
MSVC compile error fix for subsurf UV.

14 years agoWarning fixes for gcc 4 in iksolver and ghost.
Brecht Van Lommel [Tue, 10 Jan 2006 11:49:53 +0000 (11:49 +0000)]
Warning fixes for gcc 4 in iksolver and ghost.

14 years agoOrange: tip from Nathan to get exr working in scons compiles...
Ton Roosendaal [Tue, 10 Jan 2006 11:39:03 +0000 (11:39 +0000)]
Orange: tip from Nathan to get exr working in scons compiles...

14 years agoApply Subsurf to UV's.
Brecht Van Lommel [Tue, 10 Jan 2006 11:36:57 +0000 (11:36 +0000)]
Apply Subsurf to UV's.

This fixes most of the UV distortion issues with subsurf. Near seams
however there might still be some distortion, but this should at least
not be worse than before. Subsurf UV is enabled by default on new meshes,
and can be enabled in the modifier panel for existing ones.

Before and after:

14 years agoapplied patch from snailrose, related to multi-platform OpenGL extensions.
Erwin Coumans [Tue, 10 Jan 2006 06:34:42 +0000 (06:34 +0000)]
applied patch from snailrose, related to multi-platform OpenGL extensions.

14 years agoOpenEXR support for Windows Makefiles
Chris Want [Tue, 10 Jan 2006 06:29:57 +0000 (06:29 +0000)]
OpenEXR support for Windows Makefiles

14 years agoAnother msvc issue. Added #include <ctype.h> so it compiles.
Kent Mein [Tue, 10 Jan 2006 02:23:47 +0000 (02:23 +0000)]
Another msvc issue.  Added #include <ctype.h> so it compiles.
See patch #3686


14 years agoFixed bug in convert function with Mesh objects.
Campbell Barton [Tue, 10 Jan 2006 02:01:24 +0000 (02:01 +0000)]
Fixed bug in convert function with Mesh objects.
Objects with no modifier could still be converted, but resulting meshes were corrupt and segfaulted Blender when cycling edit mode.
This tests each mesh object for modifiers before converting.

Resulting metaballs meshes were not visible in wireframe.

Also made the selection context nicer, All new converted objects are selected while objects that are converted are deselected.

14 years agoadded prototypes for bottom_sel_action and friends.
Kent Mein [Tue, 10 Jan 2006 01:36:36 +0000 (01:36 +0000)]
added prototypes for bottom_sel_action and friends.
Steath Apprentice said its needed for MSC.  Bug # 3687


14 years agoOrange: and now for the real exr fun: float buffer support in Image window!
Ton Roosendaal [Mon, 9 Jan 2006 23:52:51 +0000 (23:52 +0000)]
Orange: and now for the real exr fun: float buffer support in Image window!

Image as loaded in Blender (from

Image with different white point:

Image with white and black point and a curve:

Use SHIFT+click to set the black point, and CTRL+click for white point.
The buttons in the panel work too, of course.

The curves work after the black/white range was corrected, so you can
stick to curves with a normal 0-1 range.
There's also now a general color curve, marked with 'C' button.

Note; this currently only maps the float colors to a visible 8 bits per
channel rect. You can save it, but when the blender file loads the curve
or mapping is not executed until you click in the curves... have to look
at that still.
Speed for this is also quite unoptimized... still WIP, but fun!

14 years agoOrange: Silly error in patch... the buffer for wpaint/vpaint got allocated
Ton Roosendaal [Mon, 9 Jan 2006 21:51:17 +0000 (21:51 +0000)]
Orange: Silly error in patch... the buffer for wpaint/vpaint got allocated
with only half the size...

14 years agoOrange: more exr & imbuf cleanup
Ton Roosendaal [Mon, 9 Jan 2006 19:17:37 +0000 (19:17 +0000)]
Orange: more exr & imbuf cleanup

- Reading exr images now goes OK. I've unified the code for reading
  'half' and 'float' (was nicely possible!). And removed useless copying
  of data around.

- Fixed bug in allocating new rects, like for making mipmaps. flag issues.

- filter code accidentally incremented wrong pointer (crash on mipmap too)

14 years agoOrange fix: Lamp ipos were also not duplicated when indicated... old stuff
Ton Roosendaal [Mon, 9 Jan 2006 15:56:47 +0000 (15:56 +0000)]
Orange fix: Lamp ipos were also not duplicated when indicated... old stuff
here! :)

14 years agoOrange: Avi writing crashed... very weird code in here with imbufs, made
Ton Roosendaal [Mon, 9 Jan 2006 15:46:43 +0000 (15:46 +0000)]
Orange: Avi writing crashed... very weird code in here with imbufs, made
it not using imbufs for now, so I know what goes on! :)

14 years agoThere was a problem with typing over text selections, where you had an object with...
Campbell Barton [Mon, 9 Jan 2006 15:24:23 +0000 (15:24 +0000)]
There was a problem with typing over text selections, where you had an object with 21 letter name (19 is the max but 21 is supported, just copy a mesh a few times)
After this click on the object name and start typing, even though the selection makes it that the new string would be overwritten, it dosent let you type in any text.

if(len <= but->max) {
if(len-SELWIDTH+1 <= but->max) {

- Tested and works well.

14 years agoOrange: code for building the image-type menu was wrong for non-quicktime
Ton Roosendaal [Mon, 9 Jan 2006 12:53:05 +0000 (12:53 +0000)]
Orange: code for building the image-type menu was wrong for non-quicktime
cases. :)

14 years agoUpdated paths on mac os x to be like makefiles (/usr/local/ ... ). Remember to delete...
Matt Ebb [Mon, 9 Jan 2006 12:26:14 +0000 (12:26 +0000)]
Updated paths on mac os x to be like makefiles (/usr/local/ ... ). Remember to delete config.opts for it to be recreated with the new EXR options!

14 years agoOrange bugfix:
Ton Roosendaal [Mon, 9 Jan 2006 12:18:42 +0000 (12:18 +0000)]
Orange bugfix:

On duplicating an object with material ipos that has drivers, the new ipos
(if material and ipos were copied) didn't get the correct pointer to the
new driver object (if that was copied!)

14 years agoInclude paths were wrong. Now openEXR compiles and links
Nathan Letwory [Mon, 9 Jan 2006 12:14:02 +0000 (12:14 +0000)]
Include paths were wrong. Now openEXR compiles and links

14 years agoOrange: Further cleanup of EXR saving
Ton Roosendaal [Mon, 9 Jan 2006 10:55:41 +0000 (10:55 +0000)]
Orange: Further cleanup of EXR saving

- F10 scene buttons now has options "half" and "zbuf" for exr saving.
  Note: when no float buffer is available, it always saves as "half",
  that's sufficient anyway, since half is 16 bits per channel.

- EXR in imbuf now uses compliant ibuf->ftype flags for denoting exr
  extensions such as 'half' and 'compression'.

- Removed ugly blenkernel dependency from exr module

14 years agoMade buttons in clever numbuts allign.
Campbell Barton [Mon, 9 Jan 2006 05:01:17 +0000 (05:01 +0000)]
Made buttons in clever numbuts allign.
Commented out crufty name spesific actions that changed variables and added a label of buttons started with "Rot" - Since panels are used for rotating now.

14 years ago* Added PupBlock for user options.
Campbell Barton [Mon, 9 Jan 2006 03:43:48 +0000 (03:43 +0000)]
* Added PupBlock for user options.
* Improved context, unwraps active object if not selected and makes sure it only unwraps a mesh once even if 2+ instances are selected.
* Added Option to stretch to bounds
* Added option to have a margin, thanks to letterrip
* Fixed bug whe nassigning UV's to zero area faces.

14 years agoAnother small gameengine build tweak. Included a missing header directory.
Kent Mein [Mon, 9 Jan 2006 02:23:04 +0000 (02:23 +0000)]
Another small gameengine build tweak.  Included a missing header directory.

I also provided a fix for tiff images.  (It was appending tif even if
it was already in the name, now it does it correctly)
(no more image.tif.tif)


14 years agoTon forgot a few modifications to the Scons and Makefile build systems.
Kent Mein [Mon, 9 Jan 2006 02:18:11 +0000 (02:18 +0000)]
Ton forgot a few modifications to the Scons and Makefile build systems.
These should make it so that other people can compile with OpenEXR support.

(I also added the OPENAL fix erwin commited to bf-blender since I
need it for my machine, and this syncs up the file)


14 years agoOrange branch: OpenEXR finally in Blender!
Ton Roosendaal [Mon, 9 Jan 2006 00:40:35 +0000 (00:40 +0000)]
Orange branch: OpenEXR finally in Blender!

Credits go to Gernot Ziegler, who originally coded EXR support, and to
Austin  Benesh for bringing it further. Kent Mein provided a lot of code
for integrating float buffers in Blender imbuf and ImBuf API cleanup,
and provided Make and Scons and static linking.

At this moment; the EXR libraries are a *dependency*, so you cannot get
the Orange branch compiled without having OpenEXR installed. Get the
(precompiled or sources) stuff from Current default is
that the headers and lib resides in /user/local/

Several changes/additions/fixes were added:

- EXR code only supported 'half' format (16 bits per channel). I've added
  float writing, but for reading it I need tomorrow. :)
- Quite some clumsy copying of data happened in EXR code.
- cleaned up the api calls already a bit, preparing for more advanced
- Zbuffers were saved 16 bits, now 32 bits
- automatic adding of .exr extensions went wrong


- added proper imbuf->flags and imbuf->mall support for float buffers, it
  was created for *each* imbuf. :)
- found bugs for float buffers in scaling and flipping. Code there will
  need more checks still
- imbuf also needs to be verified to behave properly when no 32 bits
  rect exists (for saving for example)


- support internal float images for textures, backbuf, AO probes, and
  display in Image window

Hope this commit won't screwup syncing with bf-blender... :/

14 years agoBPy:
Martin Poirier [Sun, 8 Jan 2006 18:59:55 +0000 (18:59 +0000)]

PupBlock method. This wraps the "clevernumbut" code to allow scripters to use popup blocks for user input instead of a sequence of multiple different popups.
See the blend file for a comprehensive test and example file.

14 years agoNew plus/minus icons
Ton Roosendaal [Sun, 8 Jan 2006 11:50:52 +0000 (11:50 +0000)]
New plus/minus icons

14 years agoOrange:
Ton Roosendaal [Sun, 8 Jan 2006 11:41:06 +0000 (11:41 +0000)]

- New UI element: the "Curve Button".

For mapping ranges (like 0 - 1) to another range, the curve button can be
used for proportional falloff, bone influences, painting density, etc.
Most evident use is of course to map RGB color with curves.

To be able to use it, you have to allocate a CurveMapping struct and pass
this on to the button. The CurveMapping API is in the new C file
It's as simple as calling:

   curvemap= curvemapping_add(3, 0, 0, 1, 1)

Which will create 3 curves, and sets a default 0-1 range. The current code
only supports up to 4 curves maximum per mapping struct.
The CurveMap button in Blender than handles allmost all  editing.
Evaluating a single channel:

   float newvalue= curvemapping_evaluateF(curvemap, 0, oldval);

Where the second argument is the channel index, here 0-1-2 are possible.
Or mapping a vector:

   curvemapping_evaluate3F(curvemap, newvec, oldvec);

Optimized versions for byte or short mapping is possible too, not done yet.

In butspace.c I've added a template wrapper for buttons around the curve, to
reveil settings or show tools; check this screenie:

- Buttons R, G, B: select channel
- icons + and -: zoom in, out
- icon 'wrench': menu with tools, like clear curve, set handle type
- icon 'clipping': menu with clip values, and to dis/enable clipping
- icon 'x': delete selection

In the curve button itself, only LMB clicks are handled (like all UI elements
in Blender).

- click on point: select
- shift+click on point: swap select
- click on point + drag: select point (if not selected) and move it
- click outside point + drag: translate view
- CTRL+click: add new point
- hold SHIFT while dragging to snap to grid
  (Yes I know... either one of these can be Blender compliant, not both!)
- if you drag a point exactly on top of another, it merges them

Other fixes:

- Icons now draw using "Safe RasterPos", so they align with pixel boundary.
  the old code made ints from the raster pos coordinate, which doesn't work
  well for zoom in/out situations

- bug in Node editing: buttons could not get freed, causing in memory error
  prints at end of a Blender session. That one was a very simple, but nasty
  error causing me all evening last night to find!
  (Hint; check diff of editnode.c, where uiDoButtons is called)

Last note: this adds 3 new files in our tree, I did scons, but not MSVC!

14 years agomore linux game engine work. hopefully works now!
Erwin Coumans [Sun, 8 Jan 2006 09:37:15 +0000 (09:37 +0000)]
more linux game engine work. hopefully works now!

14 years agoGot the armatures, GLSL shaders and other snailrose changes to work for Linux.
Erwin Coumans [Sun, 8 Jan 2006 09:11:17 +0000 (09:11 +0000)]
Got the armatures, GLSL shaders and other snailrose changes to work for Linux.
now attempting to get this in cvs :)

14 years agoOrange: while testing other code, I found out the scrollwheel code redraws
Ton Roosendaal [Sat, 7 Jan 2006 10:35:47 +0000 (10:35 +0000)]
Orange: while testing other code, I found out the scrollwheel code redraws
a 2d window 3 (three!) times on every event! This explains why scrollwheel
seems to lag quite some when used in buttons or outliner.

The view2dzoom() and view2dmove() code is horrid. Nice project for someone
is to move all 2d (View2D struct related) code into its own C file. A lot
of that is spread around in the code.

14 years agoremoved testing code
Erwin Coumans [Sat, 7 Jan 2006 02:00:44 +0000 (02:00 +0000)]
removed testing code

14 years agomore work to get armatures/blender materials to work under non-windows platforms
Erwin Coumans [Sat, 7 Jan 2006 00:14:37 +0000 (00:14 +0000)]
more work to get armatures/blender materials to work under non-windows platforms

14 years agoadded new files
Erwin Coumans [Fri, 6 Jan 2006 21:01:03 +0000 (21:01 +0000)]
added new files

14 years agoadded few new files
Erwin Coumans [Fri, 6 Jan 2006 21:00:11 +0000 (21:00 +0000)]
added few new files

14 years agouse relative paths to avoid including extra folder
Erwin Coumans [Fri, 6 Jan 2006 20:35:02 +0000 (20:35 +0000)]
use relative paths to avoid including extra folder

14 years agoBug #3658 reported by Daniel Holtz (thanks):
Willian Padovani Germano [Fri, 6 Jan 2006 20:15:18 +0000 (20:15 +0000)]
Bug #3658 reported by Daniel Holtz (thanks):

Running scripts from command line in bg mode:
blender -b -P
crashes Blender 2.40.

The problem is in add_text() in text.c: G.scene can be NULL at this
point (in bg mode). Added a check:

line 323:
if (G.scene) /* can be NULL (bg mode) */
BLI_convertstringcode(str, G.sce, G.scene->r.cfra);

The text being added with add_text() in this particular case is the
script filename specified at the command prompt, so it should be ok to skip
BLI_convertstringcode. Feel free to disagree, though.

14 years agoFIX: scaling of pupmenu for materials caused text to be cut off.
Andrea Weikert [Fri, 6 Jan 2006 19:18:31 +0000 (19:18 +0000)]
FIX: scaling of pupmenu for materials caused text to be cut off.

Scaling up of the text and icon in pupmenu is prevented now in ui_do_but_MENU.

14 years ago*vc7 projectfile update
Joseph Gilbert [Fri, 6 Jan 2006 17:57:26 +0000 (17:57 +0000)]
*vc7 projectfile update
- removed PHY_ode project
- removed ode control from ketsji project

14 years agochanged the size of some local vars for 64bit linux.
Kent Mein [Fri, 6 Jan 2006 15:29:11 +0000 (15:29 +0000)]
changed the size of some local vars for 64bit linux.
also added a newline at the end of the file to shut gcc up.


14 years ago#3706 (patch tracker)
Nathan Letwory [Fri, 6 Jan 2006 13:33:20 +0000 (13:33 +0000)]
#3706 (patch tracker)
- Adds missing ipos for texture
   * color, contrast, brightness
- Adds IKey menu in the texture subcontext

#3711 (bug tracker)
- report and patch for missing blend types Halo and Radial

Patches by Levon Hudson

14 years agoTodo #2574
Nathan Letwory [Fri, 6 Jan 2006 12:37:45 +0000 (12:37 +0000)]
Todo #2574

Setchain: it allows you to chain sets. It checks for loops when trying
to assign new scene, and will notify if changing set would create a loop.

14 years agofixed copy/paste bug in physicscontroller applyforce, and crashing radar sensor
Erwin Coumans [Fri, 6 Jan 2006 09:57:27 +0000 (09:57 +0000)]
fixed copy/paste bug in physicscontroller applyforce, and crashing radar sensor

14 years agoremoved extra characters
Erwin Coumans [Fri, 6 Jan 2006 09:40:00 +0000 (09:40 +0000)]
removed extra characters

14 years agodisable game engine and gameplayer for all platforms except windows.
Erwin Coumans [Fri, 6 Jan 2006 09:02:53 +0000 (09:02 +0000)]
disable game engine and gameplayer for all platforms except windows.
Then after cvs is unfrozen, development can continue.

14 years agoopenal didn't compile under linux, some casting problem.
Erwin Coumans [Fri, 6 Jan 2006 07:34:35 +0000 (07:34 +0000)]
openal didn't compile under linux, some casting problem.

14 years agoAdded current directory to includes so it could find some headers.
Kent Mein [Fri, 6 Jan 2006 04:43:17 +0000 (04:43 +0000)]
Added current directory to includes so it could find some headers.
(I still do not have the whole thing working but I'm stumped now and
figured this will save someone a little time)


14 years agoHeaderfile had wrong Capatalization.
Kent Mein [Fri, 6 Jan 2006 04:13:20 +0000 (04:13 +0000)]
Headerfile had wrong Capatalization.


14 years agoSorry to break the cvs-closed status, so if you really need to make a new 2.40 build...
Erwin Coumans [Fri, 6 Jan 2006 03:46:54 +0000 (03:46 +0000)]
Sorry to break the cvs-closed status, so if you really need to make a new 2.40 build, just disable the game engine if it doesn't compile for a platform. Again, sorry if this breaks non-windows platforms, but I hope people help to get this amazing fix working for all platforms. Armature-fixing contribution from Snailrose. Also lots of cool things from Snailrose and Lagan.

Armatures are back
Split screen
Double sided lightning
Ambient lighting
Alpha test
Material IPO support (one per object atm)
Blender materials
GLSL shaders - Python access
Up to three texture samplers from the material panel ( 2D & Cube map )
Python access to a second set of uv coordinates


14 years agoScene.c - Removed redraw when in non UI mode.
Campbell Barton [Fri, 6 Jan 2006 01:53:26 +0000 (01:53 +0000)]
Scene.c - Removed redraw when in non UI mode. - Example indent - Improved join documentation.

14 years agoLots of stupid warning fixes:
Kent Mein [Thu, 5 Jan 2006 23:10:54 +0000 (23:10 +0000)]
Lots of stupid warning fixes:
Added newlines at end of a bunch of files that didn't have them.
removed a couple of unused variables and an extra ';'
(Also removed config.h crap from these files)


14 years agoI added {}'s around an if block of code to prevent gcc from saying
Kent Mein [Thu, 5 Jan 2006 20:52:51 +0000 (20:52 +0000)]
I added {}'s around an if block of code to prevent gcc from saying
this else is ambiguous...
code was
if (blah) if (blah2) stuff; else stuff2;
its now
if (blah) { if (blah2) stuff; else stuff2; }


14 years agoBugfix for Toni: Ipo_addCurve() needed to call set_icu_vars() in order to
Ken Hughes [Thu, 5 Jan 2006 19:25:38 +0000 (19:25 +0000)]
Bugfix for Toni: Ipo_addCurve() needed to call set_icu_vars() in order to
properly initialize data for new Ipo curves.

14 years agoOrange bugfix; duplicating object with group didn't increase group user
Ton Roosendaal [Thu, 5 Jan 2006 19:16:28 +0000 (19:16 +0000)]
Orange bugfix; duplicating object with group didn't increase group user
counter... tsk tsk tsk!