Age | Commit message (Collapse) | Author |
|
|
|
- first work on getting area/screen handling back
- added structure for where to put stuff, is still under
review, wait a bit for docs?
Campbell is working on removing every bad level include from
sources, so we can safely rebuild the src/ directory.
|
|
BIF_gl.h and BIF_glutil.h)
|
|
bad level calls. (which is not finished at all)
|
|
- metaball_tree= NULL; was missing in code
|
|
previously only some datatypes adding functions accepted a name.
also updated the Bpy.py epydocs
|
|
- Curve/Nurbs/Font/MBall now all draw arrays.
- had to flip abgr to rgba in shaded drawing
- Mesh drawing can't be easily done; the indices for faces are not in
in one chunk. Also need a way to gether trias/quads, per material.
Speedup results are mixed. Something between 2-4 times. Especially for
text it seems to help.
|
|
Metaball editmode: when editing a linked duplicate, hiding a ball caused
a crash.
|
|
too small size of base MetaBall object caused infinitive loop
|
|
metacubes shouldn't disapear, when dx, dy, dz is too big, thanks
arsouille for pointing at right part of code (it was the oldest bug in
bug tracker)
|
|
A full detailed description of this will be done later... is several days
of work. Here's a summary:
Render:
- Full cleanup of render code, removing *all* globals and bad level calls
all over blender. Render module is now not called abusive anymore
- API-fied calls to rendering
- Full recode of internal render pipeline. Is now rendering tiles by
default, prepared for much smarter 'bucket' render later.
- Each thread now can render a full part
- Renders were tested with 4 threads, goes fine, apart from some lookup
tables in softshadow and AO still
- Rendering is prepared to do multiple layers and passes
- No single 32 bits trick in render code anymore, all 100% floats now.
Writing images/movies
- moved writing images to blender kernel (bye bye 'schrijfplaatje'!)
- made a new Movie handle system, also in kernel. This will enable much
easier use of movies in Blender
PreviewRender:
- Using new render API, previewrender (in buttons) now uses regular render
code to generate images.
- new datafile 'preview.blend.c' has the preview scenes in it
- previews get rendered in exact displayed size (1 pixel = 1 pixel)
3D Preview render
- new; press Pkey in 3d window, for a panel that continuously renders
(pkey is for games, i know... but we dont do that in orange now!)
- this render works nearly identical to buttons-preview render, so it stops
rendering on any event (mouse, keyboard, etc)
- on moving/scaling the panel, the render code doesn't recreate all geometry
- same for shifting/panning view
- all other operations (now) regenerate the full render database still.
- this is WIP... but big fun, especially for simple scenes!
Compositor
- Using same node system as now in use for shaders, you can composit images
- works pretty straightforward... needs much more options/tools and integration
with rendering still
- is not threaded yet, nor is so smart to only recalculate changes... will be
done soon!
- the "Render Result" node will get all layers/passes as output sockets
- The "Output" node renders to a builtin image, which you can view in the Image
window. (yes, output nodes to render-result, and to files, is on the list!)
The Bad News
- "Unified Render" is removed. It might come back in some stage, but this
system should be built from scratch. I can't really understand this code...
I expect it is not much needed, especially with advanced layer/passes
control
- Panorama render, Field render, Motion blur, is not coded yet... (I had to
recode every single feature in render, so...!)
- Lens Flare is also not back... needs total revision, might become composit
effect though (using zbuffer for visibility)
- Part render is gone! (well, thats obvious, its default now).
- The render window is only restored with limited functionality... I am going
to check first the option to render to a Image window, so Blender can become
a true single-window application. :)
For example, the 'Spare render buffer' (jkey) doesnt work.
- Render with border, now default creates a smaller image
- No zbuffers are written yet... on the todo!
- Scons files and MSVC will need work to get compiling again
OK... thats what I can quickly recall. Now go compiling!
|
|
-> Any Group Duplicate now can get local timing and local NLA override. This
enables to control the entire animation system of the Group.
Two methods for this have been implemented.
1) The quick way: just give the duplicator a "Startframe" offset.
2) Advanced: in the NLA Editor you can add ActionStrips to the duplicator
to override NLA/action of any Grouped Object.
For "Group NLA" to work, an ActionStrip needs to know which Object in a
group it controls. On adding a strip, the code checks if an Action was
already used by an Object in the Group, and assigns it automatic to that
Object.
You can also set this in the Nkey "Properties" panel for the strip.
Change in NLA: the SHIFT+A "Add strip" command now always adds strips to
the active Object. (It used to check where mouse was). This allows to add
NLA strips to Objects that didn't have actions/nla yet.
Important note: In Blender, duplicates are fully procedural and generated
on the fly for each redraw. This means that redraw speed equals to stepping
through frames, when using animated Duplicated Groups.
-> Recoded entire duplicator system
The old method was antique and clumsy, using globals and full temporal
copies of Object. The new system is nicer in control, faster, and since it
doesn't use temporal object copies anymore, it works better with Derived
Mesh and DisplayList and rendering.
By centralizing the code for duplicating, more options can be easier added.
Features to note:
- Duplicates now draw selected/unselected based on its Duplicator setting.
- Same goes for the drawtype (wire, solid, selection outline, etc)
- Duplicated Groups can be normally selected too
Bonus goodie: SHIFT+A (Toolbox) now has entry "Add group" too, with a
listing of all groups, allowing to add Group instances immediate.
-> Library System
- SHIFT+F4 data browse now shows the entire path for linked data
- Outliner draws Library Icons to denote linked data
- Outliner operation added: "Make Local" for library data.
- Outliner now also draws Groups in regular view, allowing to unlink too.
-> Fixes
- depsgraph missed signal update for bone-parented Objects
- on reading file, the entire database was tagged to "recalc" fully,
causing unnecessary slowdown on reading.
Might have missed stuff... :)
|
|
bug was reported by ideasman, thanks! This bug fix also solve problem, when
MetaBall is parented to some zero size object.
|
|
|
|
- fix DerivedMesh.getMinMax implementations to set min & max when
there are no vertices
- mesh boundbox calc was wrong in some cases, messed up HOMEKEY
and localview zooming
|
|
alone with the following flags :
-Wall -Wno-char-subscripts -Wno-missing-braces.
the only one still worrying me is in rand.c line 57 :
rand.c:57: integer constant is too large for "long" type
but i have no clue about how correct cross-compiler and 32/64 bits friendly
see also my mail to commiter list for signed/unsigned issues
|
|
Metaball was broken. Test file:
http://www.cs.umn.edu/~mein/blender/blend/metaball.blend
http://www.cs.umn.edu/~mein/blender/blend/metaball.png
- it should fill octal tree much more better ... polygonisation of MetaBalls is faster little bit now too
- stiffness limit is 10.0
|
|
source/creator/creator.c
changed ifdef's around fpe_handler to match when its actually used.
intern/SoundSystem/intern/SND_AudioDevice.cpp
Changed: SND_SoundObject* oldobject = oldobject = pIdObject->GetSoundObject();
to: SND_SoundObject* oldobject = pIdObject->GetSoundObject();
intern/SoundSystem/openal/SND_OpenALDevice.cpp
removed unused var.
source/blender/blenkernel/intern/mball.c
initalized a couple of vars that might have been used uninitalized.
The rest were changing types to match, most of them were something like
was short * should have been unsigned short *.
Kent
|
|
|
|
lot of casts, added prototypes, missing includes and some true errors
|
|
polygonisation.
It is useful for large scenes, when you work with lot of MetaElems. Example:
http://e-learning.vslib.cz/~hnidek/pics/deer.jpg
(PildaNovak's model)
- shortcuts for hiding of MetaElems:
H ......... hide all selected MetaElems
Shift-H ... hide all unselected MetaElems
Alt-H ..... unhide all hidden MetaElems
- items in header menu of 3dview
|
|
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.
|
|
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.
|
|
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) http://e-learning.vslib.cz/hnidek/misc/bowl_metaballs.blend
|
|
data into account, causing errors modeling.
|
|
http://projects.blender.org/tracker/?func=detail&atid=125&aid=1186&group_id=9
-I forgot somethig, when i commited to this file last (i'm really sorry)
|
|
No limits for count of MetaElems (1024 in past).
|
|
different objects shouldn't share flags this way (still sharing of
other mesh flags in renderer... ickity pickity, but I'm not fixing now)
- removed some unnecessary uses of DNA_mesh_types.h
|
|
|
|
occured)
- MetaBalls/MetaElems with too small stiffness are not polygonized, but still can influence others MetaBalls/MetaElems
- better behavior of negative MetaBalls/MetaElems
|
|
even for each redraw! Now its all smooth & fast again.
introduced new kernel API call: int is_basis_mball(ob), this provides a
quick check of the object is the actual basis for the displaylist and
polygonization.
|
|
- added new MetaElem types (plane, elipsoid and cube) old TubeX, TubeY and TubeZ will not be supported
- new buttons in Edit button window (dx, dy, dz)
- added new items into the headers menu and toolbox menu
more details at: http://blender.webpark.cz
|
|
outside of the old boundbox of the Object.
it's a small fix, the code is still commented in... need further
work to find out why sometimes balls disappear
|
|
|
|
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
Just need to finish cpp files now :)
Kent
--
mein@cs.umn.edu
|
|
|