[Bf-blender-cvs] CVS commit: blender/source/blender/imbuf/intern/openexr openexr_multi.h openexr_api.cpp openexr_api.h blender/source/blender/render/extern/include RE_pipeline.h blender/source/blender/render/intern/include render_types.h blender/source/blender/render/intern/source pipeline.c blender/source/blender/src sequence.c

Ton Roosendaal ton at blender.org
Thu Feb 23 21:57:31 CET 2006


ton (Ton Roosendaal) 2006/02/23 21:57:31 CET

  Modified files:
    blender/source/blender/imbuf/intern/openexr openexr_api.cpp 
                                                openexr_api.h 
    blender/source/blender/render/extern/include RE_pipeline.h 
    blender/source/blender/render/intern/include render_types.h 
    blender/source/blender/render/intern/source pipeline.c 
    blender/source/blender/src sequence.c 
  Added files:
    blender/source/blender/imbuf/intern/openexr openexr_multi.h 
  
  Log:
  Work in progress commit on saving OpenEXR with all render-layers and
  passes in single file. Code is currently disabled, commit is mainly to
  have a nicer method of excluding OpenEXR dependency from render module.
  This should compile with disabled WITH_OPENEXR too.
  
  Reason why EXR is great to include by default in Blender is its feature
  to store unlimited layers and channels, and write this tile based. I
  need the feature for saving memory; while rendering tiles, all full-size
  buffers for all layers and passes are kept in memory now, which can go
  into 100s of MB easily.
  The code I commit now doesn't allocate these buffers while rendering, but
  saves the tiles to disk. In the end is it read back. Overhead for large
  renders (like 300 meg buffers) is 10-15 seconds, not bad.
  
  Two more interesting aspects:
  - Blender can save such multi-layer files in the temp directory, storing
  it with .blend file name and scene name. That way, on each restart of Blender,
  or on switching scenes, these buffers can be read. So you always see what was
  rendered last. Also great for compositing work.
  - This can also become an output image type for rendering. There's plenty of
  cases where you want specific layers or passes saved to disk for later use.
  
  Anyhoo, finishing it is another days of work, and I got more urgent stuff
  now!
  
  Revision  Changes    Path
  1.5       +153 -41   blender/source/blender/imbuf/intern/openexr/openexr_api.cpp
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp.diff?r1=1.4&r2=1.5&cvsroot=bf-blender>
  1.4       +8 -20     blender/source/blender/imbuf/intern/openexr/openexr_api.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/imbuf/intern/openexr/openexr_api.h.diff?r1=1.3&r2=1.4&cvsroot=bf-blender>
  1.10      +2 -2      blender/source/blender/render/extern/include/RE_pipeline.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/render/extern/include/RE_pipeline.h.diff?r1=1.9&r2=1.10&cvsroot=bf-blender>
  1.6       +5 -6      blender/source/blender/render/intern/include/render_types.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/render/intern/include/render_types.h.diff?r1=1.5&r2=1.6&cvsroot=bf-blender>
  1.35      +204 -77   blender/source/blender/render/intern/source/pipeline.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/render/intern/source/pipeline.c.diff?r1=1.34&r2=1.35&cvsroot=bf-blender>
  1.38      +2 -2      blender/source/blender/src/sequence.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/sequence.c.diff?r1=1.37&r2=1.38&cvsroot=bf-blender>



More information about the Bf-blender-cvs mailing list