Commit Graph

6143 Commits

Author SHA1 Message Date
Peter Schlaile
4e97a43d56 Adds a VFAPI-Plugin for TMPGenc to connect to the blender frameserver. 2006-02-05 19:39:12 +00:00
Peter Schlaile
680756393a - Header changes to support hdaudio, memcache limitor and framecount boost. 2006-02-05 19:36:32 +00:00
Peter Schlaile
6c29ba8494 Base library to support hdaudio-tracks (using ffmpeg only for now). 2006-02-05 19:33:17 +00:00
Peter Schlaile
90f0e37263 * Adds configuration buttons for ffmpeg-output
* Large sequencer rewrite to support:
  - Audio-tracks, which are not completely loaded into memory (hdaudio) but
    kept on disk instead.
  - A dependency tree, that builds only the Imbufs, that are really needed
  - Cleaner sequencer code
  - Per instance data in sequencer plugins (without this, the Dynamic
    Noise Reduction plugin would be impossible)
  - A Luma Waveform display
  - A U/V scatter plot display
  - Memcache limiting in sequencer
  - Buttons changed according to the boosted framecount limit
2006-02-05 19:30:37 +00:00
Nathan Letwory
f17bdcb2e4 ==SCons==
* Add WITH_BF_FFMPEG to scons system. Needs to be added to (platform)-config.py
  still. Otherwise defaults to  'false'.
2006-02-05 19:29:48 +00:00
Peter Schlaile
334b05741f * Add memcache limitor-support to imbufs
* Add ffmpeg-read support in anim.c and util.c
* Makes ImBufs refcountable. You can now increase an internal refcounter
  in ImBufs (using IMB_refImBuf) which is decreased by freeImBuf.
  This makes it possible to simply pass ImBuf pointers around in the
  sequencer saving a few memcopies.
2006-02-05 19:23:34 +00:00
Peter Schlaile
38c4a3a209 * Adds userdef-types for memcache limitor and frameserver-rendering
* Boosts the blender frame limit by changing the type of the frame number
  from short to int everywhere. Without this, timelines longer than a few
  minutes are impossible to handle.
* Adds several types for ffmpeg input/output, hdaudio-tracks in sequencer
2006-02-05 19:18:55 +00:00
Peter Schlaile
44e39005f8 * Fixes memory leak in pipeline.c
* Makes the render pipeline work in arbitrary order to support frameserver
  rendering.
2006-02-05 19:16:32 +00:00
Ken Hughes
ccedf6d833 ==Python API==
Bugfix #3849: "break" instead of "continue" caused memory corruption in
faces.extend() if an edge was given in the middle of parameter list.
2006-02-05 19:15:58 +00:00
Peter Schlaile
62782a23bf FFMPEG-render support. 2006-02-05 19:14:46 +00:00
Peter Schlaile
42d67ebd4f Enables sequencer ipos for effect plugins and audio-tracks
to be locked to frames instead of the range from 0-100.
Comes very handy on long timelines...
2006-02-05 19:13:44 +00:00
Peter Schlaile
1ce9e196f7 Adds support for frameserver rendering to blender. This is done by
integrating a mini-webserver (around 300 lines of code) into blender.
Using the VFAPI-plugin in contrib/windows it enables blender to
directly feed its output into TMPGEnc, a commercial high quality MPEG-Encoder.
Since it is a mini-webserver, you can probably easily use it for other
interfacing purposes.
2006-02-05 19:12:25 +00:00
Peter Schlaile
4f59db9ca1 Add several usefull sequencer-plugins:
- color-correction-hsv & color-correction-yuv
  Do color correction in HSV or YUV-space, rather sophisticated but slow.
  You can control setup, gain and gamma and saturation (seperated by
  shadows, midtones and highlights).
- gamma
  a simple RGB-Gamma plugin, but very fast.
- dnr
  Dynamic Noise Reduction (plugin ported from VirtualDub).
  This helps mpeg encoding alot, by ignoring noise /movement
  below a given threshold between frames.
  It is also a lot faster than the original VirtualDub-plugin preserving
  it's quality.
2006-02-05 19:04:12 +00:00
Peter Schlaile
3cdd195e58 Adds for additional buttons for the new sequencer code to distinguish
the display of timeline, output, U/V scatter plot and Luma waveform.
2006-02-05 18:59:16 +00:00
Peter Schlaile
57d7ae0365 Adds generic memcache limitor (used by the new sequencer to cache
only a certain amount of frames).
2006-02-05 18:56:30 +00:00
Nathan Letwory
d7e5f37172 ==SCons==
* Fix typo in bullet SConscript
* win32-vc now copies all necessary files to BF_INSTALLDIR, including dlls
2006-02-05 18:48:01 +00:00
Nathan Letwory
ffcbde116e ==SCons==
* make sure PLATFORM_LINKFLAGS are used on Cygwin, too
2006-02-05 18:03:02 +00:00
Nathan Letwory
f92bf08d1e ==SCons==
* cleaning cruft away
2006-02-05 17:58:08 +00:00
Nathan Letwory
896b6288ca ==SCons==
* remove useless BF_TIFF* options. Upon closer inspection of code, only
  path to headers is needed
2006-02-05 17:50:19 +00:00
Nathan Letwory
9b36ffca12 * add proper WITH_BF_TIFF checks 2006-02-05 17:29:22 +00:00
Nathan Letwory
04d44ee311 + add check for cygwin to continue parsing of SCons scripts 2006-02-05 17:14:52 +00:00
Nathan Letwory
1d6a2adc0e * option propagation also for darwin :) 2006-02-05 16:25:38 +00:00
Ken Hughes
8c333c63a4 Previous commit broke faces.extend() and edges.extend() for single edges
and faces.
2006-02-05 15:43:47 +00:00
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