17 years agoFixing a blenderplayer compile error reported by Meino Christian Cramer:
Willian Padovani Germano [Fri, 16 Jul 2004 06:00:40 +0000 (06:00 +0000)]
Fixing a blenderplayer compile error reported by Meino Christian Cramer:
- added mainqenter to stubs.c so it can be used in blender/blenkernel/intern/blender.c's setup_app_data.

We can't run the onload scriptlink in setup_app_data because the visible areas won't have been updated and redrawn for the loaded .blend file until control returns to screenmain() in blender/src/editscreen.c.  So an ONLOAD_SCRIPT event is entered in setup_app_data and caught in screenmain, where the onload script is then executed.  All for a good looking demo mode ...

- Added image.getBindCode() method, contributed by Andrew Corrigan (thanks!).

17 years agoDemo mode and BPython:
Willian Padovani Germano [Fri, 16 Jul 2004 03:08:43 +0000 (03:08 +0000)]
Demo mode and BPython:

- small additions and fixes to enable the demo mode;

- Added sleep() to Blender.sys and 17 new functions to Blender.Window module:
    things to help demo script writing and as a bonus read / write access to Blender's input event queue;

- updates in docs, those interested please check in python/api2_2x/doc/ to read about the new Blender.Window functions.


Demo mode should be working well now for (I) playing rt animation -- aka ALT+A -- and (II) rendering pics and anims and playing anims.  I'll still add access to radiosity data and functions.

PS: Joseph Gilbert made (II) possible with the Scene.Render module he added for 2.32.  He's been coding great things for bpython, so I'd like to take the chance to point that and thank him here.

17 years agoDetails, details...
Matt Ebb [Fri, 16 Jul 2004 02:10:29 +0000 (02:10 +0000)]
Details, details...

* Renamed the paint color picker panel to 'Paint' instead of 'Transform Properties'

* Minor label edits to the pivot icon menu

17 years ago* User preference to select with the left mouse button
Matt Ebb [Fri, 16 Jul 2004 01:34:19 +0000 (01:34 +0000)]
* User preference to select with the left mouse button
instead of right.

This basically swaps left and right, in most window spaces
so you can choose between:
LMB: Cursor/time slider/paint  -  RMB: Select
or LMB: Select  -  RMB: Cursor/time slider/paint

Aimed at:
1. Newbies
2. 1 button mouse mac users
3. People like me who are sick of having to constantly keep putting their brains into different modes when
 switching between other apps and Blender :)

Yes, the User Preferences window is a bit of a nightmare
now, a layout cleanup will be forthcoming soon...

17 years agoOK, the game engine has been un-buildable on irix for long enough
Chris Want [Fri, 16 Jul 2004 01:31:25 +0000 (01:31 +0000)]
OK, the game engine has been un-buildable on irix for long enough
-- I'm committing this change I had discussed on the mailing list
about a month ago.

17 years agoFix to not create invalid bound shapes from non mesh objects (armatures).
Kester Maddock [Fri, 16 Jul 2004 00:08:06 +0000 (00:08 +0000)]
Fix to not create invalid bound shapes from non mesh objects (armatures).

17 years agoFix ATI texture performance under Linux.
Kester Maddock [Fri, 16 Jul 2004 00:05:20 +0000 (00:05 +0000)]
Fix ATI texture performance under Linux.
glGenTexturesEXT(1, &bind); // produces bind == 0
glGenTextures(1, &bind); // produces bind correctly.
(Ported from tuhopuu2)

17 years agoShadow buffer render wasn't corrected yet for OSA reconstruction of long
Ton Roosendaal [Thu, 15 Jul 2004 20:03:35 +0000 (20:03 +0000)]
Shadow buffer render wasn't corrected yet for OSA reconstruction of long
ago... samples where offsetted half a pixel, causing banding in render.

17 years agoMake sure that the hex value is checked as a hexvalue. On some systems this was appar...
Nathan Letwory [Thu, 15 Jul 2004 17:47:43 +0000 (17:47 +0000)]
Make sure that the hex value is checked as a hexvalue. On some systems this was apparently a problem.

17 years agoThis adds two modes to the 'around' drop down in 3d header
Johnny Matthews [Thu, 15 Jul 2004 17:42:04 +0000 (17:42 +0000)]
This adds two modes to the 'around' drop down in 3d header

3d Cursor, only Ob Centers
Median Point, only Ob Centers

They prevent rotation/scaling from effecting the scale/rotation of the objects and just effects their position.
This is handy for aligning objects if you constrain to an axis and scale, as well as other neato things :)

Intrr came up with the code and I hacked it into the GUI

17 years agoOops. Forgot to restore setlinestyle(0); after drawing the dotted grid.
Alexander Ewering [Thu, 15 Jul 2004 16:40:01 +0000 (16:40 +0000)]
Oops. Forgot to restore setlinestyle(0); after drawing the dotted grid.

17 years agoThis should have been fixed long ago ... create important
Chris Want [Thu, 15 Jul 2004 15:06:54 +0000 (15:06 +0000)]
This should have been fixed long ago ... create important
directories using 'mkdir -p' to avoid errors with fresh builds.

17 years agoCommit for the 4 aforementioned "features":
Alexander Ewering [Thu, 15 Jul 2004 13:31:18 +0000 (13:31 +0000)]
Commit for the 4 aforementioned "features":

 - "Global Pivot": Maintains a global Pivot and Align mode setting for
   all 3d views when enabled, instead of seperate settings per 3d view

 - "Auto Perspective": Switch to ortho mode automatically on 1/3/7, and
   to Perspective when the view is rotated with the mouse

 - "Align mode": As suggested on the list, when enabled, transformations
   on several objects only transform their locations, not their sizes or

 - Grid dotted when not 1:1

***ATTENTION***! The User Interface parts of these features have not been
committed, as I work on my own modified UI here. The three features need
toggle buttons to turn them on and off.

I used the following 3 buttons (first two features are in userprefs,
third as a 3d view setting):

        uiDefButBitS(block, TOG, USER_AUTOPERSP, B_DRAWINFO, "Auto Persp",
            &(U.uiflag), 0, 0, 0, 0,
            "Automatically switch between orthographic and perspective");

        uiDefButBitS(block, TOG, USER_LOCKAROUND, B_DRAWINFO, "Global Pivot",
            &(U.uiflag), 0, 0, 0, 0,
            "Use global pivot setting for all 3d views");

    uiDefIconButS(block, TOG|BIT|10, B_AROUND, ICON_ALIGN,
                &G.vd->flag, 0, 0, 0, 0, "Translate only (align)");

Someone needs to add these to the interface in an appropriate manner!


17 years ago* on OS X the 'blender$PROGSUFFIX' caused problems due to SCons expanding it too...
Nathan Letwory [Thu, 15 Jul 2004 08:26:17 +0000 (08:26 +0000)]
* on OS X the 'blender$PROGSUFFIX' caused problems due to SCons expanding it too late.
  This is now fixed by manually setting target to 'blender'

17 years agowork on mcvc6 projects
Jens Ole Wund [Wed, 14 Jul 2004 20:57:38 +0000 (20:57 +0000)]
work on mcvc6 projects
add unwrapper.c to BL_src
in opennl create project/workspace to build
modify blender. to link to blender_ONL.lib
add ",..\..\..\lib\windows\opennl" to libpath
add ",..\..\..\lib\windows\opennl\debug" to libpath for debug
add opennl project to intern workspace .. adjusting dependancies

BM crosses fingers to work

17 years agoworkspace and project to make opennl
Jens Ole Wund [Wed, 14 Jul 2004 20:55:20 +0000 (20:55 +0000)]
workspace and project to make opennl

17 years ago* the clean target was doing some strange dependency stuff, so I changed that. As...
Nathan Letwory [Wed, 14 Jul 2004 20:55:17 +0000 (20:55 +0000)]
* the clean target was doing some strange dependency stuff, so I changed that. As a bonus, it doens't read the SConscripts anymore, but just deletes the directories with object files. I leave the signature databases, since deleting them tended to give warning messages on subsequent runs.

ps. if it doesn't work, shoot me (and Jens, since he tested too ;)

17 years agoworkspace with opennl included
Jens Ole Wund [Wed, 14 Jul 2004 20:52:41 +0000 (20:52 +0000)]
workspace with opennl included

17 years agoRewound changes done in alpha calculus for texturemapping. This
Ton Roosendaal [Wed, 14 Jul 2004 18:18:21 +0000 (18:18 +0000)]
Rewound changes done in alpha calculus for texturemapping. This
worked OK for alpha coming from antialising (rendered) but failed to do
in other situations (alpha as blending, painted in gimp)

17 years ago* use sys.exit() instead of exit()
Nathan Letwory [Wed, 14 Jul 2004 18:14:49 +0000 (18:14 +0000)]
* use sys.exit() instead of exit()
* scons clean -> does a quick(er) clean. No need to think, just scons clean (it removes all content of root_build_dir)

17 years ago* Tell compilers they really need Python 2.3 when trying to SCons it all.
Nathan Letwory [Wed, 14 Jul 2004 17:26:04 +0000 (17:26 +0000)]
* Tell compilers they really need Python 2.3 when trying to SCons it all.

17 years agoThe blenderbuttons file with EFFECT icon
Ton Roosendaal [Wed, 14 Jul 2004 15:37:49 +0000 (15:37 +0000)]
The blenderbuttons file with EFFECT icon

17 years ago* the installer script so you can do 'scons wininst' (on win32 only, of course)
Nathan Letwory [Wed, 14 Jul 2004 14:13:20 +0000 (14:13 +0000)]
* the installer script so you can do 'scons wininst' (on win32 only, of course)

This installer script is modified from the original one so that the SConstruct
will dynamically add the files that need to go into the installer. This means
that adding a script to release/scripts will automatically put it in the installer.

Also, adding new resource files in bin/.blender/ will make sure that those get
added to the installer.

17 years ago* rewrote part of the targets code
Nathan Letwory [Wed, 14 Jul 2004 14:10:39 +0000 (14:10 +0000)]
* rewrote part of the targets code
* added 'scons wininst'. This will create a NSIS installer for blender.
  This will need the NSIS tool in your path (makensis.exe).
  The needed scriptfile will be committed seperately, so remember
  to 'cvs update -d'

* tested on windows and linux, so other platform maintainers, please
  check that the build process is not broken.

17 years agocache_size yafray parameter calculation changed to sync with current
Alejandro Conty Estevez [Wed, 14 Jul 2004 10:20:56 +0000 (10:20 +0000)]
cache_size yafray parameter calculation changed to sync with current
yafray cvs code. Now given in screen coords (-1,+1)x(-1,+1)

17 years ago* the default 'scons' process now just builds Blender, but does no packaging, zipping...
Nathan Letwory [Wed, 14 Jul 2004 06:09:29 +0000 (06:09 +0000)]
* the default 'scons' process now just builds Blender, but does no packaging, zipping or tarballing
* 'release' must be explicitely given as target to get all nicely wrapped up

17 years ago- updated VC6 project files for SOLID - blender now links with the
Simon Clitherow [Tue, 13 Jul 2004 21:52:23 +0000 (21:52 +0000)]
- updated VC6 project files for SOLID - blender now links with the
  static solid lib.

- also cleaned up solid.dsw workspace (removed unused projects).

17 years agoLSCM:
Brecht Van Lommel [Tue, 13 Jul 2004 20:53:51 +0000 (20:53 +0000)]
Fixed a bug where the projection axis for the initial solution was wrong,
causing the solution to collapse into one point.
Made packing denser (by reducing the padding between face groups).

17 years agoRemoved VECADD and VECSUB, are in utildefine.h now
Ton Roosendaal [Tue, 13 Jul 2004 20:39:32 +0000 (20:39 +0000)]
Removed VECADD and VECSUB, are in utildefine.h now

17 years agoRemoved some testcode from yafray_Render.cpp
Alfredo de Greef [Tue, 13 Jul 2004 19:22:41 +0000 (19:22 +0000)]
Removed some testcode from yafray_Render.cpp
Added the missing anti-aliasing pixel filter size and threshold parameters for manual AA control (disable 'Auto AA' button).
Added support for yafray raytraced depth-of-field.
Added extra panel for Camera in edit window to edit dof paramaters.
The actual focus point will be drawn as a cross when camera 'ShowLimits' is enabled, similar to the aqsis code in tuhopuu.

Note to users: raytraced DoF is very slow, for best results, the default AA parameters are not good enough, especially with higher aperture values (more blur).
So for best results, disable 'Auto AA' and set the AA parameters yourself.
It works best with multi-pass AA ('AA passes' > 1) and a reasonable 'AA samples' value, something in the range 8 - 25 or even higher.
Currently the post-process DoF is not available in yafray, alternatives are being worked on.

17 years ago* colon after def printadd() added to have correct and running python again :) (sorry...
Nathan Letwory [Tue, 13 Jul 2004 19:10:34 +0000 (19:10 +0000)]
* colon after def printadd() added to have correct and running python again :) (sorry, must've been subconsious spasm)
* made the build not depend on blenderplayer, so that it continues even when you have not the blenderplayer enabled

17 years ago* UNWRAPPER define in blenkernel for
Nathan Letwory [Tue, 13 Jul 2004 18:27:40 +0000 (18:27 +0000)]
* UNWRAPPER define in blenkernel for
* updates to have blender link with opennl

17 years ago* add opennl and superlu to intern project
Nathan Letwory [Tue, 13 Jul 2004 18:25:44 +0000 (18:25 +0000)]
* add opennl and superlu to intern project

17 years ago* Added a release target to SConstruct -> 'scons release':
Nathan Letwory [Tue, 13 Jul 2004 17:01:58 +0000 (17:01 +0000)]
* Added a release target to SConstruct -> 'scons release':
      - after building blender and blenderplayer an archive is created in bin/ containing all necessary files
      - you'll need now python2.3 or newer for SConstruct to go through correctly. This is not a problem,
        since Blender requires python2.3 now anyway.
      - the release target has been done for linux, win32 and os x, other platforms get a
        warning message after blender has been built, just no package. See warning message for instructions
      - for linux, osx and win32 the blenderplayer target has been enabled for default
      - the build is logged to build.log for all platforms except win32. If you want it, you'll need tee.exe from in your path (I put it in C:\\windows) and change the first if check in the
        SConstruct accordingly

17 years agoAdded LSCM UV Unwrapping:
Brecht Van Lommel [Tue, 13 Jul 2004 11:48:52 +0000 (11:48 +0000)]
Added LSCM UV Unwrapping:

Implementation Least Squares Conformal Maps parameterization, based on
chapter 2 of:
Bruno Levy, Sylvain Petitjean, Nicolas Ray, Jerome Maillot. Least Squares
Conformal Maps for Automatic Texture Atlas Generation. In Siggraph 2002,
July 2002.

Seams: Stored as a flag (ME_SEAM) in the new MEdge struct, these seams define
where a mesh will be cut when executing LSCM unwrapping. Seams can be marked
and cleared in Edit Mode. Ctrl+EKEY will pop up a menu allowing to Clear or Mark
the selected edges as seams.

Select Linked in Face Select Mode now only selects linked faces if no seams
separate them. So if seams are defined, this will now select the 'face group'
defined by the seams. Hotkey is still LKEY.

LSCM Unwrap: unwrap UV's by calculating a conformal mapping (preserving local
angles). Based on seams, the selected faces will be 'cut'. If multiple
'face groups' are selected, they will be unwrapped separately and packed in
the image rectangle in the UV Editor. Packing uses a simple and fast
algorithm, only designed to avoid having overlapping faces.

LSCM can be found in the Unwrap menu (UKEY), and the UV Calculation panel.

Pinning: UV's can be pinned in the UV Editor. When LSCM Unwrap is then
executed, these UV's will stay in place, allowing to tweak the solution.
PKEY and ALT+PKEY will respectively pin and unpin selected UV's.

Face Select Mode Drawing Changes:
- Draw Seams option to enable disable drawing of seams
- Draw Faces option to enable drawing of selected faces in transparent purple
- Draw Hidden Edges option to enable drawing of edges of hidden faces
- Draw Edges option to enable drawing of edges of visible faces

The colors for these seams, faces and edges are themeable.

17 years agoAdded SuperLU 3.0:
Brecht Van Lommel [Tue, 13 Jul 2004 11:42:13 +0000 (11:42 +0000)]
Added SuperLU 3.0:

This is a library to solve sparse matrix systems (type A*x=B). It is able
to solve large systems very FAST. Only the necessary parts of the library
are included to limit file size and compilation time. This means the example
files, fortran interface, test files, matlab interface, cblas library,
complex number part and build system have been left out. All (gcc) warnings
have been fixed too.

This library will be used for LSCM UV unwrapping. With this library, LSCM
unwrapping can be calculated in a split second, making the unwrapping proces
much more interactive.

Added OpenNL (Open Numerical Libary):

OpenNL is a library to easily construct and solve sparse linear systems. We
use a stripped down version, as an interface to SuperLU.

This library was kindly given to use by Bruno Levy.

17 years agoAck! Fixed something without testing... this broke updates for numbuts
Ton Roosendaal [Mon, 12 Jul 2004 21:40:41 +0000 (21:40 +0000)]
Ack! Fixed something without testing... this broke updates for numbuts
in picker.

17 years agoThis commit add the clock wipe effect to the sweep menu in the sequence editor
Johnny Matthews [Mon, 12 Jul 2004 17:59:42 +0000 (17:59 +0000)]
This commit add the clock wipe effect to the sweep menu in the sequence editor

17 years agoadded support for ortho camera (needs yafray from cvs)
Alfredo de Greef [Mon, 12 Jul 2004 03:20:31 +0000 (03:20 +0000)]
added support for ortho camera (needs yafray from cvs)
When using xml export, yafray will now render the alpha channel as well when 'RGBA' button in blender is enabled (Plugin does this automatically).
In plugin code, fixed smooth shading bug for non-mesh objects.
Relative paths for textures are now recognized (plugin & xml).
Fixed problem with duplicate objects (plugin & xml).
Really old bug, sun position is now correct (plugin & xml).
World background now can also be a regular image texture (jpeg & tga), but for now always assumes spheremapping, which is not the same as Blender either. In yafray the texture is assumed to be a full 360 (panorama type) map.
convertBlenderScene.c cleanup, the identity transform 'hack' is removed.

17 years ago- changed sequence for finding HOME on Win32. Sequence is now as
Simon Clitherow [Sun, 11 Jul 2004 21:54:18 +0000 (21:54 +0000)]
-  changed sequence for finding HOME on Win32.  Sequence is now as
   shown at

   Still TODO:  update NSIS installer script to suit the change.

17 years ago* Fixed action conflict (win32):
Nathan Letwory [Sun, 11 Jul 2004 20:14:54 +0000 (20:14 +0000)]
* Fixed action conflict (win32):
    When also enabling the blenderplayer there would be a action conflict for the resource building.

17 years ago- Simple optimizing for deflected (collision) particles. It now caches
Ton Roosendaal [Sun, 11 Jul 2004 13:17:03 +0000 (13:17 +0000)]
- Simple optimizing for deflected (collision) particles. It now caches
  transformation (from vertex -> world space), used defines for vecadd and
  vecsub, and intersects quads more efficient.
  Result is about 2 times faster.

- Added draw mode for empty used as forcefield

- added defines VECADD and VECSUB

17 years agoTiny cleanup in call for glBitmap. Don't see any error in using it for
Ton Roosendaal [Sun, 11 Jul 2004 08:46:26 +0000 (08:46 +0000)]
Tiny cleanup in call for glBitmap. Don't see any error in using it for
drawing vertices... on OSX this works 100%, also in zbuffer mode and with
transparent faces.
Code is simple enough for a linuxer to further test!

17 years agoSome tiny dialog message cleaning for easier scan-reading.
Matt Ebb [Sun, 11 Jul 2004 04:44:50 +0000 (04:44 +0000)]
Some tiny dialog message cleaning for easier scan-reading.

17 years agoForgot to include glutil.h
Ton Roosendaal [Sat, 10 Jul 2004 21:44:45 +0000 (21:44 +0000)]
Forgot to include glutil.h

17 years agoLong on the todolist: a patch to have pointsize working on systems that
Ton Roosendaal [Sat, 10 Jul 2004 21:35:17 +0000 (21:35 +0000)]
Long on the todolist: a patch to have pointsize working on systems that
don't have them larger than 1, since vertices are drawn with it.

It is solved by patching code with minimal confusement. So you can get
automatic patched glPoints with:


In glutil.c the wrapper can be found, that checks for maximum Pointsize,
and bypasses it to a glBitmap then.

17 years agoAdded B_NOP to events buttons on wipe type effects panel.
Johnny Matthews [Sat, 10 Jul 2004 20:19:53 +0000 (20:19 +0000)]
Added B_NOP to events buttons on wipe type effects panel.

17 years agoSmall improvement in detecting which previews need update in Blender.
Ton Roosendaal [Sat, 10 Jul 2004 19:56:27 +0000 (19:56 +0000)]
Small improvement in detecting which previews need update in Blender.
Now you can have multiple buttons windows open, for example one showing
only a larger material preview, and have it updated correctly. Nice for
setups where you can keep preview shown while scrolling buttons.

17 years agoAdded colorpicker in Panel for:
Ton Roosendaal [Sat, 10 Jul 2004 17:40:40 +0000 (17:40 +0000)]
Added colorpicker in Panel for:

- Transform properties 3d win, while Vertex/Texture paint is on
- Paint panel in UV window

Note; both use the same GVP struct to store current color in. Also the
function used now to add picker isn't complete... might need further
thinking over. Consult me when you like them in more places.

17 years agoMore closely implement the Installation Policy
Wouter van Heyst [Sat, 10 Jul 2004 13:48:12 +0000 (13:48 +0000)]
More closely implement the Installation Policy

- Within those confines 'ERROR: File ".Blanguages" not found' won't show up
  again (all such bugs in tracker have already been closed, #745 for reference)

  And intrr, if it does, 'cp -a .blender ~' already :P

Of course, this issue should not be fixed on a per file basis (.Blanguages,
.bfont.ttf), but instead return the .blender dir location. Duplicating .blender
finding logic everywhere, sigh.

< jesterKinky> that's what I meant. for now this is ok to continue with, and then in a later stage correct it all in one bigger effort
< jesterKinky> and since you point code at policy url we all can get reminded of how it was supposed to go when cleaning it.
< LarstiQ> jesterKinky: yes, I meant to do a "grrrr, this is the last time I'm not fixing the underlying issue"
< LarstiQ> all your lazy coders are belong to me
< jesterKinky> set us up the superficial bugfix

17 years agoAdded edges in Mesh undo.
Ton Roosendaal [Sat, 10 Jul 2004 13:11:22 +0000 (13:11 +0000)]
Added edges in Mesh undo.
Note; whether or not edges are created is derived from original Mesh, the
one still residing in obedit->data while modeling.

17 years agoChanged weird line in add_primitiveMesh() that caused cursor to flip back
Ton Roosendaal [Sat, 10 Jul 2004 12:04:03 +0000 (12:04 +0000)]
Changed weird line in add_primitiveMesh() that caused cursor to flip back
to normal mousepointer while in editmode.
Was in code since 2.25...

17 years agoMade effector strenght as big in the negative as in the positive.
Martin Poirier [Sat, 10 Jul 2004 10:33:02 +0000 (10:33 +0000)]
Made effector strenght as big in the negative as in the positive.

17 years agoCompressed the two particles effectors loop into one. It was rather stupid of me...
Martin Poirier [Sat, 10 Jul 2004 09:17:25 +0000 (09:17 +0000)]
Compressed the two particles effectors loop into one. It was rather stupid of me to do it as two at first, but it was the first thing that came to mind. Fixed now, so it will calculate much faster.

17 years agoFix metaball update bug when mirroring in object mode
Martin Poirier [Fri, 9 Jul 2004 15:23:49 +0000 (15:23 +0000)]
Fix metaball update bug when mirroring in object mode

17 years agoFixed for forcefield. It needed to add half of the acceleration as speed on each...
Martin Poirier [Fri, 9 Jul 2004 14:39:06 +0000 (14:39 +0000)]
Fixed for forcefield. It needed to add half of the acceleration as speed on each frame it affected.
Cleaned the GUI for effectors: Widen the panel and the buttons. Made the button text more conformed.
Added vortex field for particles.  Particles swirl around z-axis of the object. Little hackish, could be made better.

17 years agoTyping values in color picker got a mixup in but->func() usage... caused
Ton Roosendaal [Fri, 9 Jul 2004 09:21:37 +0000 (09:21 +0000)]
Typing values in color picker got a mixup in but->func() usage... caused
weird values to be set after entering a value. Nicely solved now.

17 years agoTwo little fixes in administrating new Mesh edges. Solves crash when
Ton Roosendaal [Fri, 9 Jul 2004 08:15:57 +0000 (08:15 +0000)]
Two little fixes in administrating new Mesh edges. Solves crash when
joining newly created (Added) Mesh with others...

17 years agoQuite a large one this time... but now we have:
Ton Roosendaal [Thu, 8 Jul 2004 20:38:27 +0000 (20:38 +0000)]
Quite a large one this time... but now we have:

Edges in Mesh
- adds automatic when you use creases. For other situations; call the
  void make_edges(Mesh *me) in mesh.c. Of course, once in editmode the
  edges are automatically recreated.
- in F9 buttons you can add/remove edges too
- both for Mesh and DisplistMesh, so it speeds up drawing quite some in
- render for edges can't work... edges have no material nor tface nor col..
  so here still the faces are rendered in wire

Creases in Subsurf
- based on the code by Chris McFarlen
- main changes is that now edges are used, saving quite some data in file
- use SHIFT+E in editmode to set edges-sharpness. values go from 0-1
- in F9 buttons you can set draw-crease mode. It draws now blended from
  wire color to edge-select color (as provided in Theme)

Known issue: setting sharpness on 1 cube (subdiv 2) gives weird results
with some values... Chris, can you check?

Further; code cleanups, changing 0 in NULL when needed, no warnings, etc etc

17 years ago* fixed bug in rainbow color for material and world ipoview
Nathan Letwory [Wed, 7 Jul 2004 08:49:33 +0000 (08:49 +0000)]
* fixed bug in rainbow color for material and world ipoview
* removed 32 channel limit (can now have 50, or of you know what number to change, 999 ;)
* added new IPOs: mirror fresnel and fac, transparency fresnel and fac, and glow factor transparent materials (add)

17 years agoFix compile error: the 'log' function takes only one parameter: changed
Brecht Van Lommel [Tue, 6 Jul 2004 22:25:14 +0000 (22:25 +0000)]
Fix compile error: the 'log' function takes only one parameter: changed
log(xo, 2) to log(xo)/log(2).

17 years agoThis is the initial commit of a revamp of the sweep effects that goofster committed...
Johnny Matthews [Tue, 6 Jul 2004 19:07:13 +0000 (19:07 +0000)]
This is the initial commit of a revamp of the sweep effects that goofster committed that was originally a sequence plugin from sirdude.

The changes from the original include the ability to add a blurred edge with a selectable width to the wipe and to rotate the effect.

Has these sweep types included already

These still need to be coded

17 years ago- Removed new outline drawing from vpaint/faceselect and other paint modes
Ton Roosendaal [Tue, 6 Jul 2004 16:32:44 +0000 (16:32 +0000)]
- Removed new outline drawing from vpaint/faceselect and other paint modes
- fixed tooltip drawing in color picker

17 years agoFixes in colorpicker;
Ton Roosendaal [Tue, 6 Jul 2004 12:49:57 +0000 (12:49 +0000)]
Fixes in colorpicker;

- click on palette didn't update button values
- the bottom 'palette' button now restores to old color
- H values scroll allways, also with black or white

Todo still:
- save in file (btw, i changed default colors to my pref :)

17 years agoColorpicker variant 2; One large field for S and V, and slider for H, like
Ton Roosendaal [Mon, 5 Jul 2004 22:15:27 +0000 (22:15 +0000)]
Colorpicker variant 2; One large field for S and V, and slider for H, like
Gimp has for example.

The previous picker is still as code there... ongoing experiments.

17 years agoPicker made slightly larger, and removed confusing "copy to" and "paste
Ton Roosendaal [Mon, 5 Jul 2004 20:45:41 +0000 (20:45 +0000)]
Picker made slightly larger, and removed confusing "copy to" and "paste
from" buttons.

Now a click in palette is default: update the active color.
If you want to store in palette: hold CTRL while click.

This isn't optimal either, but at least better.

17 years agoFixed NUM button code that it doesn't return halfway, but nicely proceeds
Ton Roosendaal [Mon, 5 Jul 2004 17:48:47 +0000 (17:48 +0000)]
Fixed NUM button code that it doesn't return halfway, but nicely proceeds
to end of the function to handle the exit requirements.
(returns where added for patch that makes NUM buttons into textbut on a
click in center)

17 years agoCleaned up pop-up menus for F10; edge settings and framing menu.
Ton Roosendaal [Mon, 5 Jul 2004 10:56:13 +0000 (10:56 +0000)]
Cleaned up pop-up menus for F10; edge settings and framing menu.

17 years ago- oh, the protype for XORcircle...
Ton Roosendaal [Mon, 5 Jul 2004 10:22:41 +0000 (10:22 +0000)]
- oh, the protype for XORcircle...

17 years ago- clipped selection circle in colorpicker to prevent it drawing outside
Ton Roosendaal [Mon, 5 Jul 2004 10:22:00 +0000 (10:22 +0000)]
- clipped selection circle in colorpicker to prevent it drawing outside
  the color plane
- removed warnings from glutil.c, made circleXOR call become float instead
  of short
- fixed error in drawing text of buttons in pop-up menus, when zoomed small

17 years agoChanged redraw of picker not to include the background, prevents flashing.
Ton Roosendaal [Mon, 5 Jul 2004 09:21:22 +0000 (09:21 +0000)]
Changed redraw of picker not to include the background, prevents flashing.

17 years ago* Added IPO for displacement, translucency and raymirror
Nathan Letwory [Mon, 5 Jul 2004 09:15:02 +0000 (09:15 +0000)]
* Added IPO for displacement, translucency and raymirror
* Cleaned out IPO #defines

17 years agoNew: color picker!
Ton Roosendaal [Mon, 5 Jul 2004 08:48:17 +0000 (08:48 +0000)]
New: color picker!

With a click on the 'COL' buttons (the ones showing RGB) a menu pops up
with three colorpicking fields and a palette.
The fields are the three planar intersections of a HSV cube, each allowing
choosing in the field without the field changing.

The palette is 'modal' unfortunately (couldn't find a simple working other
method) where the button "paste to color" denotes the state that click in
palette copies to edited color, and "copy to palette" means the active
color is copied into the palette...

- saving of palette in file
- decide whether ESC leaves without changes...

17 years agoDirectly edit number fields with a click instead of having
Matt Ebb [Mon, 5 Jul 2004 07:52:32 +0000 (07:52 +0000)]
Directly edit number fields with a click instead of having
to use Shift-Click.

As before, clicking on the left side of a number field decreases, clicking on the right side increases, but clicking in the centre, on the text itself, starts editing the
value directly. Other behaviour like dragging left and right
is unchanged.

17 years ago- py docs update
Joseph Gilbert [Sun, 4 Jul 2004 19:57:41 +0000 (19:57 +0000)]
- py docs update
- getMatrix(), properties for object class, some examples

17 years ago* ensure winblender.res gets build too.
Nathan Letwory [Sat, 3 Jul 2004 22:01:04 +0000 (22:01 +0000)]
* ensure winblender.res gets build too.

17 years agoMade static particles working with a deformed Mesh, both for Lattice as
Ton Roosendaal [Sat, 3 Jul 2004 18:39:19 +0000 (18:39 +0000)]
Made static particles working with a deformed Mesh, both for Lattice as
for Armature. Note: only works for subsurfed Mesh now!

Change in drawobject.c: Halo option on subsurf Mesh now draws points.
but using the original vertices...

17 years agoInterface:
Willian Padovani Germano [Sat, 3 Jul 2004 17:28:15 +0000 (17:28 +0000)]
- added submenu "Scripts" in both View3D->Object and Mesh menus.
  Put them on top (it's better to follow some guideline, so users don't have to search for "Scripts" submenu in a different position in each menu), feel free to change.
- added button 'previous win' to SpaceScript, makes accessing buttons win, for example, much faster.  Maybe all spaces could have this button.

- added Window.EditMode(), to check, enter and leave edit mode.  Scripts that change mesh data need this to leave edit mode before making changes to the active (G.obedit) mesh, of course.
- updated script bevel_center to use the above function and also popup an error msg if the active obj is not a mesh.
- doc updates, minor fixes.

Forgot to mention in my previous commit that I also updated the "-P" command-line option (for running script files) to be able to run already loaded Blender Texts, too.  So, if you have a script called 'Text' in foo.blend, you can run it with blender foo.blend -P Text .

17 years agoThree in one:
Ton Roosendaal [Sat, 3 Jul 2004 14:18:21 +0000 (14:18 +0000)]
Three in one:

- textures: added support for new mixers (div, diff etc) to work on the
  other map-to channels too, like ref or spec
  Also it works on lamp and world textures
- brought back uncommented line of code that was removed by leon, to have
  particle motion based on textures
- recoded the glPylonOffset hack to be nice function, this for future

17 years agoNew scripts:
Willian Padovani Germano [Sat, 3 Jul 2004 05:17:04 +0000 (05:17 +0000)]
New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)

  Thanks to them for the new contributions!

  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)

BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".

The addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.

17 years agoAdded new operators for "MapTo" panel as suggested & partially coded by
Ton Roosendaal [Fri, 2 Jul 2004 22:29:06 +0000 (22:29 +0000)]
Added new operators for "MapTo" panel as suggested & partially coded by
Kent Mein. So next to the mix, mult, add, sub we have now:

- Div: divides by texture color
- Screen: is like Mult, but works opposite (makes lighter)
- Diff: the difference between texture color and material
- Light: if texture is lighter it shows (per component)
- Dark: if texture is darker it shows (per component)

Next step: add this for specular and mirror, and the other channels...
I commit it now because it also fixes error in previous commit.

17 years agoFixed rendering of image textures with alpha... it gave ugly dark outlines.
Ton Roosendaal [Fri, 2 Jul 2004 20:49:08 +0000 (20:49 +0000)]
Fixed rendering of image textures with alpha... it gave ugly dark outlines.
Please note the following:

- pictures need to be saved as 'premul' sky render if you want to use it
  in Blender as texture
- but for alpha-over in sequencer it has to be 'key alpha'...

This inconsistancy needs to be solved.. for example as option for both
texture as sequencer.

17 years agoAdded new exported render calls in stubs... so player compiles again!
Ton Roosendaal [Fri, 2 Jul 2004 13:51:33 +0000 (13:51 +0000)]
Added new exported render calls in stubs... so player compiles again!

17 years agoBug #1411
Ton Roosendaal [Fri, 2 Jul 2004 12:44:32 +0000 (12:44 +0000)]
Bug #1411

"inserting keys in editmode didnt work on newly created Meshes"

Found out the error was in code committed by Hos in december, when
he added feature to copy newly added vertices (or remove) when editing
vertex keys. In his commit he already noted "please test" :)

Error was that newly created meshes didn't give a correct first key.  For keys
to work in 2.32 and 2.33 you have to leave editmode at least once, or
insert keys outside of editmode.

The fix was fairly simple, just checking for an empty first key.

17 years agoForgot to add code for copying/paste functionality Materials. With new
Ton Roosendaal [Thu, 1 Jul 2004 18:06:27 +0000 (18:06 +0000)]
Forgot to add code for copying/paste functionality Materials. With new
ColorBand data added in Material that needs to be tackled corectly.

17 years agoReport #1401
Ton Roosendaal [Thu, 1 Jul 2004 16:15:22 +0000 (16:15 +0000)]
Report #1401

Division by zero in calculating render coords... only happens for
Wire material AND having face-less edges. Then the normal is zero, and
some calculations can't happen correctly.

(error in rendercore.c, other files committed was because of removed and
cleaned up enters)

17 years agoCorrected a misleading confirmation message when deleting a bone ("Erase selected...
Matt Ebb [Thu, 1 Jul 2004 09:31:12 +0000 (09:31 +0000)]
Corrected a misleading confirmation message when deleting a bone ("Erase selected bone", not "Erase selected armature")

17 years agoFixed draw error in panels, the header was overdrawn with panel background.
Ton Roosendaal [Wed, 30 Jun 2004 21:59:12 +0000 (21:59 +0000)]
Fixed draw error in panels, the header was overdrawn with panel background.
Only visible when panels are not transparent.

17 years agoNEW: Ramp shades for diffuse and specular
Ton Roosendaal [Wed, 30 Jun 2004 18:54:09 +0000 (18:54 +0000)]
NEW: Ramp shades for diffuse and specular

Material color and specular now can be defined by a Colorband. The actual
color then is defined during shading based on:
- shade value (like dotproduct)
- energy value (dot product plus light)
- normal
- result of all shading (useful for adding stuff in the end)

Special request from [A]ndy! :)

17 years agoSwitch to using floats instead of shorts for normal data - they're supposed to be...
Kester Maddock [Wed, 30 Jun 2004 13:41:19 +0000 (13:41 +0000)]
Switch to using floats instead of shorts for normal data - they're supposed to be faster.
Also use shorts instead of ints for the index data, since index arrays are limited anyhow.

17 years agoTwo stupid fixes for warnings:
Kent Mein [Tue, 29 Jun 2004 20:34:10 +0000 (20:34 +0000)]
Two stupid fixes for warnings:

First one was for drawview.c I gave some types to things that didn't have them
-static void view3d_panel_background(cntrl)     // VIEW3D_HANDLER_BACKGROUND
+static void view3d_panel_background(short cntrl)       // VIEW3D_HANDLER_BACKGR

For edit.c I added a newline to the end of the file.



17 years ago- added octal tree node optimalization of MetaBall polygonisation
Jiri Hnidek [Tue, 29 Jun 2004 17:10:13 +0000 (17:10 +0000)]
- added octal tree node optimalization of MetaBall polygonisation
  polygonization of 512 MetaBalls:
   - version 2.33a:      76 s
   - current cvs version 8 s

- button "Never" is added in button window: Metaballs are polygonized only during render time (it is useful for particle animation)

17 years agoMetaball normals were flipped again... thanks jiri for pointing me to it...
Ton Roosendaal [Mon, 28 Jun 2004 11:14:58 +0000 (11:14 +0000)]
Metaball normals were flipped again... thanks jiri for pointing me to it...

17 years agoFinally, fixed the evil dll problem. It works now
Alejandro Conty Estevez [Sun, 27 Jun 2004 20:10:20 +0000 (20:10 +0000)]
Finally, fixed the evil dll problem. It works now
on my win32 box with my tests without crashing.
But be aware! There may be more of them watching
us, waiting for a moment of distraction, nobody
is safe.

17 years agoadded fflush(stdout) for printf updates while calculating particles
Ton Roosendaal [Sun, 27 Jun 2004 14:05:08 +0000 (14:05 +0000)]
added fflush(stdout) for printf updates while calculating particles

17 years agoThe revised patch from Leon for new particle effects.
Ton Roosendaal [Sat, 26 Jun 2004 18:18:11 +0000 (18:18 +0000)]
The revised patch from Leon for new particle effects.

New is that objects can have a force field, and Meshes can even deflect
(collide) particles. This is in a new sub-menu in Object buttons F7

The full instructions where on the web, Leon mailed it me and I will put
it in CMS tomorrow. For those who like to play with it now, here are demo

Quite some changes where in the integration though... so previous created
particle deflectors will not work. Changes to mention now are:
- gravity is renamed to 'force field'
- force field and deflector options are in Object now, not in Mesh
- the options also have its own struct, doesnt add to Object by default
- force fields are possible for all object types, but only work on center.
  So empty objects are typical for it.

Work to do:
- add draw method in 3d win to denote forcefield objects
- check on the UI (panel with different size?)
- add 'recalc' button in deflector panel

17 years agoChanges in code to allow double sided energy, but it's not possible
Ton Roosendaal [Sat, 26 Jun 2004 18:03:57 +0000 (18:03 +0000)]
Changes in code to allow double sided energy, but it's not possible
to activate it. Added comment in code how to enable it for those who
like to play (search for translu)

What doesnt work - according to me not satisfying - is fact that radiosity
hemicubes alias badly on short distances, so interior light doesn't spread

17 years ago- added support for getting worlspace and localspace matrices from objects through...
Joseph Gilbert [Sat, 26 Jun 2004 14:38:56 +0000 (14:38 +0000)]
- added support for getting worlspace and localspace matrices from objects through python. Add cvars matrixWorld/matrixLocal.
- credits to Campbell Barton

17 years agoMinor Fixes:
Kester Maddock [Sat, 26 Jun 2004 09:15:41 +0000 (09:15 +0000)]
Minor Fixes:
Better use of booleans for python
#include fixes for Windows
Python Doc fixes
Use the farthest vertex as the face position when z sorting faces. (Camera is on -z axis!)

17 years agominor changes to sync with yafray cvs interface, getting closer
Alejandro Conty Estevez [Thu, 24 Jun 2004 21:17:52 +0000 (21:17 +0000)]
minor changes to sync with yafray cvs interface, getting closer
to the clean msvc build.