blender.git
16 years agoAdded support for outputting bmp's
Kent Mein [Fri, 9 Jan 2004 22:04:08 +0000 (22:04 +0000)]
Added support for outputting bmp's
The padding is slightly messed up, so it produces somewhat trunkcated images
however it works.  I'll try and fix it later but I have to go home now.
Its atleast usable at this stage.

I moved bmp_decode.c to bmp.c and cleaned it up a little bit.

Kent

16 years agoEeshlo's fix for the unit problem with texture paths exporting to yafray
Alejandro Conty Estevez [Fri, 9 Jan 2004 21:15:08 +0000 (21:15 +0000)]
Eeshlo's fix for the unit problem with texture paths exporting to yafray

16 years ago- Merged conversion to renderfaces for mesh and subsurfs.
Ton Roosendaal [Fri, 9 Jan 2004 20:52:44 +0000 (20:52 +0000)]
- Merged conversion to renderfaces for mesh and subsurfs.
  This fixes bug in wrong flipping of normals during render in some cases
  too. Most important, it also allows autosmooth and halos now with subsurf.
  Particles do work, but still use the original geometry.
- I only coded 4 bytes of this, rest is from master zr!

16 years ago- Introduce use_precomp on Darwin to decide wether to use precompiled
Wouter van Heyst [Fri, 9 Jan 2004 11:13:58 +0000 (11:13 +0000)]
- Introduce use_precomp on Darwin to decide wether to use precompiled
  libraries/headers from lib, or use the system libraries.

  At the moment just use sdl-config output for SDL.

16 years agoFrom Eeshlo: fixed bug with dupliverted lamps not exporting. Also now it
Alejandro Conty Estevez [Fri, 9 Jan 2004 08:31:23 +0000 (08:31 +0000)]
From Eeshlo: fixed bug with dupliverted lamps not exporting. Also now it
skips envmaps, octree and radiosity when yafray is enabled.

16 years ago - Removed some out-of-date comments in Displacement.
Robert Wenzlaff [Fri, 9 Jan 2004 04:16:16 +0000 (04:16 +0000)]
- Removed some out-of-date comments in Displacement.

16 years ago - Displacement scalling. Displacement now handles sizex/y/z of object
Robert Wenzlaff [Fri, 9 Jan 2004 03:57:14 +0000 (03:57 +0000)]
- Displacement scalling.  Displacement now handles sizex/y/z of object
properly, and uses the AutoTexSpace button to see if the size of the
data needs to be adjusted for.

- Scale now split to x/y/z components.  Not sure if this is the most.
logical way to do it.  Will have to reconsider later.

16 years ago- Add new yafray files to SConscript
Wouter van Heyst [Thu, 8 Jan 2004 23:57:57 +0000 (23:57 +0000)]
- Add new yafray files to SConscript

16 years agoCode reorganization to allow a clean export to plugin alternative for
Alejandro Conty Estevez [Thu, 8 Jan 2004 23:12:56 +0000 (23:12 +0000)]
Code reorganization to allow a clean export to plugin alternative for
yafray

16 years ago - added displist option to 10-timer (ctrl-alt-t), runs makedisplist
Daniel Dunbar [Thu, 8 Jan 2004 20:08:27 +0000 (20:08 +0000)]
 - added displist option to 10-timer (ctrl-alt-t), runs makedisplist
    on current option (for timing subsurf stuff).

16 years ago - committed new uiDef{Icon,IconText,}ButBit? functions
Daniel Dunbar [Thu, 8 Jan 2004 19:53:19 +0000 (19:53 +0000)]
 - committed new uiDef{Icon,IconText,}ButBit? functions
 - change object draw flag buttons to use new functions (just an example)

 While I probably wouldn't recommend patching other buttons to use the new
functions a week before release, it is a good (simple but tedious) project
to complete. Note that some code actually defined the constants for the
bit index, when such code is fixed the _BIT constant should be removed from
the headers.

Example:
DNA_constraint_types.h:
#define CONSTRAINT_DISABLE 0x00000004
#define CONSTRAINT_DISABLE_BIT 2

buttons_object.c:
uiDefIconButS(block, ICONTOG|BIT|CONSTRAINT_EXPAND_BIT, ...);

The button definition should change to:
uiDefIconButBitS(block, ICONTOG, CONSTRAINT_EXPAND, ...);

(whats that, the more correct way uses less typing, GOOD GOD!)
and the CONSTRAINT_DISABLE_BIT define should be removed.

16 years agosome cosmetic changes to make the compiler shut up when building with scons
Stefan Gartner [Thu, 8 Jan 2004 16:28:45 +0000 (16:28 +0000)]
some cosmetic changes to make the compiler shut up when building with scons
on os x

16 years agofix (?) for compiling with quicktime support on some versions of os x
Stefan Gartner [Thu, 8 Jan 2004 16:26:30 +0000 (16:26 +0000)]
fix (?) for compiling with quicktime support on some versions of os x
with some versions of gcc (aka. the nasty ID problem). see also
http://www.blender.org/pipermail/bf-committers/2003-November/004660.html

16 years agofix building with quicktime support on os x.
Stefan Gartner [Thu, 8 Jan 2004 16:14:09 +0000 (16:14 +0000)]
fix building with quicktime support on os x.
some platform specific sections had link_env.Append(CPPDEFINES=defines)
(darwin was not one of them). I moved that line to the global part of
SConstruct and added "defines = []" to the platforms that didn't have
it (sunos and hp-ux). I hope I didn't break anything...

16 years ago - Corrected scale factor to be independant of object
Robert Wenzlaff [Thu, 8 Jan 2004 14:19:25 +0000 (14:19 +0000)]
- Corrected scale factor to be independant of object
rotation.  (Still not right, but better).

16 years agoAdded export for caustic settings based on the raytrans values. And settings
Alejandro Conty Estevez [Thu, 8 Jan 2004 11:42:40 +0000 (11:42 +0000)]
Added export for caustic settings based on the raytrans values. And settings
for casting them from GI (pathlight). A new contro "caus depth" in the panel
controls the maximun number of bounces going through objects.

Now images like this:
http://www.coala.uniovi.es/~jandro/noname/images/causfromblender.jpg
are possible with scenes like this:
http://www.coala.uniovi.es/~jandro/noname/examples/exp_test2.blend

16 years ago- fixing a bug which can lead users to potentially resize windows such that they...
Nathan Letwory [Thu, 8 Jan 2004 09:16:19 +0000 (09:16 +0000)]
- fixing a bug which can lead users to potentially resize windows such that they can't be regained anymore. Also, when removing the header from the userdefs, resizing it to 1 pixel height made it very inaccessible. This problem was reported _and_ fixed by ndh (Andreas Haferburg). Thanks!

16 years agoFrom Eeshlo, also create the temporary dir inside yafray's install dir if the
Alejandro Conty Estevez [Thu, 8 Jan 2004 08:55:21 +0000 (08:55 +0000)]
From Eeshlo, also create the temporary dir inside yafray's install dir if the
user does not put a valid path on YFexport. So now all windows path problems
should be fixed, but never understimate windows.

16 years ago - removed duplicate flags from BKE_mesh.h
Daniel Dunbar [Thu, 8 Jan 2004 04:42:29 +0000 (04:42 +0000)]
 - removed duplicate flags from BKE_mesh.h
 - removed rendermesh_uses_displist (no longer relevant)
 - converted appropriate me->flag tests to using mesh_uses_displist
 - made vert and face counting (for info header) use proper counts
 - changed flip_subdivision to allow level==0 argument
 - ps. thanks for subsurf orco fix ton

16 years agotsk, little screwup on last commit
Rob Haarsma [Wed, 7 Jan 2004 23:45:09 +0000 (23:45 +0000)]
tsk, little screwup on last commit

16 years agoPossible definitive fix for the problem of not finding yafray executable
Alejandro Conty Estevez [Wed, 7 Jan 2004 23:40:19 +0000 (23:40 +0000)]
Possible definitive fix for the problem of not finding yafray executable
on win32. Since yafray saves its installation path in the registry, we read it
from there and convert to a legal path for system()

16 years agoApplied Daniel Fairhead's patch for a correct working DELKEY in textinput buttons.
Rob Haarsma [Wed, 7 Jan 2004 23:33:40 +0000 (23:33 +0000)]
Applied Daniel Fairhead's patch for a correct working DELKEY in textinput buttons.
(thanks!)

Added a 'void' somewhere to silence a compiler warning.

(Windows only)
Moved the flip fullscreen button in the topheader a little to the right, since the
questionmark button mysteriously disappeared.

16 years agoLeft over work from localizing renderdata!
Ton Roosendaal [Wed, 7 Jan 2004 21:44:09 +0000 (21:44 +0000)]
Left over work from localizing renderdata!

- when quads get split before render, the vertexcolors and texture face
  (UV) info has to be corrected as well. This happens runtime during
  render, no new data is created. The code was in previous versions, but
  with raytrace and other new features it needed a rewrite
- this now also should work for the new smart split code from robert!

16 years ago- [win32] now really using the directory Blender is installed in. My patch was kinda...
Nathan Letwory [Wed, 7 Jan 2004 21:03:11 +0000 (21:03 +0000)]
- [win32] now really using the directory Blender is installed in. My patch was kinda incomplete, but aphex_ (Simon) was kind enough to point out the lines to edit :)

16 years agoFix for cube map error subsurf.
Ton Roosendaal [Wed, 7 Jan 2004 20:29:21 +0000 (20:29 +0000)]
Fix for cube map error subsurf.

- cubemap relied on pointer to MFace, which is only available for Mesh
  when directly converted to renderfaces.
  It then checked the 'puno' flag where also bits were set to indicate
  the optimal projection for a face (XY, XZ or YZ).
- I found out the renderface also has a puno flag, so the mface pointer
  in a renderface is redundant. Is removed now
- added code in texture cubemap call, which checks on a projection flag
  in 'puno'. If not set, it uses the orco's to calculate one.
- this means, that cubemap now also works for other objects than meshes,
  provided they have an orco block while render.
- if no orco block available, it uses the 'global' projection to find which
  of the cube sides map.

I couldnt find other errors with subsurf & orco though...

16 years agoSome better pose figuring: in pose mode, when *any* parent of a
Chris Want [Wed, 7 Jan 2004 17:11:20 +0000 (17:11 +0000)]
Some better pose figuring: in pose mode, when *any* parent of a
constrained bone is flagged for updating (not just an IK parent) we
should update the constrainted bone (except possibly when the
subtarget bone shares the parent). This solves the "Character doesn't
crouch when I pull his spine downward" bug reported in the testing
builds forum.

16 years ago - Ooops, random keystroke snuck into file between make and commit.
Robert Wenzlaff [Wed, 7 Jan 2004 14:39:50 +0000 (14:39 +0000)]
- Ooops, random keystroke snuck into file between make and commit.

16 years ago - Added UV mapping to displacement.
Robert Wenzlaff [Wed, 7 Jan 2004 14:31:58 +0000 (14:31 +0000)]
- Added UV mapping to displacement.

16 years agoPorted from tuhopuu2:
Matt Ebb [Wed, 7 Jan 2004 12:59:42 +0000 (12:59 +0000)]
Ported from tuhopuu2:

* Added hotkeys Ctrl , (comma) to select 'median point'
pivot and Ctrl . (period) to select 'individual object
centers' pivot.

16 years ago* Added OOPS Schematic menus
Matt Ebb [Wed, 7 Jan 2004 12:26:40 +0000 (12:26 +0000)]
* Added OOPS Schematic menus

16 years ago - removed some old cruft from init_render_displist_mesh (for smeshes-RIP)
Daniel Dunbar [Wed, 7 Jan 2004 10:17:37 +0000 (10:17 +0000)]
 - removed some old cruft from init_render_displist_mesh (for smeshes-RIP)
 - reduced main subsurf interface to two functions to make DispListMesh
    structures from an editmesh or a regular mesh. for the most part this
    means that to implement a geometry modifier you only need to write
    these two functions (not very plugable yet however).
 - added displistmesh_from_mesh and displistmesh_from_editmesh functions
    which allow simple support of subdivLevel(0) subsurfs, somewhat handy
    for testing things (like why orco doesn't work for subsurf).

16 years agoSmall usability fix for Knife Subdivide
Matt Ebb [Wed, 7 Jan 2004 07:30:29 +0000 (07:30 +0000)]
Small usability fix for Knife Subdivide

* If there are no selected edges when the function's
invoked, it now gives an error message and returns.

If anyone can think of a better message, please suggest it
(or just commit it ;)

16 years ago - removed some cruft from old method of subsurf hiding during editmode
Daniel Dunbar [Wed, 7 Jan 2004 06:31:16 +0000 (06:31 +0000)]
 - removed some cruft from old method of subsurf hiding during editmode

16 years ago - added BLI_ghash_size(), number of entries in table
Daniel Dunbar [Wed, 7 Jan 2004 06:13:43 +0000 (06:13 +0000)]
 - added BLI_ghash_size(), number of entries in table
 - added GHashIterator ADT, for iterating over GHash-tables

16 years ago - migrated a subsurf routine to displist.c: displistmesh_calc_vert_normals()
Daniel Dunbar [Wed, 7 Jan 2004 05:50:17 +0000 (05:50 +0000)]
 - migrated a subsurf routine to displist.c: displistmesh_calc_vert_normals()
 - removed some vertice tweaking for subsurf->displist conversion
 - replaced stupid way of doing edcode calculation for ME_OPT_EDGES flag

16 years ago - Displacement now works for all object types. (However, some are only
Robert Wenzlaff [Wed, 7 Jan 2004 04:10:50 +0000 (04:10 +0000)]
- Displacement now works for all object types. (However, some are only
marginally suitable, like curves, because of relatively low renderface
count).  Will have to thoroughly document pros and cons of each type.

Usefullness order (greatest to least):
CC Subsurf Meshes (Displacement likes the smooth normals)
Simple Subsurf Meshes
Manual subdivided meshes
MBalls
Surfaces (Normal errors/ hidden seams)
Curves (Large flat areas with few renderfaces to displace).

16 years agoAdded multi-processor setting for yafray and quotes around the xml
Alejandro Conty Estevez [Tue, 6 Jan 2004 23:33:25 +0000 (23:33 +0000)]
Added multi-processor setting for yafray and quotes around the xml
file in the system call to avoid problems with complex paths.

16 years ago- decided to use a new variable for the new exposure option, instead of
Ton Roosendaal [Tue, 6 Jan 2004 20:25:50 +0000 (20:25 +0000)]
- decided to use a new variable for the new exposure option, instead of
  re-using old one. New one = 'exp'.
- at first I used the old 'exposure' value, and just mapped it to 0. this
  causes a problem with upward compatibility, old blenders then render a
  black picture. is too confusing!
- warning; exposure values saved with commit of last week will get lost.

16 years agoimprovements in the reflection/refraction exporting for yafray.
Alejandro Conty Estevez [Tue, 6 Jan 2004 20:24:33 +0000 (20:24 +0000)]
improvements in the reflection/refraction exporting for yafray.
Now should be more intuitive and controlable.

16 years agoEeshlo fixed the iYFexport path problem and added a file selector button
Alejandro Conty Estevez [Tue, 6 Jan 2004 12:28:31 +0000 (12:28 +0000)]
Eeshlo fixed the iYFexport path problem and added a file selector button
for it. Now win32 users should have less problems.

I added export of the "no shadow" flag (traceable) And changed the reflection
export scheme so now blender's RayMir is used as yafray's min_refle and the
amount of reflection is controled by the mir color. This seems more intuitive.
And now IOR is exported also for reflection only, wich is needed for fresnel.

16 years ago- Adaptive spliting of renderfaces for displacement. Choose to split
Robert Wenzlaff [Tue, 6 Jan 2004 05:21:16 +0000 (05:21 +0000)]
- Adaptive spliting of renderfaces for displacement.  Choose to split
        between verts 1-3 or 2-4 based on minimum displacement gradient.
        drastically improves smoothness with out additional subdividing.

16 years ago- displacement 'map to' channel now has three values, to allow to negate
Ton Roosendaal [Mon, 5 Jan 2004 23:33:22 +0000 (23:33 +0000)]
- displacement 'map to' channel now has three values, to allow to negate
  the effect as well.

16 years agoSCons updates:
Michel Selten [Mon, 5 Jan 2004 21:30:26 +0000 (21:30 +0000)]
SCons updates:
* Removed debug print in ftfont.
* Added FreeType/FTGL support to the Linux build.
  NOTE: This feature is on by default, but depends on the pre-build libraries.
  So checkout the lib directory. The lib dir should be on the same level as
  the blender dir. (In case you didn't know).

16 years ago- previewrender with mapping type "Cube" didnt show correctly.
Ton Roosendaal [Mon, 5 Jan 2004 21:18:47 +0000 (21:18 +0000)]
- previewrender with mapping type "Cube" didnt show correctly.
  added fake 'face normal' for this case

16 years agoDisplacement map
Ton Roosendaal [Mon, 5 Jan 2004 20:25:07 +0000 (20:25 +0000)]
Displacement map

- changed code to make use of actual textures, not the hackish
  'externtex', which is only for tools
- added a 'displacement' vector in ShadeInput, and moved calculation of
  displacement vector to texture.c itself. So it works with stencil, but
  also for options as 'add', 'mult' and 'sub'.
- for RGB textures it uses the brightness value of color for displace
- for stucci, and plugin textures returning a normal, it uses that

- Also: wrote call in end of preparing renderfaces, to split non-flat
  quad faces in triangles. gives a lot fewer errors in displace textures,
  but also raytracing irregular subsurfs goes better now.

- texture mapping that works for displace: orco, sticky, global, obj, normal.
  UV not yet. Reflection-displace? uhh! :)

16 years agoFix building a bundle for MacOS. (SCons related).
Michel Selten [Mon, 5 Jan 2004 19:39:20 +0000 (19:39 +0000)]
Fix building a bundle for MacOS. (SCons related).
This is a dirty solution. Maybe when we get to understand SCons better, we can
come up with a better one. For now, it works - and that's important!

16 years ago- Added the SConscripts for ftfont and quicktime
Nathan Letwory [Mon, 5 Jan 2004 18:17:23 +0000 (18:17 +0000)]
- Added the SConscripts for ftfont and quicktime
- [win32] python_include was missing, there was a double python_libpath. Corrected
- [win32] the soundsystem SConscript broke the win32 build.

16 years agoTweaks to get yafray stuff working with Makefiles
Kent Mein [Mon, 5 Jan 2004 17:42:07 +0000 (17:42 +0000)]
Tweaks to get yafray stuff working with Makefiles

Kent

16 years ago- Added projectfiles for yafray
Roel Spruit [Mon, 5 Jan 2004 15:58:48 +0000 (15:58 +0000)]
- Added projectfiles for yafray
- renamed some variables in yafray_render.cpp so msvc doesn't whine

I'm not fluent in MSVC, so I hope I don't screw up :)

16 years agoupdate scons files to build with yafray support
Stefan Gartner [Mon, 5 Jan 2004 15:33:32 +0000 (15:33 +0000)]
update scons files to build with yafray support

16 years agoYafray export code moved to source/blender/yafray to keep blender/src pure C
Alejandro Conty Estevez [Mon, 5 Jan 2004 14:53:56 +0000 (14:53 +0000)]
Yafray export code moved to source/blender/yafray to keep blender/src pure C
code. Now all the cpp code is in intern under yafray and the api include
file is just plain C

Also changed old include in initrender.c and updated Makefiles.am and configure.ac
so the new dirs are taken into account.

16 years agodon't link makesdna against libpng and friends when building with scons
Stefan Gartner [Mon, 5 Jan 2004 14:49:52 +0000 (14:49 +0000)]
don't link makesdna against libpng and friends when building with scons

16 years agoadded yafray_Render.cpp to scons files
Stefan Gartner [Mon, 5 Jan 2004 14:48:59 +0000 (14:48 +0000)]
added yafray_Render.cpp to scons files

16 years ago- this commit enable compile blender at IRIX again
Jiri Hnidek [Mon, 5 Jan 2004 13:49:16 +0000 (13:49 +0000)]
- this commit enable compile blender at IRIX again
- #include <math.h> was missing

16 years ago-First port of Displacement mapping from tuhopuu. Image textures not working
Robert Wenzlaff [Mon, 5 Jan 2004 08:44:49 +0000 (08:44 +0000)]
-First port of Displacement mapping from tuhopuu.  Image textures not working
yet (R.vn and R.vlr no longer exist, and were needed to get the image mapped
right).  Works esp. well with Subsurfs. Sensitive to vertex normal issues
in Simple and Mesh modes.

-Also porting Simple Subdivide.  Subdivides mesh at rendertime w/o changing
shape, for smooth displace and Radiosity.

-Removed an unused var from KnifeSubdivide.

16 years ago- Revert to NaN makefiles
Wouter van Heyst [Mon, 5 Jan 2004 00:06:11 +0000 (00:06 +0000)]
- Revert to NaN makefiles

16 years agoBasic initial yafray integration by Eeshlo.
Alejandro Conty Estevez [Sun, 4 Jan 2004 22:10:36 +0000 (22:10 +0000)]
Basic initial yafray integration by Eeshlo.

Materials are exported the best we can do by now. It will look almost as in
blender except for the missing procedural textures and some minor issues.
You have to tweak normal modulation amount to get the desired result cause
is not the same in yafray.

We added a panel in render space to adjust some yafray settings (GI and so)

Also we export transparency and reflection using new raytracing settings,
but that will be changed and improved soon.

Remember that you have to set YFexport path in user defaults and yafray must
be on path (version 0.0.6)

We added the "yafray" button to activate all this stuff in the render window.
Panel and settings are only shown when checked.

So now when activated the code calls yafray export instead of the internal
renderer and finally the resulting image is loaded back into render window's
buffer. So animation is also possible and results can be saved using blender
usual scheme.

16 years agoForgot to add some lines and cleanup in the makesdna/intern/SConscript file.
Michel Selten [Sun, 4 Jan 2004 21:42:01 +0000 (21:42 +0000)]
Forgot to add some lines and cleanup in the makesdna/intern/SConscript file.
The makesdna tool is SDL 'aware', but I forgot to pass some crucial flags to
the build command.
While working in that file, did some cleanup to make it more consistent with
the other SConscript files.

16 years ago- oren nayar call didnt return float value... but still worked on my
Ton Roosendaal [Sun, 4 Jan 2004 21:32:50 +0000 (21:32 +0000)]
- oren nayar call didnt return float value... but still worked on my
  system, and gcc refuses to see it as warning. weirdos!
  this caused previewrender to show black for oren nayar.

16 years agoSCons build system files added.
Michel Selten [Sun, 4 Jan 2004 21:11:59 +0000 (21:11 +0000)]
SCons build system files added.
You'll need SCons (www.scons.org) to build.
Platforms currently working:
* Linux (me)
  - options for quicktime, openal and international disabled
  - uses the system libs and include files for building - no option to build
    with the precompiled libraries yet.
* Windows (jesterKing)
  - builds with quicktime (optional)
  - builds with openal (optional)
  - builds with international support (optional)
  - Use the DOS box to build
  - builds with precompiled libraries
* Irix (Hos)
  - Uses default Irix compiler
  - Not all optimization levels correct yet
  - options for quicktime, openal and international disabled
  - builds with precompiled libraries
* Cygwin (me)
  - has a problem in the linking stage
  - uses free build tools (gcc)
  - options for quicktime, openal and international disabled
  - uses the system libs and include files for building - no option to build
    with the precompiled libraries yet.
* MacOS (sgefant)
  - builds with quicktime (optional)
  - options for openal and international disabled
  - builds a nice bundle
  - builds with precompiled libraries

Thanks to IanWill for a bugfix in the Linux build.
Note: This is a work in progress. A lot still has to be done - for example the
      optional parts are only to be enabled by directly setting 'true' or
      'false' in the SConstruct file. This needs to be moved to a user config
      file. Also, the .o/.obj files are stored in the source tree. This needs
      to be fixed as well.
      The game engine is not yet built.

16 years agoFixed a problem where duplicating bones with a freshly created
Chris Want [Sun, 4 Jan 2004 17:11:22 +0000 (17:11 +0000)]
Fixed a problem where duplicating bones with a freshly created
armature would segfault (access to a non-existent pose).

16 years ago- changed calculus for area light to use double precision. Using float
Ton Roosendaal [Sun, 4 Jan 2004 13:27:18 +0000 (13:27 +0000)]
- changed calculus for area light to use double precision. Using float
  already gave noise with area size of 0.1.
  Limited buttons to minimum value of 0.01 for area light. For people
  who want smaller they can scale it down in 3d, effectively reducing
  the energy then as well.

16 years agoReturning the copy/paste/'paste flip' buttons to the 3D window header
Chris Want [Sun, 4 Jan 2004 07:47:51 +0000 (07:47 +0000)]
Returning the copy/paste/'paste flip' buttons to the 3D window header
while in pose mode.

16 years agoAdding a call to countall() to the select non-manifold, select more,
Chris Want [Sun, 4 Jan 2004 06:11:09 +0000 (06:11 +0000)]
Adding a call to countall() to the select non-manifold, select more,
and select less features.

16 years agoA few related bug-fixes/refinements
Chris Want [Sun, 4 Jan 2004 03:39:06 +0000 (03:39 +0000)]
A few related bug-fixes/refinements

  * A patch to make sure that constraints on bones that point to
    external objects are evaluated correctly (and that the bones that
    depend on these bones are evaluated correctly, etc, ad nauseum).
    This addresses some of intrr's issues (the blender-related ones,
    that is).

  * Make sure that deformed displists are updated when the user
    manipulates any of the constraint buttons.

  * Added a nice little function, ik_chain_looper(), that executes a
    callback for every bone in an IK chain.

16 years ago - removed dead reference to UserStruct, causing problems in some builds.
Daniel Dunbar [Sat, 3 Jan 2004 22:05:26 +0000 (22:05 +0000)]
 - removed dead reference to UserStruct, causing problems in some builds.

16 years agoWoops! Forgot an #include, and rude old GCC didn't even let me know.
Matt Ebb [Sat, 3 Jan 2004 13:44:42 +0000 (13:44 +0000)]
Woops! Forgot an #include, and rude old GCC didn't even let me know.

16 years ago* Small tweaks to improve button positioning in the headers
Matt Ebb [Sat, 3 Jan 2004 13:36:28 +0000 (13:36 +0000)]
* Small tweaks to improve button positioning in the headers

16 years ago* Preliminary UV/Image header menus
Matt Ebb [Sat, 3 Jan 2004 13:35:25 +0000 (13:35 +0000)]
* Preliminary UV/Image header menus

Again, there are still a couple of commented out items that will continued to be worked on. Committed for testing, etc.

Also forgot to mention in the previous commit, thanks to Monkeyboi for some help gathering items for the UV/Image, Action, NLA menus.

16 years ago* Preliminary NLA header menus
Matt Ebb [Sat, 3 Jan 2004 13:13:51 +0000 (13:13 +0000)]
* Preliminary NLA header menus

A couple of items are still commented out in the code, that still need to be implemented. I'm committing this now, so people can test/help ;)

16 years ago* Ported mesh editmode 'select random' from tuhopuu by popular request
Matt Ebb [Sat, 3 Jan 2004 09:22:33 +0000 (09:22 +0000)]
* Ported mesh editmode 'select random' from tuhopuu by popular request

Description:
Mesh editmode header/toolbox: Select -> Random...

Randomly selects a user-set percentage of vertices, adding to the current selection.

* Modified some menu entries to be consistent with the guidelines doc.

* Added 'Align Active Camera to View' in 3D View menu

16 years ago - constline was overwriting stack (this patch brought to you by VC7's
Daniel Dunbar [Sat, 3 Jan 2004 06:52:16 +0000 (06:52 +0000)]
 - constline was overwriting stack (this patch brought to you by VC7's
    nifty runtime stack corruption detection).

16 years agoDuplicating bones in edit mode now also duplicates the constraints
Chris Want [Sat, 3 Jan 2004 06:50:36 +0000 (06:50 +0000)]
Duplicating bones in edit mode now also duplicates the constraints
associated with that bone ... if the constraint subtarget bone is
also duplicated the new constraint points to this new bone as it's
subtarget.

16 years agoWhen a bone is renamed, all constraints that point to it are
Chris Want [Sat, 3 Jan 2004 06:27:53 +0000 (06:27 +0000)]
When a bone is renamed, all constraints that point to it are
updated with the new name.

16 years agoThree new selection techniques in mesh edit mode, two of which are
Chris Want [Sat, 3 Jan 2004 06:01:16 +0000 (06:01 +0000)]
Three new selection techniques in mesh edit mode, two of which are
controversial:

* "Select non-manifold geometry" via ctrl-alt-shift-M, or through
  the menu or toolbox. Great for troubleshooting weirdness on a
  subsurf, or for preparing a mesh for decimation or for rapid
  prototyping.

* "Select more" via ctrl-PADPLUS, or through the menu or toolbox.
  If a selected vert shares an edge with an unselected vert, the
  unselected one gets selected too. Similar to PADPLUS in wings3d.
  This is controversial because maybe it would be more useful to
  select all of the verts that share a face (instead of just an
  edge) with a selected vert -- what do *you* think?

* "Select less" via ctrl-PADMINUS, or through the menu or toolbox.
  If a selected vert shares an edge with an unselected vert, the
  selected one gets unselected too. Similar to PADMINUS in wings3d.
  Also, selected non-manifold geometry becomes unselected. This is
  controversial because of the non-manifold stuff ... is it needed?
  What do *you* think?

16 years agoAdded the prototype for the bone_looper() function to this header
Chris Want [Sat, 3 Jan 2004 05:36:56 +0000 (05:36 +0000)]
Added the prototype for the bone_looper() function to this header
to silence some warnings.

16 years agoHide selected/hide unselected/show all bones in posemode using the
Chris Want [Sat, 3 Jan 2004 05:07:31 +0000 (05:07 +0000)]
Hide selected/hide unselected/show all bones in posemode using the
usual HKEY, shift-HKEY, alt-HKEY, and also through the menu.

Thanks to malefico for the feature request, and thanks to broken
for doing the menu code.

16 years agoArmature speed ups, Part III
Chris Want [Sat, 3 Jan 2004 03:53:18 +0000 (03:53 +0000)]
Armature speed ups, Part III
----------------------------

Another (major) armature speed up for bones with many constraints.

When tranform()-ing, figure out which bones need to be recalculated
beforehand and only update those bones.

16 years agoBPython:
Willian Padovani Germano [Sat, 3 Jan 2004 03:50:58 +0000 (03:50 +0000)]
BPython:
- Fixed small typo in doc file Object.py, reported by user Bill.
- Fixed bug #803:

Bug #803's Summary: print, type() or BezTriple broken

Trying to print type(BezTriple) was crashing Blender because
that type wasn't being initialized to PyType_Type. The other
problem is that the getName method for ipocurves only works for
object ipos.  A warning was added for when users try to use it
with other blocktypes,  we'll later update ipo related stuff in
bpython to work for all types.

16 years ago - predeclared UserStruct with wrong name
Daniel Dunbar [Sat, 3 Jan 2004 03:18:00 +0000 (03:18 +0000)]
 - predeclared UserStruct with wrong name

16 years ago - more duplicate UserStruct patching
Daniel Dunbar [Sat, 3 Jan 2004 03:11:22 +0000 (03:11 +0000)]
 - more duplicate UserStruct patching

16 years ago - solve redefinition of UserStructType in a different way, blenkey.h
Daniel Dunbar [Sat, 3 Jan 2004 02:50:33 +0000 (02:50 +0000)]
 - solve redefinition of UserStructType in a different way, blenkey.h
    is not good to include it would seem.

16 years agomade verify_pose_channel() return the pose channel that is either
Chris Want [Sat, 3 Jan 2004 02:13:04 +0000 (02:13 +0000)]
made verify_pose_channel() return the pose channel that is either
found or created (just removed some silly duplicated work).

16 years agoArmature speed ups, Part II
Chris Want [Sat, 3 Jan 2004 01:40:53 +0000 (01:40 +0000)]
Armature speed ups, Part II
---------------------------
"Delay Deform" option for armatures.

The button is under the X-ray bones button in the edit buttons.
With this armature option selected, manipulations in pose mode
will only deform children after the transformation is finished.
While hardly an optimal solution to the slow armature crisis, this
gives about 4 times speed up on some meshes (ah well, at least lets
me isolate armature vs. displist slowdowns while profiling).

16 years ago - update VC7 projectfiles
Daniel Dunbar [Fri, 2 Jan 2004 23:35:21 +0000 (23:35 +0000)]
 - update VC7 projectfiles

16 years agoArmature speed ups, Part I
Chris Want [Fri, 2 Jan 2004 23:29:34 +0000 (23:29 +0000)]
Armature speed ups, Part I
--------------------------

Major speed up for armatures during times when you aren't
posing a figure.

Background: the calculation of poses generated by actions and the
calculation of displists were getting somewhat out of sync.
This was being remedied by 'clearing the constraint done flag'
of the pose channels and recalculating the displists every time
the 3d view was redrawn, making life slow and unpleasant.
Commenting out the code that was doing this, then reinserting
the 'clearing the constraint done flag' at the right times
made things a bit more perky.

16 years ago - BLO_keyStore.h was redeclaring UserStructType from blenkey.h, removed
Daniel Dunbar [Fri, 2 Jan 2004 23:15:30 +0000 (23:15 +0000)]
 - BLO_keyStore.h was redeclaring UserStructType from blenkey.h, removed
    duplicate definition and include blenkey.h where needed. (VC7 patch)

16 years agoDecoded the 'do_all_actions()' function into smaller functions that are
Chris Want [Fri, 2 Jan 2004 21:23:19 +0000 (21:23 +0000)]
Decoded the 'do_all_actions()' function into smaller functions that are
a bit more sane and readable (actually fit in an 80 character term too).

16 years agoFixed the goofy way the function prototypes in these files were done
Chris Want [Fri, 2 Jan 2004 20:57:43 +0000 (20:57 +0000)]
Fixed the goofy way the function prototypes in these files were done

16 years agoExpanding some work done by Matt Ebb to add menu's to the
Chris Want [Fri, 2 Jan 2004 04:59:45 +0000 (04:59 +0000)]
Expanding some work done by Matt Ebb to add menu's to the
action window (Matt: please check).

16 years agoWork done to build blender on Linux [sparc64].
Wouter van Heyst [Thu, 1 Jan 2004 23:19:08 +0000 (23:19 +0000)]
Work done to build blender on Linux [sparc64].

extern/ode/dist/ode/test/test_ode.cpp:
- Don't include <ieeefp.h> on sparc linux, it doesn't exist.

extern/ode/Makefile:
- While hacking on ode, get rid of that annoying infinite rebuild

source/Makefile:
- Define a default BINTARGETS (just blenderdynamic) for linux, individual archs
  can override/add to that if they so please

source/nan_link.nmk:
- Add a sparc64 arch target to the linux section of nan_link.mk, using the same
  options as powerpc

After the first ode problem, the build completed all but the linking of a
blender binary, because there wasn't any target defined!

On the rebuilding: The usersettings would have a newer date than targets
depending on it, so it would rebuild entirely. I haven't really fixed this, but
isolated it to the platforms where usersettings need to be moved around (darwin
and windows). FBSD patches the usersettings, so it might still happen there.  I
didn't bother with a proper fix, as it looks like we're moving to scons soon.
I'm amazed no one got annoyed enough before to take care of this.

16 years agoFix a problem that has been bugging me for a while. Tracking axis by default are...
Martin Poirier [Thu, 1 Jan 2004 19:21:06 +0000 (19:21 +0000)]
Fix a problem that has been bugging me for a while. Tracking axis by default are different for Lamp and Camera than for the rest. For the constraint, it wasn't using the correct ones for them, so obviously, it didn't track correctly by default.

Fixed by checking the object type and changing the up and track axis accordingly.

Also added some comments in the DNA file (recompiling makedna because of comments is fun!)

16 years agoSome random small stuff packed in one commit:
Martin Poirier [Wed, 31 Dec 2003 22:44:26 +0000 (22:44 +0000)]
Some random small stuff packed in one commit:

- Moved a couple of undo_push_mesh after the action has been confirmed (mainly bevel, merge and mirror)

- Split mirror in two functions, interface and functionality

- Simplified the code of the merge function

16 years ago- removed Quicktime warning from buttons. Thanks for the fix Maarten!
Ton Roosendaal [Wed, 31 Dec 2003 16:51:28 +0000 (16:51 +0000)]
- removed Quicktime warning from buttons. Thanks for the fix Maarten!

16 years agoFixes the freeze on Mac OSX when a Quicktime Settings window for Compression was...
Maarten Gribnau [Wed, 31 Dec 2003 15:47:09 +0000 (15:47 +0000)]
Fixes the freeze on Mac OSX when a Quicktime Settings window for Compression was brought up. Blender swallowed every event, not giving Quicktime a change to receive update events and mouse clicks.

16 years ago- fixed reported bug in doing correct redraws for multiple 3d windows, and
Ton Roosendaal [Wed, 31 Dec 2003 15:45:04 +0000 (15:45 +0000)]
- fixed reported bug in doing correct redraws for multiple 3d windows, and
  using vertex select. Was just caused by being to cheapskate with cpu
  cycles... but I don't give up on that!

16 years ago- added extra check for valid Material pointer array in Mesh. Someone
Ton Roosendaal [Wed, 31 Dec 2003 15:27:31 +0000 (15:27 +0000)]
- added extra check for valid Material pointer array in Mesh. Someone
  reported crash with a popular Python script that apparantly doesnt
  initialize a Mesh good (setting totcol, but not creating pointer array)
  When no Material array is present, 'totcol' is set at zero now.

16 years ago- bug fix #828
Ton Roosendaal [Wed, 31 Dec 2003 13:48:45 +0000 (13:48 +0000)]
- bug fix #828

  Blender crashed when assigning background image to 3d window, when no
  buttons window was visible. This caused by copying code from old location
  with still using some variables of the 'button space' struct.

  Solved by creating these variables in View3d 'space' as well, and using
  these instead. Could also remove old coder /* comment */ that there was
  a unknown bug in the code there. :)

16 years agoA fix for the missing pad1 bug: henceforth, world->pad1 shall be known as
Chris Want [Wed, 31 Dec 2003 04:00:26 +0000 (04:00 +0000)]
A fix for the missing pad1 bug: henceforth, world->pad1 shall be known as
world->gameEngine (a la tuhopuu).

16 years agoAdded improved exposure calculation
Ton Roosendaal [Tue, 30 Dec 2003 18:03:37 +0000 (18:03 +0000)]
Added improved exposure calculation

- based at 1.0-exp(-color) trick in Yafray. But to guarantee backwards
  compatibility, and some more control, Stefano Selleri hacked a useful
  formula for it.
- We now have 2 values to set:
  - "exp": the exponential correction value (0-1)
  - "range": the light range that maps on color 1.0 (0-5)
- Using exp(x) (is e^x) we can much better prevent overflows from render,
  which are currently hard-clipped in Blender. Setting a small 'exp' value
  wil efficiently smooth out high energy and map that back to a color for
  display.
- total formula:
  newcol= linfac*(1.0-exp(col*logfac))
    col, newcol are colors
  linfac= 1.0 + 1.0/((2.0*wrld.exp +0.5)^10)
  logfac= log( (linfac-1.0)/linfac )/wrld.range
    wrld.exp and wrld.range are the button values
- default setting: exp=0.0 and range=1.0 give results extremely close to
  previous rendering.
- graph: http://www.selleri.org/Blender/buffer/Image1.png  for 'exp' setting
  ranging from 0-1, and with 'range'=2

Thanks Stefano for the help!