Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-01-31Fix T43496: Infinite loop in kernel when using surface attribute for volumeSergey Sharybin
The issue was caused bu the optimization in surface attributes for cases when there's only a volume shader used. Some attributes doesn't make sense in that case and were skipped from calculation. However, it is possible that kernel would still try to access them (because of the shader setup etc). Prevented an infinite loop in the kernel now, which should not have much affect on regular renders.
2015-01-30Cycles: Don't perform re-intersection if ray distance is zeroSergey Sharybin
It is possible that ray distance will be zero which would make intersection refinement return NaN as the refined position which would later lead to all sort of mathematical issues. Don't think there are ways to improve intersection accuracy for such rays so just return original intersection coordinate. This should fix T43475. TODO: Need to look into possible issues in Ashikhmin BSDF which might return zero-length reflected/transmitted ray?
2015-01-30Cycles: Use bool for is_lead arraySergey Sharybin
This way we save 3 bytes per BVH node while building BVH, which overall gives 100Mb memory save when preparing Frank for render. It's not really much comparing to overall memory usage (which is 11Gb during scene preparation here) but still doesn't harm to have solved.
2015-01-30Cycles: Use fast math functions in hair BSDFSergey Sharybin
Precision of the fast functions seems to be enough in there and since the code was heavily using inverse trigonometric functions this change gives few percent speedup on Victor's hair. From the tests files from ctests storage doesn't have any meaningful difference, hair on Victor is all below 4% absolute error and only few pixels are exceeding 1% absolute difference. In any case, let it be as it is currently so it allows us to have fast math file in sources for it's further evaluation and possible usage in other areas as well.
2015-01-30Cycles: Add fast math function moduleSergey Sharybin
It is based on fmath.h from OIIO and could be used to give some speedup in areas where absolute accuracy is not so critical.
2015-01-30Cycles: Remove confusing labels usage in hair BSDFSergey Sharybin
BSDF sampler function shouldn't give labels it's not intended to do. That said reflection shouldn't give transmission ray and transmission give reflection ray. Added an assert in the transmission sampling but reflection still needs some investigation because even after recent fixes the check for projection onto the reflected ray could give both positive and negative values. It shouldn't have any affect on renders just makes internal logic consistent and unleashes an issue to be investigate further.
2015-01-30Fix T43458: Crashes with hair transmission BSDFSergey Sharybin
Hair BSDF did not have proper behavior because of non-normalized tangent direction (which it expected to be normalized).This lead to wrong labels being returned by the hair BSDF samplers.
2015-01-29Cycles: Fix for bump node not working with object texture mappingSergey Sharybin
This was intended to be in the original patch of texco copy from object.
2015-01-29cleanup: pep8Campbell Barton
also remove empty class parenthesis
2015-01-28OSL: Updates for OSL 1.5 API changes.Thomas Dinges
* create() and destroy() are deprecated since OSL 1.5, use regular constructors / destructors.
2015-01-27Fix T43388 Cycles Baking gives different results than Cycles RenderDalai Felinto
Reported and nailed down by Michale (MeshLogic). The code that fixes this was commented out, but Brecht gave the go ahead to use it even if it is not the real solution
2015-01-27Fix T43346: Window mapping is wrong in preview renderSergey Sharybin
The issue was caused by the whole viewplane used for mapping calculation which would for sure lead to differences between final camera render and viewport render from the camera view. This commit makes it so window texture mapping is the same as final render when viewing from the camera in viewport render. It's not totally clear what's the right thing to do when viewport is not in the camera view mode and that part is left unchanged.
2015-01-27Cycles: Support texture coordinate from another objectSergey Sharybin
This is the same as blender internal's texture mapping from another object, so this way it's possible to control texture space of one object by another. Quite straightforward change apart from the workaround for the stupidness of the dependency graph. Now shader has flag telling that it depends on object transform. This is the simplest way to know which shaders needs to be tagged for update when object changes. This might give some false-positive tags now but reducing them should not be priority for Cycles and rather be a priority to bring new dependency graph. Also GLSL preview does not support using other object for mapping. This is actually correct for BI shading as well and to be addressed as a part of general GLSL viewport improvements since it's not really clear how to support this in GLSL. Reviewers: brecht, juicyfruit Subscribers: eyecandy, venomgfx Differential Revision: https://developer.blender.org/D1021
2015-01-23Cycles: Don't re-generate blackbody/beckmann tables on every shaders updateSergey Sharybin
This commit makes it so blackbody and beckmann lookup tables are stored on CPU after being generated and then only being copied to the device if needed. This solves lag of viewport update when tweaking shader tree by using 266KB of CPU memory.
2015-01-22Cycles: Fix compilation error with some compilersSergey Sharybin
Not sure why this was not visible previously, but the change is logical anyway.
2015-01-22Fix T43357: Cycles crash with spatial splits after recent changesSergey Sharybin
When doing BVH leaf node split we can't rely on leaf size limit from BVH parameters in case there's spatial split enabled. This commit basically reverts previous optimization change here which used stack-allocated memory and uses heap-allocated vector now. It's possible to boost this code up again by using own allocator.
2015-01-22Cycles: Add assert check to triangle packingSergey Sharybin
Handy for troubleshooting.
2015-01-22Fix T43120: Cycles mapping node rotation order is different from viewportSergey Sharybin
Root of the issue goes to the fact that since the very beginning Cycles was using ZYX euler rotation for mapping shader node but blender was always using XYZ euler rotation. This commit switches Cycles to use XYZ euler order and adds versioning code to preserve backward compatibility. There was no really nice solution here because either we're ending up with versioning code or we'll need to deal with all sort of exceptions from blender side in order to support ZYX order for the mapping node. The latest one is also creepy from the other render engines points of view -- that might break compatibility with existing bindings or introduce some extra headache for them in the future. This could also become a PITA for us with need of supporting all sort of weird and wonderful exceptions in the refactored viewport project. NOTE: This commit breaks forward compatibility, meaning opening new files in older blender might not give proper result if Mapping node was used. Also, libraries are to be re-saved separately from the scene file, otherwise versioning code for them wouldn't run if scene file was re-saved with new version of blender. Reviewers: brecht, juicyfruit, campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D973
2015-01-22Cleanup / Cycles: Code de-duplication for graph node relinking.Thomas Dinges
Differential Revision: https://developer.blender.org/D1018
2015-01-21Cycles: Support tube projection for imagesSergey Sharybin
This way Cycles finally becomes feature-full on image projections compared to Blender Internal and Gooseberry Project Team could finally finish the movie.
2015-01-21Cycles: Support sphere mapping for the image textureSergey Sharybin
2015-01-21Cycles: Optimization for black world backgroundsThomas Dinges
* If a Background node is set to a black color or zero strength, it now gets removed from the shader graph. * In case the graph is empty (no background node), the kernel will skip evaluating it and save some rendertime. This can help quite a bit in scenes, where the majority of the image consists of a black background. Example: http://www.pasteall.org/pic/show.php?id=82650 In this case the render is ~16% faster. Differential Revision: https://developer.blender.org/D972
2015-01-20Support in Cycles for the extra spiral keys in hair paths.Lukas Tönne
2015-01-20Fix T42212: Singular reflection pass is incorrect in regular path tracerSergey Sharybin
Issue seems to be caused by not totally proper pdf and eval values for this closure. Changed it so they reflect to ggx/beckmann reflection with roughness set to 0, which is effectively the same as the sharp reflection.
2015-01-19Make use/computation of lnors consistant.Bastien Montagne
Issue was, when requesting (building) lnors for a mesh that has autosmooth disabled, one would expect to simply get vnors as lnors. Until now, it wasn't the case, which was bad e.g. for normal projections of loops in recent remap code (projecting along split loop normals when you would expect projection along vertex normals...). Also, removed the 'angle' parameter from RNA's `mesh.calc_normals_split`. This should *always* use mesh settings (both autosmooth and smoothresh), otherwise once again we'd get inconsistencies in some cases. Will update fbx and obj addons too.
2015-01-19Cycles: Correction to camera in volume detection after clipping commitSergey Sharybin
The check should also become aware of the fact were using clipping plane instead of clipping sphere now.
2015-01-19Fix T43311: using displacement shader crashes blenderSergey Sharybin
Issue was caused by wrong order of scene device update, which could lead to missing object flags in shader kernel. This patch solves a bit more than that making sure objects flags are always properly updated, so adding/removing volume BSDF will properly reflect on viewport where camera might become being in volume and so.
2015-01-19Cycles: Avoid crash in statistics when canceling BVH buildSergey Sharybin
Also add missing render_time initialization in progress.
2015-01-19Viewport: Add adjustable safe areas, 3d-view & VSECampbell Barton
Also adds safe-area presets. D325 by Diego Gangl with own edits.
2015-01-16Cycles: Fix compilation error with latest OSLSergey Sharybin
They went back from string_view to string for compiler options. Still having linking errors here, but maybe others will be more lucky to fully compiler blender with new OSL.
2015-01-16Cycles: Cleanup and optimization comment updateSergey Sharybin
2015-01-16Cycles: Minot cleanup, save some cpu tics per curve segment exportSergey Sharybin
2015-01-16Cycles: Minor typo fix in debug printSergey Sharybin
2015-01-16Cycles; Correction to previous debug print to survive prints from multiple ↵Sergey Sharybin
threads This commit basically makes it so statistics print from different BVH trees are not being interleaved with each other. Glog ensures this when debug print is done as a single put to stream operator.
2015-01-16Cycles: Report BVH statistics after buildSergey Sharybin
2015-01-16Cycles: Fix stupid typo in the previous commitSergey Sharybin
2015-01-15Cycles: Tweak to leaf creation criteria in all BVH typesSergey Sharybin
Since leaf node gets split further into per-primitive type leaves old check for number of curves became a bit ridiculous -- it might lead to two leaf nodes each of which would contain only one curve primitive (one motion curve and one regular curve). This lead to quite dramatic slowdown for Victor model -- around 40%, which is totally unacceptable. This commit is aimed to prevent such situation and from quick render test it seems victor is now back to normal render time. Further testing is needed tho. There are also other ideas about splitting the node, will need to look into them next.
2015-01-15Cycles: Fix compilation error happened after recent render time commitSergey Sharybin
2015-01-15Cycles: Fix equiangular textures after recent commitSergey Sharybin
Just wrong constant used, names are indeed too close to each other.
2015-01-15Make grumpy gcc happy (double to float conversion...).Bastien Montagne
2015-01-15Small change for the new Lat/Long properties.Thomas Dinges
We use upper case for properties.
2015-01-14Cycles: Adding field-of-view options to the equirectangular panorama cameraLukas Stockner
This patch adds the option to set minimum/maximum latitude/longitude values for the equirectangular panorama camera in Cycles, as discussed in T34400. The separate functions in kernel_projection.h are needed because the regular ones are also used as helper functions for environment map sampling. Reviewers: #cycles, sergey Reviewed By: #cycles, sergey Subscribers: dingto, sergey, brecht Differential Revision: https://developer.blender.org/D960
2015-01-14Cycles: Ignore preprocessing time in ETA calculationLukas Stockner
This patch makes Cycles ignore the time spent in BVH construction etc. when estimating the remaining time. Considering that the remaining time is calculated based on the average time per tile so far, as far as I understand it makes no sense to include the preprocessing time. Reviewers: sergey, #cycles Reviewed By: sergey, #cycles Subscribers: sergey Projects: #cycles Differential Revision: https://developer.blender.org/D895
2015-01-14Fix T42621: Glossy world ray visibility affects on transmission raysSergey Sharybin
There seems to be inconsistency in flags checks in Cycles kernel. In the interface glossy means "Glossy Reflection" and it is properly taken into account when doing visibility check in BVH traversal. The check in indirect background/light emission was treating this flags as "any of glossy reflection or transmission" which is kind of weird. Made it so emission code follows ray visibility assumptions in other parts of the kernel now.
2015-01-14Fix T43195: Cycles uses clipping sphere instead of clipping planeSergey Sharybin
Basically the title tells it all, now Cycles uses proper clipping plane, matching other render engines.
2015-01-14Cycles: Fix QBVH refit nodes not setting primitive type properlySergey Sharybin
2015-01-13Fix T43156: Cycles incorrect final render, proper viewport with moblur disabledSergey Sharybin
Really stupid issue caused by typo in bitfield bit lead to bit conflict, Not sure how it was done, could be some bad merge conflict resolve in the original commit or just pure man stupidnes. This is a nice example when having set of small test render scenes hooked to the ctest would really help. It's probably not that stopper issue (even tho still quite bad) since it was made 2 months ago. But if we ever do 'a' this time it's a nice change to include.
2015-01-12Cycles: Fix crash after recent BVH changes on empty BVH treesSergey Sharybin
It's apparently not nice to access 0th element of zero-size vector in C++.
2015-01-12Cycles: Fix compilation error on platforms without SSE supportSergey Sharybin
Overview this in one of the previous BVH commits.
2015-01-12Cycles: Add leaf primitives sanity check asserts to the kernelSergey Sharybin
This way we'll notice that leaf splitting didn't happen correct pretty easily in debug builds. There'll be absolutely no impact on release builds.