Giant commit!
authorTon Roosendaal <ton@blender.org>
Mon, 23 Jan 2006 22:05:47 +0000 (22:05 +0000)
committerTon Roosendaal <ton@blender.org>
Mon, 23 Jan 2006 22:05:47 +0000 (22:05 +0000)
commit042d612df219c8f6a29afa235537380f227b5684
tree310a2c859b99c559115bbcda0aa70f2543bf962c
parent5668480c99001a617fd59a2383deb858195ffb26
Giant commit!
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!
173 files changed:
source/Makefile
source/blender/Makefile
source/blender/SConscript
source/blender/blenkernel/BKE_bad_level_calls.h
source/blender/blenkernel/BKE_colortools.h
source/blender/blenkernel/BKE_global.h
source/blender/blenkernel/BKE_image.h
source/blender/blenkernel/BKE_material.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/BKE_object.h
source/blender/blenkernel/BKE_scene.h
source/blender/blenkernel/BKE_texture.h
source/blender/blenkernel/BKE_world.h
source/blender/blenkernel/BKE_writeavi.h
source/blender/blenkernel/SConscript
source/blender/blenkernel/bad_level_call_stubs/stubs.c
source/blender/blenkernel/intern/Makefile
source/blender/blenkernel/intern/action.c
source/blender/blenkernel/intern/blender.c
source/blender/blenkernel/intern/colortools.c
source/blender/blenkernel/intern/depsgraph.c
source/blender/blenkernel/intern/displist.c
source/blender/blenkernel/intern/effect.c
source/blender/blenkernel/intern/image.c
source/blender/blenkernel/intern/ipo.c
source/blender/blenkernel/intern/key.c
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/mball.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/node_composit.c [new file with mode: 0644]
source/blender/blenkernel/intern/node_shaders.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/packedFile.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/text.c
source/blender/blenkernel/intern/texture.c
source/blender/blenkernel/intern/world.c
source/blender/blenkernel/intern/writeavi.c
source/blender/blenlib/BLI_blenlib.h
source/blender/blenlib/BLI_jitter.h [moved from source/blender/render/intern/include/outerRenderLoop.h with 64% similarity]
source/blender/blenlib/intern/jitter.c [moved from source/blender/render/intern/source/jitter.c with 80% similarity]
source/blender/blenlib/intern/rct.c
source/blender/blenlib/intern/util.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/imbuf/intern/radiance_hdr.c
source/blender/imbuf/intern/scaling.c
source/blender/imbuf/intern/writeimage.c
source/blender/include/BIF_glutil.h
source/blender/include/BIF_interface.h
source/blender/include/BIF_previewrender.h
source/blender/include/BIF_renderwin.h
source/blender/include/BIF_screen.h
source/blender/include/BIF_space.h
source/blender/include/BIF_toets.h
source/blender/include/BIF_writeimage.h
source/blender/include/BSE_drawview.h
source/blender/include/BSE_node.h
source/blender/include/BSE_sequence.h
source/blender/include/BSE_view.h
source/blender/include/blendef.h
source/blender/include/butspace.h
source/blender/include/interface.h
source/blender/makesdna/DNA_image_types.h
source/blender/makesdna/DNA_material_types.h
source/blender/makesdna/DNA_node_types.h
source/blender/makesdna/DNA_object_types.h
source/blender/makesdna/DNA_scene_types.h
source/blender/makesdna/DNA_view3d_types.h
source/blender/python/api2_2x/Texture.c
source/blender/python/api2_2x/sceneRender.c
source/blender/quicktime/apple/quicktime_export.c
source/blender/quicktime/quicktime_export.h
source/blender/radiosity/SConscript
source/blender/radiosity/extern/include/radio.h
source/blender/radiosity/extern/include/radio_types.h
source/blender/radiosity/intern/source/Makefile
source/blender/radiosity/intern/source/radfactors.c
source/blender/radiosity/intern/source/radio.c
source/blender/radiosity/intern/source/radrender.c
source/blender/render/extern/include/RE_pipeline.h [new file with mode: 0644]
source/blender/render/extern/include/RE_render_ext.h [moved from source/blender/render/intern/include/jitter.h with 50% similarity]
source/blender/render/extern/include/RE_shader_ext.h [new file with mode: 0644]
source/blender/render/extern/include/render.h [deleted file]
source/blender/render/intern/include/RE_callbacks.h [deleted file]
source/blender/render/intern/include/envmap.h
source/blender/render/intern/include/errorHandler.h [deleted file]
source/blender/render/intern/include/gammaCorrectionTables.h
source/blender/render/intern/include/initrender.h
source/blender/render/intern/include/pixelblending.h
source/blender/render/intern/include/pixelshading.h
source/blender/render/intern/include/renderHelp.h [deleted file]
source/blender/render/intern/include/render_types.h [moved from source/blender/render/extern/include/render_types.h with 60% similarity]
source/blender/render/intern/include/rendercore.h
source/blender/render/intern/include/renderdatabase.h [new file with mode: 0644]
source/blender/render/intern/include/renderpipeline.h [moved from source/blender/render/intern/include/renderPreAndPost.h with 57% similarity]
source/blender/render/intern/include/shadbuf.h
source/blender/render/intern/include/texture.h
source/blender/render/intern/include/vanillaRenderPipe.h [deleted file]
source/blender/render/intern/include/vanillaRenderPipe_types.h [deleted file]
source/blender/render/intern/include/zblur.h [deleted file]
source/blender/render/intern/include/zbuf.h
source/blender/render/intern/include/zbuf_types.h [deleted file]
source/blender/render/intern/include/zbufferdatastruct.h [deleted file]
source/blender/render/intern/include/zbufferdatastruct_types.h [deleted file]
source/blender/render/intern/source/RE_callbacks.c [deleted file]
source/blender/render/intern/source/convertblender.c [new file with mode: 0644]
source/blender/render/intern/source/edgeRender.c
source/blender/render/intern/source/envmap.c
source/blender/render/intern/source/errorHandler.c [deleted file]
source/blender/render/intern/source/gammaCorrectionTables.c
source/blender/render/intern/source/imagetexture.c
source/blender/render/intern/source/initrender.c
source/blender/render/intern/source/pipeline.c [new file with mode: 0644]
source/blender/render/intern/source/pixelblending.c
source/blender/render/intern/source/pixelshading.c
source/blender/render/intern/source/ray.c
source/blender/render/intern/source/renderHelp.c [deleted file]
source/blender/render/intern/source/renderPreAndPost.c [deleted file]
source/blender/render/intern/source/rendercore.c
source/blender/render/intern/source/renderdatabase.c
source/blender/render/intern/source/shadbuf.c
source/blender/render/intern/source/texture.c
source/blender/render/intern/source/vanillaRenderPipe.c [deleted file]
source/blender/render/intern/source/zblur.c [deleted file]
source/blender/render/intern/source/zbuf.c
source/blender/render/intern/source/zbufferdatastruct.c [deleted file]
source/blender/src/Makefile
source/blender/src/SConscript
source/blender/src/butspace.c
source/blender/src/buttons_editing.c
source/blender/src/buttons_scene.c
source/blender/src/buttons_shading.c
source/blender/src/drawimage.c
source/blender/src/drawnode.c
source/blender/src/drawseq.c
source/blender/src/drawview.c
source/blender/src/editmesh_mods.c
source/blender/src/editnode.c
source/blender/src/editobject.c
source/blender/src/editscreen.c
source/blender/src/fluidsim.c
source/blender/src/glutil.c
source/blender/src/header_buttonswin.c
source/blender/src/header_image.c
source/blender/src/header_info.c
source/blender/src/header_node.c
source/blender/src/headerbuttons.c
source/blender/src/interface.c
source/blender/src/interface_icons.c
source/blender/src/interface_panel.c
source/blender/src/preview.blend.c [new file with mode: 0644]
source/blender/src/previewrender.c
source/blender/src/renderwin.c
source/blender/src/screendump.c
source/blender/src/seqaudio.c
source/blender/src/sequence.c
source/blender/src/space.c
source/blender/src/toets.c
source/blender/src/toolbox.c
source/blender/src/transform_conversions.c
source/blender/src/transform_manipulator.c
source/blender/src/usiblender.c
source/blender/src/view.c
source/blender/src/writeavicodec.c
source/blender/src/writeimage.c
source/blender/src/writemovie.c
source/blender/yafray/intern/export_File.cpp
source/blender/yafray/intern/export_Plugin.cpp
source/blender/yafray/intern/yafray_Render.h
source/creator/SConscript
source/creator/creator.c
source/nan_compile.mk