- a major redo of the Bone module
- BPy_Bone structs are separated into Bone data and python vars. This is necessary for the correct memory allocation of bone data between python and the global armature list.
Bug 1258: selecting objects with text drawing (axis, or as draw extra)
causes crashes in IBM cards. Has been tested & verified. A crash on
selecting Empty is often reported... so I just disabled drawing of
text when in selecting-draw mode.
Added comments in code to note it clearly.
When Traceable was off, and the rendered pixel outside Octree, the
intersection was going wrong. Due to the many samples taken not easy
to see, but certainly causing extra noise.
Apparently the 'sync' option for alt+a anim playback *can* run without
the sound_init_audio() being called, but it cannot play audio... o_O
(For who doesnt know, syncing was coded abusing audio timing)
Anyhoo. This also fixes#1267, reporting that 'sync' option didnt work.
Sconstruct modified so that Blender build on 10.3 without any additionnal
download than source + darwin libs.
defaults settings correct for 10.3.
fixed bug # 1260 : added MT_NDEBUG flag at top-level.
"Sphere": spherical mapping for a 360 degree panorama
"Tube": cylindrical mapping for a 360 degree panorama
Both mappings by default do only the sky (upper) hemisphere. The color
below is same as regular Horiz and Zenith colors, useful for setting
an AO effect.
Sample pics:
http://www.1000skies.com/fullpanos/index.htm (commercial)
caused by swapbuffers system, which redraws the other windows when the
CFRA timer already advanced 1 frame.
Added an extra redraw to fix this. Could fix report #964, will wait for
JWalton to verify.
a checked error but is no good anyway
- Bone_dealloc free'd Blender's actual copy of the Bone! AGH!!!!
- On syntax errors the python global dictionary was being free'd
twice. AGH!!! again!
Can someone from the Python team please audit this.
ID_asPyObject and ID_getScriptlinks functions,
moved code into BPY_interface.c (where it fit better)
- EXPP_interface.c is essentially obselete now
- I didn't test this, I'm sure I broke something, if a Pythonista
could comment that would be nice (oh and the maintainer too).
libs. I turned off the automatic building of solid in extern/ for
irix since the vendor supplied build system does not work well.
Note to JW: this can be built with either mipspro 7.3 or 7.4
(I needed to archive solid with "CC -ar ..." for this to work
with 7.3).
for init sound only when needed, was not catched by sequencer.
Somehow, however, the SND_xxx library needs to be set when using the
sequencer... so, here a patch!
very unexpected location, causing small offset in rendered sub-pixel,
which showed only up raytracing a very detailed object with small
faces... ugh!
(Thanks [A]ndy, sorry Desoto! :-)
Testing has not convinced me this is a complete solution to the
Ipo Curve handle issue, but it does seem to make things
better for curves created via python. We will probably need to revisit
this, especially if we expose the curve handles in the bpy interface.
The Image texture repeat options, now allow a "Checker" repeat. With
odd and even tiles set separately, and a size button to set a
'Mortar' inbetween tiles.
http://www.blender3d.org/cms/Render_engine_features.215.0.html
Also fixed bug: using 'CalcAlpha' option for image textures didn't give
antialised edges for image.
Error in code invoked by menu:
View3d header -> Select -> Groups -> Parent
There was a call to draw an object in frontbuffer, whilst the header
was still active.
Not needed, because full redraw event was sent too.
Sample file showed UV-textured Subsurf, in 'Potato' texture view. When
separating part of it in editmode, a null pointer was referenced in
drawing code.
button values where wrong... big messup!
Only thing that actually changes is that now the Musgrave names suddenly
are different.
Thanks Desoto for finding it!
Joining meshes could crash when 1 had vertexgroups, other not.
The first then should have been appended from other file, to make
it more complex. :)
Crash caused by reading NULL pointer.
cleared correctly for each face, causing too many octree nodes to be
filled in.
Especially for more complex scenes this fix is quite a time saver.
Still looking at ways to speedup octree filling though.
When tracing a mirror with AO, the rendering was extremely slow due to
each mirror sample (like 8 per pixel) taking a full range of AO samples.
Now it uses for mirror samples a corrected amount, which makes sure for
a single pixel still a full AO range is used.
Makes mirror+AO render 5-6 times faster, at least.
-- epydoc Documentation for eeshlo's Noise module + small typo fix in Noise.c
-- BPY_end_python closes .blend file opened by Library module when script doesn't do it by itself.
- added some constants for the rendering module to blender module
- moved rendering functions from scene to scene.render
- rendering functions called from renderData struct instead of from scene directly
- getRenderingContext() returns rendering data struct
- deprecation of old scene functions
- some formatting/documentation of code
Mirror Object is assigned to Ctrl-M and I've add Ctrl-M to call Mirror Edit (on top of M alone) for practical reason. We should consider switching both to Ctrl-M for pratical reasons but I kept M for backward compatibility
Also added the menu and toolbox counterparts.
Minor addition to arithb.c: A function to print vectors to the console. Easier for debuging.
bytes for RGB.
This to allow very bright contrasted images to be used for AO as well. As
a first start also the Texture->Colors panel now allows contrast setting
up to 5.0 (was 2.0).
- New module + doc: Blender.Library:
It's like File->Append, loads datablocks from .blend files.
- small updates to fix warnings and accomodate for the new module, in readfile.[ch]
- New Blender.sys module function: time, a wrapper of the PIL get time function.
- Updated original makefile and scons builds.
indicate scanlines being in progress. For motion blur frames it works too.
Bug fix: in background render it accidentally tried to free a sound pointer
that wasn't set. (caused by own commit of three days ago).
Fix: rendering motion blur in forground prints correct sample # in info-
header again.
new Properties panel (was first called Transform Properties). They include the
same settings as were previously found in the window header: Anim toggle,
Start/End frame, Speed, Tiles toggle, X repeat and Y repeat.
The Tiles button used to work incorrectly in 2.25, this is now fixed too.
The drawing of the UV Vertex transform buttons in the Properties panel used to
give popup error messages when in Edit Mode (uv_tface_editing_is_allowed is not
silent). Also these buttons would still draw in Edit Mode. Both are problems
are solved now.
appeared that the standard size (64x64x64) just works fine for small
scenes, like a single character in a small environment. Larger scenes and
larger environments became exponentional slower.
Disadvantage of larger octrees is longer build time, and overhead traver-
sing it though, so something to tweak based on some experimenting.
A table with test results + blender file will be in CMS soon.
New button is in F10 Render panel, in bottom. Last free spot there! O_o
Sizes supported now 64, 128, 256 or 512.
- fixed two warnings, unused var in Object.c and undeclared function in script.c
- updated Blender.Draw doc, it was missing info about Button object
- refactored pytype initialization to try to fix for once platform (and distro!) specific crashes on startup. This asked for tiny updates in Effect.[ch] (removed static from declaration, moved definitions to the .c file) and modules.h
- fixed error I made trying to fix scripts w/ no [eol] char in menus. Thanks Michael Velikanje for reporting the problem!
played (= packedfiles opened and copied to another block) these
packed data blocks where not freed.
The error showed in console at closing of Blender, like:
read_struct len: 24 0x1c4423c
Problem: when appending data, it called the local_all() function, which
indeed made all data local, including all other dynamic linked data.
Not very nice... but mixing dynamic & appending data from single file is
headcrunching code.
Solution: when appending data, it now only makes local_all() the data from
that specific library file, leaving dynamic data from other files linked.
(Bug report 1183)
The code wasn't correct at all (for ages!). Rule now again is:
Button range 0.0-2.0 : ctrl goes with steps of 0.1, shift+ctrl steps of 0.01
Button range 2.0-20.0: ctrl goes with steps of 1.0, shift+ctrl steps of 0.1
Button range larger: ctrl goes with steps of 10.0
Added support for Panels, and converted old NKEY menu here.
Also enabled zooming in further, as for Action Window.
(note: this editor can use some work, this action stuff is underdeveloped
and mysterious!)
- UI code
Brought back fix that sets for each Panel a GL matrix for UI code thats
coming after it. This makes system more flexible, and prevents conflicts
with other uiBlocks in a window (like ipo, action).
This will give a tinsy bit more load for moving mouse around... please
report back if this causes troubles.
When toonshading is used, also backfacing polygons are rendered. This
causes a conflict with raytraced shadow, since backfacing polygons
always have shadow.
There was an error in the code that didnt set shadow for backfacing
polys, assuming shading would be 'zero' then as well. That's fixed.
Somewhere after 2.28c I fixed some thing in radio rendering that prevented
textures to be applied to radio energy.
Now it is a normal 'diffuse' energy again, and multiplied with actual
(textured) material color.
Small fix: the radiosity steps show up as numbers printed in time-cursor.
- Michel's linux test builds with Python 2.3.x were crashing. This of course shouldn't happen even when Python isn't installed in the system. The problem was much probably some uninitialized internal type needed by the Mathutils module and the "fix" is stupid.
Moving the registration of Mathutils module in Blender.c to the end of the list solves the crash here.
'do_all_actions' run twice for all of the constraints to be updated
properly. (/me grumbles: I fixed this last week for the OpenGL
updating stuff in header_buttons.c ... do we really need to have so many
update_for_newframe()-style functions?)
This was caused by calling sound_init_audio() at startup. In situations
where Blender was first started, or when other applications used memory,
this could take 5-15 seconds.
I have moved the init call to 'start ketsji', and made sure any call
to an audio play routine will invoke an init as well.
Tested with engine and loading/play sound in F10 menu. I don't know how
the BlenderPlayer handles it... should be investigated.
Result: At OSX Blender starts in a second again! :)
Now uses 'Application Data/Blender Foundation/Blender' instead of old
"Not A Number" dir.
- Updated windows installer to make this change transparent for the
users. It copies /.blender to the new location and displays a short
message to advise them of the change
(http://homepages.nildram.co.uk/~aphex/installer_msg.jpg).
- Installer also includes fix for opening blend files from explorer (patch provided by Valentin Ungureanu (vung) - thanks!)
Note to CVS users on Win2k/XP: Although blender will continue to work
without changes, you should ideally copy the /.blender dir to
<app data>/Blender Foundation/Blender for the sake of correctness :)
fixes, including:
- Panel in action window (disabled it, since there's no need for it)
- fix: when action was added to mesh with vertex keys, the action couldn't
be deleted, nor did action window draw key names
- mouse on RVK (key) in Action window: Nkey menu pops as well.
This is not a good candidate to put in Panel, no selection possible here.
- when you change name of RVK in action window, it shows in IpoWindow too
When one or more curves is being edited,there is a checkmark by the menu option and you can slect it again to leave editmode.
This commit is more for people learning Blender as people who know will just press TAB.
it for the UV Image window (as Nkey replacement). Blendix can take
this further now.
Other little improvement: vertices in UV window now draw unselected
first, and then selected over it. Less confusing!
Next spaces: Action and Nla.
The OSA ofset vector for current rendercoord (O.dxco) wasn't
initialised in all cases. Actually, just removed it for AO, effect is
invisible.
Bug provided by jK, not in tracker. thnx!
- Scripts that ended without an [eol] (end of line char) would give syntax errors when called from menus.
Now all loaded menu scripts have '\\n\\0' appended to them, not only '\\0' as before.
- bug #1146: Kester reported a Valgrind warning, should be fixed now.
-ability to set poses for the armatures - allows for keyframing armatures
-adds support for actions/actionchannels
-additional checking for addBone and clear parenting
-moved getActionIpos from object module to NLA module
pattern as previous commit for AO.
Previous setting, dither+jitter, has been cancelled. Now you can choose
for either nothing, dither, or for noise. With the latter giving same
nice noise as for AO.
Pics:
http://www.blender3d.org/cms/Render_engine_features.215.0.html
the directories decrypt, deflate, encrypt, inflate, readstreamglue,
sign, writeblenfile and writestreamglue.
Sirdude was so kind to modify the makefiles, so SCons and
Make are ready to build with the new Blender.
Visual Studio workspaces, solutions and projectfiles still need
to be updated (I'll do the .vcprojs and .sln myself after this commit).
Runtimes created with the Blender Publisher are not anymore
recognised - if you want these available, you'll have to convert
them first to .blends with the Publisher.
a UV Sphere which isn't a very uniform distribution on a sphere.
Now I itterate a evenly distributed set of points on sphere, and use that
by random rotating the entire sphere for each pixel.
http://www.blender.org/bf/samp3.jpghttp://www.blender.org/bf/samp4.jpg
Both pics same rendertime, 36 AO samples. Quite a difference, eh!
Will put html page for release up.
the tooltip of the To: field of a message actuator was saying that
messages will only be sent to objects with a property of that name,
while in fact it was sent to objects with that name.
Unfortunately, the GameKit (and probably other documentation, too)
is wrong about this as well.
corrected the tooltip to reflect what's actually happening
- update to addBone parenting transform code
- hide/unhide bones
- draw axes/draw names
- clear parenting and clear children from bones - removes childbase links from bone and set as root or remove parenting and set as root
as there is a conflict between openal and sdl (when compiled with cdrom
support), i had to disable support for cd playing using sdl on os x
for the time being.
I found it was an easy one to fix after all... the stars system is still
old and very cumbersome code, but for parts it now just works too, by
just disabling clipping in advance (as for panorama).
mesh_add_normals_flags()
Basically this abuse was only for normals and draw flags. For huge imports
the editmode hack is far too slow.
Now added to vrml importer. Hos can check for his stl work!
friends with a group-malloc system would speedup. That wasn't...
While doing this I noticed such mess... so spent a while cleaning things
a bit:
- all malloc() replaced with MEM_mallocN()
(this except for vertices/edges/faces, for speed)
- unified free_xx names, this was too confusing! so now we have:
free_editvert()
free_editedge()
free_editvlak()
free_vertlist()
free_edgelist()
free_vlaklist()
and only very few calls to free() and alloc() themselves.
- AO energy slider to control amount
- option "Use sky color" for colored AO. The horizon color will define
bottom diffuse color, the zenith works on top
- option "Use sky texture" will do a full sky render to define AO color
Please note that AO energy and color only is found when a ray does not
intersect. So for interior scenes make sure 'Dist' value is sufficient
low.
New also is:
- World "Map input" allows "Ang Map" (Angular mapping) which can be used
for 360 degree spherical maps, aka as Light Probes. Check samples here:
http://www.debevec.org/Probes/
Note that Blender doesn't support HDRI images yet, but option "Use sky tex"
already gives intersting results with such images
- World sky rendering with Image Textures now correctly filters and uses
antialiasing. Also noticable for raytrace mirror reflections
- World preview render for sky type "Real" now gives correct view as
defined by current used camera.
I tried to speed up AO tracing with coherence systems, none of it really
worked yet... time to tackle octree itself i guess!