Commit Graph

18266 Commits

Author SHA1 Message Date
8c4608bbf4 I updated the FREETYPE2 checks so it didn't build freetype stuff
if WITH_FREETYPE2 was set to false.

Also added/cleaned up source/nan_compile.mk NAN_NOKETSJI stuff a hair.

Kent
2005-02-18 16:52:03 +00:00
39959b4f21 Little warming-up getting-feet-wet coding project. :)
Much wanted feature, to have paths with children having fixed distance
offsets from each other, for example to animate a train with wagons.

Solved it with Path option (Editing buttons curve) "PathDist Offs" which
interprets time-offsets of children as blender-unit offsets. The entire
animation system still works, but offsets are calculated based on distance,
even with a CurvePath without motion (speed curve horizontal).

http://download.blender.org/demo/test/pathdist.blend

Thanks to Bassam for kicking my ass!
2005-02-11 12:42:02 +00:00
996374bb5a Fixed old annoyance; enabling true Ortho render in Blender.
It used to be a simple hack, scaling lens with 100, and moving the camera
to the back with an equivalent amount.
Because of the hack, making it 100% compatible with older files I could not
achieve (yet?). To help reminding users, I've added a print when reading
old files with Ortho cameras.

Full description of how it works can be found here;
http://www.blender3d.com/cms/Render_changes.515.0.html
2005-01-30 11:25:27 +00:00
a1f0f165e4 Added Joystick sensor (from snailrose) 2005-01-23 01:36:29 +00:00
bb0da8a7aa Did some checking to make sure a variable exits before trying to use it.
(Submitted by Vidarino on irc)

I also cleaned up a couple of warnings in the file.

Kent
2005-01-13 13:58:29 +00:00
5161998bbe Softbody commit broke compilation of blenderplayer. There was a dependancy
from blenkernel/ to src/. Moved the offending functions to blenkernel...
2005-01-12 23:57:33 +00:00
912ef80bdc big softbody commit
some vertex group , weight painting stuff too
/me crosses fingers it does not break anything
2005-01-12 22:28:13 +00:00
3c921cc8e8 The "teac" (measurement info) patch from Campbell Barton
Cleaned code somewhat (half the size!) and applied some changes:
- made it compatible with selection flags for new mesh editing (edge/face)
- renamed 'face angles' to 'edge angles' and made it display angles for
  2 selected edges too
- removed the confusing convention that always drawed the info if one
  of the vertices of edge/face/angle was selected. now it only displays on
  minimum of 1 full edge or face selected.
- made it react to "zbuf occluded selection" option (for zbuffered text)
- made it also colorize text for white theme color (TH_TEXT)

On larger meshes this info still draws very confusing. The idea of displaying
the info on 1 vertex selected was probably to show values while grabbing,
although that didnt really work for angles. One idea could be, for transform,
that it draws all lenghts/angles/areas that get changed during transform

All in all, still useful addition tho!
2005-01-08 21:16:24 +00:00
8ff0209ca5 Bugfix #2048
Object "time" ipo was evaluated before it applied offset for field and
motion blur. Should be after! (ancient one)

in buttons_editing.c: removed sound include file
2005-01-07 18:29:54 +00:00
776b2451e1 Bugfix #2095
When loading a file with linked external scene, and that external scene
didnt exist anymore, and that scene was active in the file -> crash!

Render code; changed to use local 'puno' flag for threaded render.
2005-01-05 10:31:27 +00:00
8fbaca0878 Removed include render.h
It *should* be there, but its a bad-level-include. The bad_level_calls.h
makes it compiling nice, but that wasnt the purpose.
Error is in the winstuff.h in render.h most likely
2004-12-27 20:58:40 +00:00
610cec55c7 Biiig commit! Thanks to 2-3 weeks of cvs freeze...
Render:
- New; support for dual CPU render (SDL thread)
  Currently only works with alternating scanlines, but gives excellent
  performance. For both normal render as unified implemented.
  Note the "mutex" locks on z-transp buffer render and imbuf loads.
- This has been made possible by major cleanups in render code, especially
  getting rid of globals (example Tin Tr Tg Tb Ta for textures) or struct
  OSA or using Materials or Texture data to write to.
- Made normal render fully 4x32 floats too, and removed all old optimizes
  with chars or shorts.
- Made normal render and unified render use same code for sky and halo
  render, giving equal (and better) results for halo render. Old render
  now also uses PostProcess options (brightness, mul, gamma)
- Added option ("FBuf") in F10 Output Panel, this keeps a 4x32 bits buffer
  after render. Using PostProcess menu you will note an immediate re-
  display of image too (32 bits RGBA)
- Added "Hue" and "Saturation" sliders to PostProcess options

- Render module is still not having a "nice" API, but amount of dependencies
  went down a lot. Next todo: remove abusive "previewrender" code.
  The last main global in Render (struct Render) now can be re-used for fully
  controlling a render, to allow multiple "instances" of render to open.

- Renderwindow now displays a smal bar on top with the stats, and keeps the
  stats after render too. Including "spare" page support.
  Not only easier visible that way, but also to remove the awkward code that
  was drawing stats in the Info header (extreme slow on some ATIs too)

- Cleaned up blendef.h and BKE_utildefines.h, these two had overlapping
  defines.

- I might have forgotten stuff... and will write a nice doc on the architecture!
2004-12-27 19:28:52 +00:00
c58ef8fa8f Last minute fix #1
Dxf reader had 2 crucial erros;
- didnt read files correct with \r\n enters (\n and \r go fine)
- polyline triangles were added as quads with identical first and last
  vertex, going terrible wrong on mesh import of 3DS files.
2004-12-22 19:19:39 +00:00
edfae40711 Upped release code to 2.36 2004-12-21 16:23:24 +00:00
add84ea301 Fixed adding a filename extension for bmp images. 2004-12-19 18:06:28 +00:00
82421a2d70 Fix for #2017
Actually a 1 liner fix, added displist re-make event for wave objects
being used to vertexparent objects to. Will of course be much better
solved with the dep graph!
2004-12-14 22:01:52 +00:00
f3106212e8 Bug fix #2016
Particles added to mesh being deformed with Armature crashes.
Bug introduced with 2.33, particle collisions... leon added some fancy
updates for actions and armature displists there, which are highly
disputable. I left it in, because I didn't see it was actually new.

Note: particles added while updating mesh with armatures is not supported,
it will shoot particles from original location.
What does work, is static particles.
2004-12-14 18:12:30 +00:00
91c3cffbcc Bug fix #2005
Simple case; make MAXSTACK define for vrml import to allow import up to
750k faces or 1M vertices (was 125k faces, 160k vertices).
2004-12-12 11:19:27 +00:00
2b614b2be4 Fixes, after bug report Stefano:
- Dupli-Frames objects didn't render correct with Motion Blur (they moved!)
- VertexKey on Bezier paths didn't animate the 'twist' rotation. This did
  work for Nurbs paths.

Plus; removed Nabla slider from Stucci, it doesn't work for that texture.
2004-12-11 12:41:51 +00:00
8712c7dab4 Essential cleanup for mess involved with reading files, initializing UI and
patching versions for UI settings.

Currently four different levels of routines for .blend file reading exist;

/* interface level */
1) BIF_init() -> calls 3
2) BIF_read_file() -> calls 11, optional 4
3) BIF_read_homefile() -> calls 11 or 12, and then 4
4) init_userdef_file()

/* kernel level */
11) BKE_read_file() -> calls 21, and then 14
12) BKE_read_file_from_memory() -> calls 22, and then 14
13) BKE_read_file_from_memfile() -> calls 23, and then 14
14) setup_app_data()

/* loader module level */
21) BLO_read_from_file() -> calls 24
22) BLO_read_from_memory() -> calls 24
23) BLO_read_from_memfile() -> calls 24

/* loader module, internal */
24) blo_read_file_internal()


Note:
- BIF_read_homefile() has additional UI initialize calls, like windows fullscreen and executing commandline options

- Reading from memory (12) only happens for the compiled-in .B.blend

- The "memfile" here is a name I gave to the undo "file" structure. Which is constructed out of memory chunks with basic compression features.

- the kernel function setup_app_data() sets globals like "current screen" and "current scene".

So far, so good. The levels as mentioned here clearly distinguish UI from kernel, and should enable for example game loading (runtime) or background (no UI) loading. In the past years however, 'bad level' dependencies were added, and especially the patches for 'file versions' were added in too many places. The latter is evidently a result of the problem that the "UserDef" struct cannot be initialized/patched if there's not a need for a UI.

Here's how the flow goes in four different cases:

----- Starting up Blender, in foreground with UI --------------------

- creator/creator.c, main() -> calls 1
- If the commandline contains a filename, it calls 11

----- Starting up Blender, in background without UI --------------------

- creator/creator.c, main() -> calls 11 if the commandline has a filename

Note: no Userdef is read, nor initialized. Please note that this was already an existing problem for using Yafray, not setting proper file paths in background mode. The Yafray paths don't belong in the User menu.

----- Starting up Blender as a runtime executable --------------------

This only has calls to 22

----- Loading a file from within the UI (with F1, CTRL+O, using pulldowns) -----

Only calls allowed to 2. It detects if a UserDef has been read too, and in that case the init_userdef_file() will be executed.

Hope this is understandable :)

-Ton-
2004-12-08 14:12:47 +00:00
d0cdf2bd4b More tweaks related to bump mapping quality;
While going over the code, I found out the "nabla", the size of offset
vectors for calculating derivatives of a texture, is a built in constant.
Even worse, the value was different for new noise types (musgrave etc).
So I've added a new slider for it in the procedural texture panels, which
by default is set to 0.025, the value of the old constant. Also made sure
it works with equal effect in all procedurals.

NOTE: a small Nabla will give sharper, detailed bump, but the effect also
becomes smaller, correct that in the Mapping Panel of materials.

For better & compliant control over the bumpmapping, I've also included
the Colorband output in derivatives calculus, so the bump output then
matches the color created. It's also a nice tool to finetune output of
textures for bumpmapping in general.

Bug fix; clicking on the rightmose 'item' in ColorBand didn't activate it.
Found out the ColorBand was slightly drawn off (2 pixels).
2004-12-07 14:46:48 +00:00
e4d428b539 Tweaked support for normalmaps to be OK.
http://www.blender3d.org/cms/Normal_Mapping.491.0.html

main changes:
- The "Map Input" in Blender for normals was negated
- Range for Z in normal map is Z (0-1) to Blue (0-255)
2004-12-06 18:05:42 +00:00
049adae624 Bug #1970
Objects being vertex-parented to a mesh, which in turn was being deformed
by a curve or lattice, were never update correctly.
Whilst this is a typical issue for our beloved new Dependency Graph, I
consider it worth at least solving for now. An issue since Blender 1.0
you know. :)

Solution is only working for this specific case; vertex-parent to deformed
object.
2004-12-06 12:24:10 +00:00
1e811c7886 Bugfix: normal mapping for textures wasn't rotated back to view space,
causing weird results on camera moves or object rotations.

Added: support for "normal maps". See for example:
http://members.shaw.ca/jimht03/normal.html

The Image panel in Texture buttons has new option "Normal Map" for it.
When this is used, normals are read straight from RGB values, and blended
with the current normal.
2004-12-05 21:49:13 +00:00
aad31875d7 Special bf-committers request; Lamp/World/Material now each have 10
channels to link texture to.

The amount of code changes seems large, but is mostly getting rind of
hardcoded values (6 and 8) for channels, replacing it with MAX_MTEX.

Further did some fixes;
- Ipo for Lamp showed too many mapping channels
- Texture MapTo buttons for lamp missed the slider to blend texture color
- Lamp texture mapping "View" only worked for Spot, now it uses lamp-
  view vector for all types. (Nice for projections!)
2004-12-04 21:49:02 +00:00
73b7d9f80b Fixes in static particles. Result of going over details with Chris Burt,
thanks for that!

- static particles that are being deformed (curve/lattice/armature) now
  display correct in 3d window. Only updates when particle system updates
  normally though
- static particles without "animate" set didn't deform even
- static particles used as duplicators had errors with extreme low "life"
  value for particles. Also, still cases could happen with unrotated duplis
  at the end of a static particle line (with Vect option)
- Added tooltip for "Step" option in particles
2004-12-03 20:22:37 +00:00
1411f7ed59 Fix for #1700 and #1941
When a font for 3d Text Object doesnt exist anymore, Blender could crash.
Thanks Rob Haarsma for fixing it.
2004-12-03 14:30:32 +00:00
81702927a8 Bufix for #1940
With material slider "Ray Mir" set non zero, but with toggle "Ray Mirror"
off, Blender accidentally entered a part of raytracing code, screwing up
the alpha value of the result.
2004-12-03 10:16:29 +00:00
a7e250e85c Bug fix #1937
In unified render, halos can give black/colored overflows. Found it this
happens with halos that are behind the camera clipping range. Halo clip
just had some weird code for panorama corrections...

In the provided .blend of report found 3 more glitches;

- after render particle system with Material Ipo, values for material were
  not restored correctly
- Meshes with particles didn't draw axis (draw extra) on correct location
- Same as above, axis didn't draw in selected color.
2004-12-02 14:52:40 +00:00
a34432aa8c Fixes in reading .dxf (bug #1883)
- fgets() doesn't recognize DOS strings in unices, made my own fgets
- reading polyline didnt support 3d lines
- reading polyline didn't create edges

All in all, this code isn't very nice and badly structured... a code
review or test (yes sirdude!) could have been useful. :)
2004-11-26 19:59:11 +00:00
9928ecc642 One free too many on shading displaylists, causes material-less objects not
to render.
2004-11-25 16:27:21 +00:00
a9d6a57745 Fix for #1887 and #1636
Old code in displist.c caused crash on OGL "render this view" option for
3D windows. No idea why this exception was in displist.c... must be for
old engine or so?
2004-11-25 11:30:56 +00:00
970ac5aa99 Bug fix #1880
Two accumulating errors, causing 'scanline' errors too, but now based on
using different filtering values for transparent shadows.
Was another 2 cases of unused variable render as well. :)
2004-11-24 18:53:45 +00:00
f7b8e05f8e Bugfix on irc report;
Static-animated particles didn't recalculate on render
when used for duplicators (did work for halos). Allows material/texture ipo
for animated motion.
2004-11-22 18:13:56 +00:00
0069a48897 Fix for strange (showed in windows only) error that delivered flat curve
deforms by default. Proved to be a [3] array passed on to function needing
[4] array. Bad bad...
Thanks Ole for finding it! :)
2004-11-21 10:42:42 +00:00
cbb66c68f0 - bug fix #1843
https://projects.blender.org/tracker/index.php?func=detail&aid=1843&group_id=9&atid=125

  function find_basis_mball() sometimes returned duplicated MetaBall as basis mball, which caused crash of Blender. It happened only when basis MBall object was used for duplication. It was propably caused by some changes in duplicator code.
2004-11-20 11:59:44 +00:00
cf1c76af15 - 2.35 splash
- Version code set to 2.35
2004-11-14 17:16:54 +00:00
c42d4156a6 Bugfix #1796
On undo (CTRL+Z) the flag 'save_over' was set, which caused the F2 and
CTRL+S save to not show "untitled.blend" but last saved file
2004-11-14 16:19:34 +00:00
7fae7b0cf9 - Disabled printf for undo (still works in debug mode blender -d)
- Made global undo to set default on 'old' files (2.34 too, so wait
  with saving a .B.blend without glob undo until release is 2.35)
2004-11-12 22:16:23 +00:00
ccc07d249a Small fix for deform lag in deforming curves on animted objects. 2004-11-12 20:31:34 +00:00
d673c4a862 1) Bug fix 1776
Lattices seem to have deform lag, when they're animated with Ipos.
Found out this behaviour is already from before 2.25... solved with
removing a where_is_object() from deform code, but dont fully grasp
why.
Tested with good demo file, with motion blur too.

2) No functional changes, just made 2 files compile without warnings;

- added extra ifdefs __NLA_BLENDCON for unused calls
- removed zealot 'const' from function protos and variables, these cannot
  work there, and hence gave warnings
- added void pointer casts for array conversions in matrix code
2004-11-11 15:31:44 +00:00
2e4a10253b Fix for bug #1756
This was caused by a very primitive method of interpolating quaternions.
It was converting quats to mat and back to quat, and then just doing
a linear interpolation. That whilst quaternions are renowned for having
good interpolation possible.

I've experimented with 2 quaternion interpolation methods, and can only
get one to work correctly... the "official" version from Watt brothers
I can't get working, both are in arithb.c now.

Will arrange *close* review with experienced NLAers for it! But testing
here gives fully predictable results.

Also changed;
- added pointer check in drawaction
- changed puldown menu for correct hotkeys for move NLA strips up/down
2004-11-11 13:17:32 +00:00
f7cc0cf342 Wrong vector math for hooks with falloff... now its OK! 2004-11-10 15:55:07 +00:00
48121a0b6a - fix for bug #1577
MetaElems aren't truncated. It was caused by bad filling of octal tree.

- bug fix: when non basis mball is in edit mode, then it is polygonised again.

- bug fix: fixed some other unexpected disappearing of MetaBalls caused by bad filling of octal tree.
2004-11-10 13:20:13 +00:00
459deaf11f Fixed:
Texture matrix bug in plugin code reported by Mel_Q.
Vertex colors, this was basically the same as the previous uv coord
splitting bug, for xml export, uv coord splitting was actually not quite
complete either (reported by richie).

Added:
Camera Ipo curves for DoF aperture and focal distance.

Aspect ratio set with AspX & AspY are now taken into account as well.
(needs yafray from cvs)

Bokeh parameters for DoF (also needs yafray from cvs).
'Bokeh' controls the shape of out of focus points when rendering
with depth of field enabled.
This is mostly visible on very out of focus highlights in the image.
There are currently seven types to choose from.:
'Disk1' is the default, the same as was used before.
'Disk2' is similar, but allows you to modify the shape further with the 'bias'
parameter, see below.
Triangle/Square/Pentagon/Hexagon, in addition to the bias control, you can
offset the rotation with the 'Rotation' parameter (in degrees).
'Ring', a weird ring shaped lens, no additional controls.
The 'bias' menu controls accentuation of the shape.
Three types available, uniform, center or edge, with uniform the default.

Although based on an actual phenomenon of real camera's, the current
code is bit of a hack and not physically based, and doesn't work all that
well yet (in yafray anyway). Since this is also mostly visible in the very
out of focus parts of the image, it usually also means that you need lots
of samples to get a reasonably smooth result.
2004-11-08 03:55:44 +00:00
b6e037049b Forgot to add correct changed force_draw_all in stubs.c 2004-11-07 20:15:16 +00:00
1ba95262f6 More undo goodies;
- Undo for editmode Font object
- Undo for posemode :)
  (btw; it also means posemode remains active on file load)
2004-11-07 20:11:42 +00:00
ac0bb78a20 Tweaked the force_draw() calls, to allow headerprint() to work while
doing a transform. Solves bug reported by Brecht about this.
2004-11-07 18:20:44 +00:00
0f84375d7a Lotsa undo stuff added;
- ALT+U undo menu shows history for global undo as well
- Added undo pushes for buttons window more consistantly
- Added it & tested for ipowindow too
- Added it in outliner
- And quite some missing occasions for 3d window editing
2004-11-07 16:49:46 +00:00
02e838c99b - Pending Hook work; falloff value for soft hook deformation.
Falloff= distance where influence becomes zero.
2004-11-06 21:59:35 +00:00