Bake from multires mesh
authorSergey Sharybin <sergey.vfx@gmail.com>
Sun, 5 Jun 2011 20:54:04 +0000 (20:54 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Sun, 5 Jun 2011 20:54:04 +0000 (20:54 +0000)
commita1c22262fef25de91dbafd7b401e349538dc3d61
treeeeb0092df131068785f7d0e03a5f47c111fb04a9
parenta580b5ec80d5c0744b63f9b7e8048c0f16681a38
Bake from multires mesh
=======================

Added option to baked named "Bake From Multires" which is avaliable for
normals baking and displacement baking.

If this option is enabled, then no additional hi-res meshes and render
structures would be created . This saves plenty of memory and meshes
with millions of faces could be successfully baked in few minutes.

Baking happens from highest level against viewport subdivision level,
so workflow is following:
  - Set viewport level to level at which texture would be applied
    during final rendering.
  - Choose Displacement/Normals baking.
  - Enable "Bake From Multires" option.
  - You're ready to bake.

Displacement baker had aditional option named "Low Resolution Mesh".
This option is used to set if you want texture for realtime (games)
usage.

Internally it does the following:
  - If it's disabled, displacement is calculated from subdivided
    viewport level, so texture looks "smooth" (it's how default
    baked works).
  - If it's enabled, dispalcement is calculated against unsubdivided
    viewport levels. This leads to "scales". This isn;t useful for
    offline renders much, but very useful for creating game textures.

Special thanks to Morten Mikkelsen (aka sparky) for all mathematics
and other work he've done fr this patch!
12 files changed:
release/scripts/startup/bl_ui/properties_render.py
source/blender/blenkernel/BKE_multires.h
source/blender/blenkernel/intern/customdata.c
source/blender/blenkernel/intern/multires.c
source/blender/blenlib/BLI_math_geom.h
source/blender/blenlib/intern/math_geom.c
source/blender/editors/object/object_bake.c
source/blender/imbuf/IMB_imbuf.h
source/blender/imbuf/intern/filter.c
source/blender/makesdna/DNA_scene_types.h
source/blender/makesrna/intern/rna_scene.c
source/blender/render/intern/source/rendercore.c