Age | Commit message (Collapse) | Author |
|
- There's an option to enabled ABF in the UV Calculation panel.
- ABF works with seams, pinning, live transform etc. UI wise it's pretty
much the same as LSCM.
- ABF favors low angular distortion over area distortion, much like LSCM.
It does however not have the tendency to "collapse" under high stretch,
which basically means that it will be able to handle complex charts
without pinning.
- ABF does however have on serious drawback: it is sensitive to degenerate
geometry, especially very small angles. I'm working on this, but it seems
to be quite difficult to improve the situation. There's still a bunch of
ideas left to try, but I'll just commit this now as is. If ABF fails, it
will fall back to LSCM, and there will be a warning print in the console.
- This implementation has the matrix tricks from ABF++ also. The second part
of ABF++, simplification before unwrap, is being worked on. The current
- ABF is about 3-4 times slower than LSCM, which was to be expected. For
live transform however, once the initial computation is done, it's just as
snappy as the new LSCM code.
Results are quite nice though:
http://users.pandora.be/blendix/snurgle.png
http://users.pandora.be/blendix/snurgle_flattened.png
You may recognize the Snurgle model by Colin Levy there.
|
|
- Set local sticky in the uv editor as default.
- Don't do live unwrap on fully selected charts or charts with no pins
selected.
- Fixed bug with live unwrap not respecting transform cancel in some cases.
- "View Home" didn't work without an image.
- Move UV Calculation settings (cube size, cylinder radius, ..) into the scene
toolsettings, instead of global variables
- Remove the name LSCM from the UI (and python docs on seams), and replace it
with 'Unwrap', with upcoming ABF this didn't make sense anymore.
- Move the Old/New LSCM switch into the UV Calculation panel. New LSCM is the
default now. Also renamed LSCM there to "Conformal".
- Made some room in the UV Calculation panel by removing the buttons to execute
the UV calculation, only leaving the settings.
Fill Holes:
- LSCM now has an option to fill holes in the chart before unwrapping. This on
by default, and enables two things:
- Prevent internal overlaps (e.g. eyes, mouth) for LSCM unwrapping.
- Allow the internal boundaries to move freely during stretch minimize.
- The possibility to switch it off is there because it is not always possible
to define which the outer boundary is. For example with an open cylinder
where there are two identical holes.
|
|
* typo in adding BF_OPENAL_LIBPATH, resulting in it not being added at all
|
|
+ BF_BUILDINFO=1 (by default) for build info in splash
- remove redundant renderconverter include dir
* check for win32-vc instead of only win32, so MingW compile goes ok
|
|
not show up in renders, nor being mirrored.
|
|
Just indicate start/end frame, and node outputs with Curve a value between
0.0 and 1.0.
|
|
* This commit is all of the rewrite work done on the SCons system. For
documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
contains valuable information, along with what still needs to be done.
- linux, os x and windows compile now.
- files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
- NOTE: Jean-Luc P will commit sometime during the weekend proper
appit() for OS X. For now, copy the resulting binary to an
existing .app bundle.
- features:
- cleaner structure for better maintenance
- cleaner output during compile
- better handling of build options
- general overall speed increase
- see the wiki for more info
Cygwin, FreeBSD and Solaris systems still need work. For these systems:
1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
2) set the proper defaults for your platform
3) mail me at jesterking at letwory dot net with you configuration. if
you need any modifications to the system, do send a patch, too.
I'll be giving first-aid today and tomorrow, after that it'll be all
regular development work :)
/Nathan
|
|
- Scene support in RenderLayers
You now can indicate in Compositor to use RenderLayer(s) from other scenes.
Use the new dropdown menu in the "Render Result" node. It will change the
title of the node to indicate that.
The other Scenes are rendered fully separate, creating own databases (and
octrees) after the current scene was finished. They use their own render
settings, with as exception the render output size (and optional border).
This makes the option an interesting memory saver and speedup.
Also note that the render-results of other scenes are kept in memory while
you work. So, after a render, you can tweak all composit effects.
- Render Stats
Added an 'info string' to stats, printed in renderwindow header. It gives
info now on steps "creating database", "shadow buffers", and "octree".
- Bug fixes
Added redraw event for Image window, when using compositor render.
Text objects were not rendered using background render (probably a bug
since depsgraph was added)
Dropdown buttons in Node editor were not refreshed after usage
Sometimes render window did not open, this due to wrong check for 'esc'.
Removed option that renders view-layers on F12, with mouse in 3d window.
Not only was it confusing, it's now more efficient with the Preview Panel,
which does this nicely.
|
|
optionally save a jpg next to it, with compression as set in buttons.
This allows quick previews or download from farms.
Button: next to the 'half' and 'zbuf' options for exr.
|
|
http://www.blender.org/bf/filters/
I found out current blur actually doesn't do gauss, but more did regular
quadratic. Now you can choose common filter types, but more specifically;
- set gamma on, to emphasize bright parts in blur more than darker parts
- use the bokeh option for (current circlular only) blur based on true
area filters (meaning, for each pixel it samples the entire surrounding).
This enables more effects, but is also much slower. Have to check on
optimization for this still... use with care!
|
|
This commit removes old preview-image signals for Compositor, this was
obsolete when event-based updates were added, and was still causing
recalculations for example on loading files.
|
|
the window edge. Also did a paranoia larger memory allocation... weird
reports I got.
|
|
duplicates, enabling lighting and layer-render properly.
|
|
- Enabled Groups to execute in Compositor. They were ignored still.
Note; inside of groups nothing is cached, so a change of a group input
will recalculate it fully. This is needed because groups are linked
data (instances use same internal nodes).
- Made Composit node "Viewer" display correctly input for images with
1/2/3/4 channels.
- Added pass rendering, tested now with only regular Materials. For
Material nodes this is quite more complex... since they cannot be
easily separated in passes (each Material does a full shade)
In this commit all pass render is disabled though, will continue work on
that later.
Sneak preview: http://www.blender.org/bf/rt.jpg (temporal image)
- What did remain is the 'Normal' pass output. Normal works very nice for
relighting effects. Use the "Normal Node" to define where more or less
light should be. (Use "Value Map" node to tweak influence of the
Normal node 'dot' output.)
- EVIL bug fix: I've spend almost a day finding it... when combining AO and
mirror render, the event queue was totally screwing up... two things not
related at all!
Found out error was in ray-mirror code, which was using partially
uninitialized 'ShadeInput' data to pass on to render code.
- Another fix; made sure that while thread render, the threads don't get
events, only the main program will do. Might fix issues reported by
people on linux/windows.
|
|
standard cursor show when over a window header. *blush*
|
|
.
|
|
- Live scanline updates while rendering
Using a timer system, each second now the tiles that are being processed
are checked if they could use display.
To make this work pretty, I had to use the threaded 'tile processor' for
a single thread too, but that's now proven to be stable.
Also note that these updates draw per layer, including ztransp progress
separately from solid render.
- Recode of ztransp OSA
Until now (since blender 1.0) the ztransp part was fully rendered and
added on top of the solid part with alpha-over. This adding was done before
the solid part applied sub-pixel sample filtering, causing the ztransp
layer to be always too blurry.
Now the ztransp layer uses same sub=pixel filter, resulting in the same
AA level (and filter results) as the solid part. Quite noticable with hair
renders.
- Vector buffer support & preliminary vector-blur Node
Using the "Render Layer" panel "Vector" pass button, the motion vectors
per pixel are calculated and stored. Accessible via the Compositor.
The vector-blur node is horrible btw! It just uses the length of the
vector to apply a filter like with current (z)blur. I'm committing it anyway,
I'll experiment with it further, and who knows some surprise code shows up!
|
|
-- should do 'alpha' right now .. down to brushes of 2 pixel size
-making AUX1/2 real air brushes .. must have been lost by brechts 'cleaning'
|
|
until more is discovered.
|
|
on the width of the names.
Now we can actually distinguish our shape ipo channels!
|
|
|
|
extern/bullet/BulletDynamics/ConstraintSolver/SimpleConstraintSolver.h
added newline at end of file.
intern/boolop/intern/BOP_Face2Face.cpp
fixed indentation and had nested declarations of a varible i used
for multiple for loops, changed it to just one declaration.
source/blender/blenkernel/bad_level_call_stubs/stubs.c
added prototypes and a couple other fixes.
source/blender/include/BDR_drawobject.h
source/blender/include/BSE_node.h
source/blender/include/butspace.h
source/blender/render/extern/include/RE_shader_ext.h
added struct definitions
source/blender/src/editmesh_mods.c
source/gameengine/Ketsji/KX_BlenderMaterial.cpp
source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp
source/gameengine/Ketsji/KX_RaySensor.cpp
removed unused variables;
source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
changed format of case statements to avoid warnings in gcc.
Kent
|
|
to rounding noise when trying to detect if previewsize changed. Made it
use a threshold now.
Fix: SHIFT+P in editmode is still push/pull, outside editmode it'll do
the preview render. (Note; editmode changes are not updated anyway!)
|
|
|
|
Grid does not necessarly represent tracklines at the moment and this is a nice way to show tracks.
|
|
non-existant windows, causing crash for example in Action window for shapes
|
|
<shift>P = preview toggle.
Don't know what the previous <shift>P did, something like 'Transform'. Ton, can you look into this?
|
|
|
|
Two new mouse cursors (paintbrush and text I-bar) made by basse (he even made the patch!), inspired by Bart's page.
I also changed screenmain() ever so slightly, so that the standard cursor is always used when the mouse is over a window header.
|
|
A commented if in toets.c for flipping the render buffer prevented the propagation of the keypress to handler in space.c
Ton: I added a temporary check for no qualifier but it's missing a test for an opened render window.
|
|
2. fixing MSVC6 projects to build
|
|
here is a quick summary...
Kent
intern/bsp/intern/BSP_CSGMesh_CFIterator.h
removed tri_index (unused variable)
intern/bsp/intern/CSG_BooleanOps.cpp
removed extra ;
intern/string/intern/STR_String.cpp
added <ctype.h>
source/blender/blenkernel/BKE_writeavi.h
moved things around so not doing forward declarations
source/blender/renderconverter/intern/convertBlenderScene.c
changed render.h to render_types.h
source/blender/src/blenderbuttons.c
source/blender/src/editgroup.c
source/blender/src/meshtools.c
added newline
source/gameengine/Ketsji/KX_KetsjiEngine.cpp
commented out include "PIL_time.h" code that requires it is commented out
reading blender/src/writeavicodec.c
(struct keyword to a couple of lines that needed it)
and added:
extern struct Render R;
blender/renderconverter/intern/convertBlenderScene.c
added extern Render R;
added #include "rendercore.h" to get rid of undeclared shade_material_loop
(Not sure if this is right but it fixes it.
Did not fix this problem, is it alright to just pass NULL here or should we chan
ge it to something else:
init_render_materials' : too few
gameengine/Physics/BlOde/OdePhysicsEnvironment.cpp
removed argument to dHashSpaceCreate
commented out dWorldQuickStep since it does not exist
|
|
Optimized so only samples inside the screens bounds are drawn.
Wave display detail is based on zoom - so you can view realy large wave files as well as indervidual samples.
Changed logic so an approximation of the wave is displayed rather then just the symetrical amplitude of the sound.
Triangles at start and end were annoying and obscured the start of the sound. made them alpha 0.7 for sound clips only.
a whole CD of music should display well and zoom smoothly now.
|
|
|
|
again. One exception I didn't solve yet... for the Stucci texture.
In a next commit I will add the preview.blend, so people can play with it!
The rules for preview.blend are pretty primitive still... might become
a bit more advanced later. Here's what it uses now:
- If Object has name starting with 'p' it will get the to-be-previewed
Material or Lamp assigned
- If Object has name starting with 't' its Material gets the texture
assigned for Texture previews
The layer codes for current preview options are in DNA_material_types.h;
#define MA_SPHERE 0
#define MA_CUBE 1
#define MA_FLAT 2
#define MA_MONKEY 3
#define MA_SPHERE_A 4
#define MA_TEXTURE 5
#define MA_LAMP 6
#define MA_SKY 7
(SPHERE_A is sphere with alpha for icons)
|
|
existing functionality was not changed.
usefull for rotating about an edge.
|
|
somthing.
Would anyone have a problem with me going through and making functions like triangulate, flip normals tri2quad etc all return how many changes made? - then undo+redraw can be done only when needed.
|
|
Mostly was unused variables, unused functions, missing prototypes and
missing include files.
|
|
Here are my notes on things to look out for as potential problem
spots:
source/blender/blenkernel/intern/displist.c:
+ is initfastshade(void) supposed to be empty? I had
to make it empty to get the merged tree to compile.
source/blender/python/api2_2x/Armature.c:
+ went with the version that had Armature_getLayers()
source/blender/python/api2_2x/Object.c
+ went with the version of Object_getPose() from bf-blender.
(#ifdef 0-ed the other version)
source/blender/python/api2_2x/Pose.[ch]
+ had problems linking due to no Pose_Init() ... copied these
two files straight from bf-blender.
source/blender/src/drawview.c:
+ view3d_panel_properties() had things shifted a few things shifted
a few pixels, otherwise, things were painless
source/blender/src/splash.jpg.c:
+ went with bf-blender version (orange is dead)
source/gameengine:
+ went with bf-blender version -- does not compile due to IMB_rect* stuff,
Ton should look into this.
|
|
system tracking changes in nodes, making sure only these nodes and
the ones that depend, are executed.
Further the 'time cursor' now counts down to indicate which node is being
done.
Also: you now can disable the "use nodes" button in the header, edit all
changes, and when you press that button again it nicely executes the
changes.
Still on the todo:
- make compositing threaded
- find a way to nicely exit compositing on input events... so the UI
keeps being responsive
- idea; a 'percentage' menu in header to enforce calculations on smaller
images temporally
|
|
-> Rendering in RenderLayers
It's important to distinguish a 'render layer' from a 'pass'. The first is
control over the main pipeline itself, to indicate what geometry is being
is rendered. The 'pass' (not in this commit!) is related to internal
shading code, like shadow/spec/AO/normals/etc.
Options for RenderLayers now are:
- Indicate which 3d 'view layers' have to be included (so you can render
front and back separately)
- "Solid", all solid faces, includes sky at the moment too
- "ZTransp", all transparent faces
- "Halo", the halos
- "Strand", the particle strands (not coded yet...)
Currently only 2 'passes' are exported for render, which is the "Combined"
buffer and the "Z. The latter now works, and can be turned on/off.
Note that all layers are still fully kept in memory now, saving the tiles
and layers to disk (in exr) is also todo.
-> New Blur options
The existing Blur Node (compositor) now has an optional input image. This
has to be a 'value buffer', which can be a Zbuffer, or any mask you can
think of. The input values have to be in the 0-1 range, so another new
node was added too "Map Value".
The value input can also be used to tweak blur size with the (todo)
Time Node.
Temporal screenies:
http://www.blender.org/bf/rt.jpg
http://www.blender.org/bf/rt1.jpg
http://www.blender.org/bf/rt2.jpg
BTW: The compositor is very slow still, it recalulates all nodes on each
change still. Persistant memory and dependency checks is coming!
|
|
|
|
Modification to allow adding a point in a curve button by LMB clicking/dragging directly on the curve, as in GIMP/Photoshop/etc.
|
|
menus. woops!
|
|
Image Node now supports animations as well. Press the 'Sequence' Icon in
the node to see the options:
- Frs: the amount of images involved in the sequence
- SFra: start frame, the Blender frame number
- First: the number in the name of the first image in the sequence
- Cycl: make the sequence go cyclic
The images are refreshed on each call to execute the node tree, but not
on advancing frames in Blender... I suspect that might make it to slow now,
will first have to code nice threaded/optimized updates in compositor.
|
|
|
|
complex sequence's
|
|
Access to G.vd without an active 3D window from sequences during Alt-A
playback caused segfault; check and return if it's NULL, and print an error
to stderr. (Someone should check why viewmove() is being called).
|
|
The further you drag the bigger the number gets (like gimp/photoshop brush size slider)
Works for ranges: float buttons bigger then 11 and int buttons bigger then 129.
|
|
- New Node "Composite" is output node that puts composited result back
in render pipeline.
- This then also displays in the render window while editing
- But, only with Scene buttons option "Do Compositor" set
- Then, just press F12 or render anims to see the magic!
For clarity, the former 'Output" node is renamed to "Viewer".
|