Blender Git Commits

Blender Git "bake-cycles" branch commits.

Page: 4 / 8

April 23, 2014, 00:32 (GMT)
Cycles-Bake: fix for regression introduced on: "[review] restoring SAMPLING_PATTERN_CMJ test and adding a
is_baking variable"

The bug was: scenes with more than one object will misbehave.

We can't get the object id before the scene is updated, so we now
set the baking variable before we call bake_manager->init.
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] rename _new.c to _api.c
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] building in Linux & cleanup (by Campbell Barton)
April 23, 2014, 00:32 (GMT)
Cycles-Bake: UI - align width and height so to use Drag&Edit

Fix #19
April 23, 2014, 00:32 (GMT)
Cycles-Bake: Renaming 'Custom-Cage' to 'Cage'

As suggested by Andy Davies (metallandy):

The Custom cage title is not correct. Custom cages are when the user has
modified the topology of the cage by moving verts/topology and meshes
under this slot do not need to have modified verts/topology in order to
work. They could use a regular mesh or have one imported from another
application so just calling it Cage mesh or Cage object would be
perfect. Calling it cage mesh goes against convention for all other 3d
applications so it's just going to cause confusion.
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] float promotion cleanup, store swizzle sign as float
April 23, 2014, 00:32 (GMT)
Cycles-Bake: Move "Output File" section to the bottom of the bake panel.

The reason for this is heirarchy. During the order of operations the output file is likely one of the last
things you'll set. First the type and width, then margin, then specifc settings, and finally the output file.

Doing this also helps avoid breaking up the settings that are specific to baking, such as the Type and "Selected to Active".
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] store u and v as uv[2]
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] using math_geom resolve_tri_uv_v3 function
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] small changes in Cycles as suggested by Brecht van Lommel
April 23, 2014, 00:32 (GMT)
Cycles-Bake: divide the in/direct passes by the color passes

Otherwise the in/direct passes are 'contamined' by the texture/color of
the faces.
April 23, 2014, 00:32 (GMT)
Cycles-Bake: prevent crash when closing Blender
April 23, 2014, 00:32 (GMT)
Cycles-Bake: Using aa_samples instead of samples
April 23, 2014, 00:32 (GMT)
Cycles-Bake: fix rna warnings
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] style cleanup
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] style cleanups (Python)
April 23, 2014, 00:32 (GMT)
Cycles-Bake: [review] style cleanups (Cycles)
April 23, 2014, 00:29 (GMT)
Cycles-Bake: 1st round of code-review

For the individual commits:
https://github.com/dfelinto/blender-git/tree/bake-cycles-0.1

Documentation:
http://wiki.blender.org/index.php/User:Dfelinto/CyclesBaking

Open Issues:
https://github.com/dfelinto/blender-git/issues?labels=bake-cycles&page=1&state=open

Supported Features:
------------------
* Margin
* User Interface (no more need to fiddle with Python scripts)
* Selected to Active
* Cage Extrusion
* Custom Cage
* File Formats (save as PNG, JPG, OpenEXR, Tiff, Targa and BMP)
* Color Depth/Mode: RGB/RGBA - 8/16/32
* Normal swizzle (change the axis that gets mapped to RGB)
* Normal space (save as tangent, world, object)

Supported Passes:
-----------------
Data Passes
* Normal
* UV
* Diffuse/Glossy/Transmission/Subsurface/Emit Color

Light Passes
* AO
* Combined
* Shadow
* Diffuse/Glossy/Transmission/Subsurface/Emit Direct/Indirect
* Environment

Implementation Notes:
---------------------
Baking for Cycles was implemented in two fronts:

In Blender we created a new operator that will try to bake using the current engine.
So far only Cycles has this implemented, but other engines (even the Blender Internal) could go through this API/pipeline.
The operator is responsible for the image handling, normal space
transformation, populate the UVs, loop over faces, ...

In Cycles we extended the baking functionality available for environment
and displacement for the other render passes (not all of them since some
of them doesn't make sense for baking).

The API is simple. Blender send a populated array of BakePixels to the
renderer, and gets back an array of floats with the result.

BakePixel is tjhe following struct:

struct BakePixel {
int primitive_id;
float u, v;
float dudx, dudy;
float dvdx, dvdy;
};

intern/cycles/blender/addon/__init__.py
intern/cycles/blender/addon/engine.py
intern/cycles/blender/addon/properties.py
intern/cycles/blender/addon/ui.py
intern/cycles/blender/blender_python.cpp
intern/cycles/blender/blender_session.cpp
intern/cycles/blender/blender_session.h
intern/cycles/kernel/kernel_accumulate.h
intern/cycles/kernel/kernel_displace.h
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_types.h
intern/cycles/render/CMakeLists.txt
intern/cycles/render/bake.cpp
intern/cycles/render/bake.h
intern/cycles/render/film.cpp
intern/cycles/render/integrator.cpp
intern/cycles/render/integrator.h
intern/cycles/render/scene.cpp
intern/cycles/render/scene.h
intern/cycles/render/session.cpp
intern/cycles/render/session.h
source/blender/blenkernel/BKE_mesh.h
source/blender/blenkernel/intern/mesh.c
source/blender/editors/object/CMakeLists.txt
source/blender/editors/object/object_bake.c
source/blender/editors/object/object_bake_new.c
source/blender/editors/object/object_intern.h
source/blender/editors/object/object_ops.c
source/blender/makesdna/DNA_scene_types.h
source/blender/makesrna/RNA_enum_types.h
source/blender/makesrna/intern/rna_main_api.c
source/blender/makesrna/intern/rna_render.c
source/blender/makesrna/intern/rna_scene.c
source/blender/render/CMakeLists.txt
source/blender/render/extern/include/RE_bake.h
source/blender/render/extern/include/RE_engine.h
source/blender/render/intern/source/bake.c
source/blender/render/intern/source/bake_new.c
source/blender/render/intern/source/external_engine.c
source/blender/windowmanager/WM_api.h
April 23, 2014, 00:18 (GMT)
Cycles-Bake: Selected to Active - using global coordinates

The user no longer needs to apply the transformation before baking
April 23, 2014, 00:18 (GMT)
Cycles-Bake: remove unused code
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021