CCGSubsurf has already a function to disable calculation of normals,
but seems it wasn't used. This patch changes subsurf UV and
subsurf_calculate_limit_positions() to not calculate normals, and also
not allocate space for them.
Should be no functional changes, just a small speedup/less memory use
during subdivision for these cases.
Code review link:
http://codereview.appspot.com/5558058/
By default lighting from the world is computed solely with indirect light
sampling. However for more complex environment maps this can be too noisy, as
sampling the BSDF may not easily find the highlights in the environment map
image. By enabling this option, the world background will be sampled as a lamp,
with lighter parts automatically given more samples.
Map Resolution specifies the size of the importance map (res x res). Before
rendering starts, an importance map is generated by "baking" a grayscale image
from the world shader. This will then be used to determine which parts of the
background are light and so should receive more samples than darker parts.
Higher resolutions will result in more accurate sampling but take more setup
time and memory.
Patch by Mike Farnsworth, thanks!
The structs stored in the anonymous void *default_value in bNodeSocket are now handled completely inside node_socket.c. All allocation/freeing/duplicating for this has been replaced by the appropriate calls to generic API functions (declared in NOD_socket.h).
This will make the default value handling more reliable for future node socket code. Group socket copying and value conversion has also been moved into the generic socket API file.
Detect feedback loop and do not bake to images detected in this loop and show
nice warning message in such cases.
It's a way which wouldn't overcomplicate code trying to duplicate images and so
without real benefit.
=============
* refactoring, separate common functionality to functions.
* enable each uv to check independently for other stitchable uvs. This allows to limit stitch uvs belonging to the same vertex, while previously this was impossible.
* made changes to island rotation when calculated from sole uvs when using midpoint stitch. It should now be evenly distributed across islands.
There are still some glitches with vertices that have multiple uvs per island for the snap island + midpoint stitch combination. The solution is to precalculate the static island rotation/translation in this case. If I haven't managed to make this work correctly I may turn this combination off before release. It's more like an extra feature than really necessary.
* Some tweaks to the modifier UI
* Hide sharpness property, instead of greying out.
The policy is to use greying out when a property depends on a boolean, if it depends on an enum item, hide it.