Commit Graph

6120 Commits

Author SHA1 Message Date
Brecht Van Lommel
e46de9feb5 Angle Based Flattening:
- 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.
2006-02-05 15:32:19 +00:00
Brecht Van Lommel
469557f625 Updated blenderbuttons (non-sticky now shows icon in the uv editor).
Also have datatoc.c add a new line at the end of the file, seems this
was added directly to blenderbuttons.c to fix a warning before.
2006-02-05 14:21:09 +00:00
Brecht Van Lommel
e66b5e5cd5 UV Editor Tweaks:
- 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.
2006-02-05 14:12:45 +00:00
Nathan Letwory
3c9494bbfd * reflect WITH_BF_INTERNATIONAL changes into (platform)-config.py files too 2006-02-05 12:27:49 +00:00
Nathan Letwory
631a8d85d4 * WITH_BF_GETTEXT and WITH_BF_FREETYPE are merged into WITH_BF_INTERNATIONAL
* typo in adding BF_OPENAL_LIBPATH, resulting in it not being added at all
2006-02-05 12:24:52 +00:00
Nathan Letwory
c5a0e79fb0 - removed redundant code 2006-02-05 12:08:32 +00:00
Jean-Luc Peurière
a91c077152 packaging in bundle of the Os X binary. result in the bin of build dir
Important note, the install target install only the binary not the
packaged bunde for the moment
2006-02-05 11:28:28 +00:00
Nathan Letwory
257124a44f - remove Xmu and Xext from linking line for linux2, as they are not needed
+ WITH_BF_OPENAL actually enables or disables use of OpenAL
+ WITH_BF_OPENEXR removes openexr libs from linking if disabled
2006-02-05 11:11:44 +00:00
Ken Hughes
eb185d7032 ==Python API==
A couple of bug fixes and enhancements:
(1) Setting the UV attributes of a mesh face will create texture faces if
    they are not already defined.  Previously this threw an exception.
(2) Setting the image attribute of a mesh face will also set the TEX bit
    of the face.mode flag
(3) When "sticky" vertices are created with mesh.vertexUV, the color is
    set to white instead of black.
(4) Bugfix #3872: copying the mode attribute of one mesh to another would
    sometimes result in an exception due to unexpected bits being set. I
    still don't know how these other bits are being set, but this patch will
    stop the complaint if they are set.
2006-02-05 07:19:37 +00:00
Nathan Letwory
3d3f5d1640 + WITH_BF_OPENAL=0 should now actually not need OpenAL stuff
* BF_PROFILE_FLAGS to list form
2006-02-05 01:09:40 +00:00
Nathan Letwory
eb5705374e * argh, sleep deprivation getting upper-hand - I accidently left an Exit()
call lying around, causing SCons never to build anything :)
2006-02-05 00:53:47 +00:00
Nathan Letwory
ea539ab643 * Use better option propagation everywhere
lukep, I didn't touch darwin-config.py yet, because you're still
  working on it. But if you could see and make similar changes as
  I did to the rest.
2006-02-05 00:47:34 +00:00
Nathan Letwory
a0db61bca7 * Added safeguards around a few list.remove(x) calls, to prevent SCons
from barfing if a CVS directory was not found (ie when cvs export
  was used).
2006-02-05 00:23:43 +00:00
Nathan Letwory
cb2f833aa5 * Made options evaluate differently, so setting one option properly
propagates to related options:

  In (platform)-config.py
    BF_PYTHON_VERSION = '2.4'
    BF_PYTHON_INC = '/usr/include/python${BF_PYTHON_VERSION}'

  In user-config.py
    BF_PYTHON_VERSION = '2.3'

  This will now have BF_PYTHON_INC evaluate actually to
  '/usr/include/python2.3' and not to '/usr/include/python2.4' as with
  the old way. Reported by Chris Want.

  Todo: also use in other platform configurations.
2006-02-05 00:03:51 +00:00
Jean-Luc Peurière
727f832003 more sensible defaults for new scons on Os X :
- python 2.3   if you want python 2.4 add the 2 following lines in
               user-config.py :
              BF_PYTHON = '2.3'
              BF_PYTHON = '/library.Frameworks/Python.framework/Versions/'

- disabled libtiff by default. new scons force lib linking &  it shouldnt
  will work on that
- added SystemStubs lib that 10.4 require in some circumstances.
  10.3 users may have to remove it with this line :
              LLIBS = 'stdc++'

additional notes :

OpenEXR libs and includes are searched in /usr/local
use by preference gcc3.3 gcc4 need some new libs i will commit shortly
you get in final an unpackaged binary. take a previous blender app  and use
show package content command to navigate to Contents/MacOs. replace the
binary there by new one, and voila, you have a working new app.

will commit shortly the automatic packager
2006-02-04 22:16:01 +00:00
Nathan Letwory
4e82647e86 ==SCons==
+ 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
2006-02-04 16:36:37 +00:00
Nathan Letwory
41356305ee ==SCons==
* wrong format of two vars made darwin compile barf
2006-02-04 16:30:51 +00:00
Nathan Letwory
e48ed941a0 ==SCons==
* If you set C_WARN=[] and CC_WARN=[] in your user-config.py, no complaints
  whatsoever should show. Otherwise a lot of warnings are shown.
2006-02-04 15:52:55 +00:00
Nathan Letwory
c0234bd9ec ==SCons==
* add REL_CFLAGS and REL_CCFLAGS when not building debug. This adds NDEBUG
  to compile on Win32
* fix path to makesdna binary
2006-02-04 15:44:34 +00:00
Nathan Letwory
0884402f2b ==SCons==
* 'scons blendernogame'
  This target will disable the building of the game engine
2006-02-04 15:10:59 +00:00
Ton Roosendaal
bf8b4f293d New Material option: "OnlyCast". This makes the object only cast shadows,
not show up in renders, nor being mirrored.
2006-02-04 15:07:48 +00:00
Ton Roosendaal
98a0768028 Compositor: Added a basic "Time Node".
Just indicate start/end frame, and node outputs with Curve a value between
0.0 and 1.0.
2006-02-04 14:38:51 +00:00
Nathan Letwory
3bb82a27fc == SCons ==
* 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
2006-02-04 14:15:10 +00:00
Ton Roosendaal
1db5c23716 More work on render stuff!
- 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.
2006-02-04 13:28:50 +00:00
Nathan Letwory
e46b74d18e == SCons ==
* Added a user and a developer doc for the upcoming SCons commits.
  These documents should get most people started after the commit
  of the new scripts is a fact.
2006-02-04 12:04:55 +00:00
Campbell Barton
faff1cf46b Fixed bug where a extra vert was duplicated. - (Thanks Brandedo)
Face indicies spanning over 1 line are now supported (had a freak obj that did this)
Small optimization @% overall speedup.
- Last release before move to Mesh over NMesh.
2006-02-04 03:44:21 +00:00
Ton Roosendaal
902bc75c34 Render feature request; when saving EXR files during anim render, it can
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.
2006-02-03 21:38:59 +00:00
Ton Roosendaal
9facc0b20e Improved check for case when vector-blur speed table (previous frame) is of
different size as current frame. It now just skips making vectors then...
there exist solutions, but have to prove first vecblur actually works.
2006-02-03 21:02:20 +00:00
Ton Roosendaal
6ac2c83016 Redoing the blur filters for composit;
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!
2006-02-03 20:39:36 +00:00
Ton Roosendaal
7a7c33ea27 Crash fix! Found one unsafe malloc in allocating the Z render pass...
Brought back threaded compositing, this was blamed incorrectly.
2006-02-03 09:25:46 +00:00
Campbell Barton
4b05af9ca7 - Face import tested to be about overall 16x speedup over 0.93.
- Material importing speedup.
- Tested with more models.
- Support some corrupt models.
(Bug in Mesh causes segfaults on some files still, kens looking into it)
2006-02-03 06:42:07 +00:00
Ton Roosendaal
8e12f750f2 - Preview images get generated on render event again
- disabled threading for composit for now, it has a memory error still...
  will work on that tomorrow more.
2006-02-02 23:55:14 +00:00
Jean-Luc Peurière
ef47cb25a0 added needed stub for player (renderpasses) 2006-02-02 22:55:02 +00:00
Ton Roosendaal
d8ae1c93f3 Accidentally committed without log...
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.
2006-02-02 22:35:23 +00:00
Ton Roosendaal
b43ddb4dec Added better safety in vertex/weight paint, so it survives painting outside
the window edge. Also did a paranoia larger memory allocation... weird
reports I got.
2006-02-02 21:52:35 +00:00
Ton Roosendaal
4249bce1bf Three feats;
- RenderLayers with 'view layers' set, now also take visible lights into
  account. Works just like for scene layer settings.

- On ESC from render, compositing (if set) is being skipped too

- While rendering with multiple RenderLayers it will end with a display
  of the current RenderLayer (as in Scene buttons)
2006-02-02 21:08:39 +00:00
Ton Roosendaal
15eebf614f Duplicator bugfix: particle duplicators were not restoring the matrix for
the duplicated object correctly. This appeared like object disappeared.

Note; to see this fix work on older files, you have to invoke a depsgraph
call, like by grabbing the duplicated object.
2006-02-02 19:54:42 +00:00
Ton Roosendaal
21e7a5f142 Render fix: object-duplicators now give their layer setting to the
duplicates, enabling lighting and layer-render properly.
2006-02-02 19:31:15 +00:00
Ton Roosendaal
2a528b285e If Images have relative path, and come from a library, it uses the library
path as reference for loading the image.
2006-02-02 18:28:01 +00:00
Ton Roosendaal
f493e8ed2e features & fixes:
- 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.
2006-02-02 17:54:22 +00:00
Ton Roosendaal
ccbc32abed Curve tool was not threadsafe... it was storing premultiplied curves in
a function (static vars) itself, causing mixups of curve data on usage.
2006-02-02 14:37:25 +00:00
Matt Ebb
b38145ff51 * This should have come along with the cursors commit before, to make the standard cursor show when over a window header. *blush* 2006-02-02 12:16:23 +00:00
Alexander Ewering
6cede56718 Bug #3854: Extruded/Bevelled text objects didn't get the right materials
for front/back faces. This should also fix and enable overlapping extruded/
bevelled characters.
2006-02-02 12:13:08 +00:00
Toni Alatalo
afb5a2acf5 yet another temporary strange but straightforward hack for a script at orange to work! that is: while Joseph is working on the actual Constraint API for bones etc., this allows our armature script to set influences with a simple call: armatureobject.setConstraintInfluenceForBone(bonename, constraintname, influence); fails silently at failure ('cause the c calls used do and no retvals are checked) and is in the strange place (as the current api is largely not object level) but works for us for now (e.g. next few weeks). 2006-02-01 22:21:46 +00:00
Chris Want
dc2cab13bd Strangely, the BLI_timestr() function returns nonsense on linux for
ia64. It appears that if I get rid of the fmod expression, and
use integer math I get the right values. Hopefully this isn't a
problem for anybody.
2006-02-01 20:16:50 +00:00
Stephen Swaney
76ba34768e bugfix: Object.Get() throws ValueError rather than AttributeError. 2006-02-01 15:21:05 +00:00
Campbell Barton
88e0f089be 3ds importer distributed with Blender 2.41 is broken in 2 places so bugfixed and updated...
Version 0.93
- Tested with 400 3ds files from turbosquid, model cd's and net samples.
- Tactfully ignore faces that used the same verts twice.
- Rollback to 0.83 sloppy un-reorganized code, new code broke UV coord loading.
- Converted from NMesh to Mesh. First importer to use Mesh.
- Faster and cleaner new names.
- Use external comprehensive image loader.
- Re intergrated 0.92 and 0.9 changes
- Fixes for 2.41 compat.
- Non textured faces do not use a texture flag.
2006-02-01 10:52:54 +00:00
Campbell Barton
c8ff92d965 Added a function for importers to use, comprehensive image loader takes an imagepath and a file path- and imports the image, if it exists it uses the one alredy loaded or does a realy good job of finding the right image case insensitite if the normal path is not found. looks in all the logical places for the image- If teh image isnt found then a new dummy image is returned.
The nice thing about this is you can request an image and  you know youll get an image back- without doing your own error handeling.
2006-02-01 10:31:49 +00:00
Joilnen Leite
bee859fe17 fix for bug of long group long name, bug found and fixed for bmx007
.
2006-02-01 10:08:42 +00:00
Jens Ole Wund
93de82c3d9 removing dead experimental code 2006-02-01 09:46:34 +00:00