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
2017-08-17Improved triangle sampling for mesh lightsStefan Werner
This implements Arvo's "Stratified sampling of spherical triangles". Similar to how we sample rectangular area lights, this is sampling triangles over their solid angle. It does significantly improve sampling close to the triangle, but doesn't do much for more distant triangles. So I added a simple heuristic to switch between the two methods. Unfortunately, I expect this to add render time in any case, even when it does not make any difference whatsoever. It'll take some benchmarking with various scenes and hardware to estimate how severe the impact is and if it is worth the change. Reviewers: #cycles, brecht Reviewed By: #cycles, brecht Subscribers: Vega-core, brecht, SteffenD Tags: #cycles Differential Revision: https://developer.blender.org/D2730
2017-08-10Cycles: De-duplicate trace-time object visibility calculationSergey Sharybin
We already have enough files to worry about in BVH builders. no need to add yet another copy-paste code which is tempting to be running out of sync.
2017-03-29Cycles: Make all #include statements relative to cycles source directorySergey Sharybin
The idea is to make include statements more explicit and obvious where the file is coming from, additionally reducing chance of wrong header being picked up. For example, it was not obvious whether bvh.h was refferring to builder or traversal, whenter node.h is a generic graph node or a shader node and cases like that. Surely this might look obvious for the active developers, but after some time of not touching the code it becomes less obvious where file is coming from. This was briefly mentioned in T50824 and seems @brecht is fine with such explicitness, but need to agree with all active developers before committing this. Please note that this patch is lacking changes related on GPU/OpenCL support. This will be solved if/when we all agree this is a good idea to move forward. Reviewers: brecht, lukasstockner97, maiself, nirved, dingto, juicyfruit, swerner Reviewed By: lukasstockner97, maiself, nirved, dingto Subscribers: brecht Differential Revision: https://developer.blender.org/D2586
2017-03-27Cycles: First implementation of shadow catcherSergey Sharybin
It uses an idea of accumulating all possible light reachable across the light path (without taking shadow blocked into account) and accumulating total shaded light across the path. Dividing second figure by first one seems to be giving good estimate of the shadow. In fact, to my knowledge, it's something really similar to what is happening in the denoising branch, so we are aligned here which is good. The workflow is following: - Create an object which matches real-life object on which shadow is to be catched. - Create approximate similar material on that object. This is needed to make indirect light properly affecting CG objects in the scene. - Mark object as Shadow Catcher in the Object properties. Ideally, after doing that it will be possible to render the image and simply alpha-over it on top of real footage.
2017-01-23Cycles: Make object flag names more obvious that hey are object and not shaderSergey Sharybin
2017-01-20Fix compile error (-Werror=float-conversion).Thomas Dinges
2016-10-24Cycles: Cleanup, styleSergey Sharybin
2016-08-28Fix T49163: let Cycles only hide particles with missing motion data, not ↵Brecht Van Lommel
regular objects.
2016-08-28Fix T49167: Normals in wrong coordinate space when adaptive subdivision is usedMai Lavelle
Meshes with Cycles subdivision were being transformed to world space leading to normals to sometimes be calculated in that space, while they should be in object space. Also caused dicing to happen at the wrong rate for scaled meshes.
2016-08-09Cycles: Fix crash in empty scenesJulian Eisel
To recreate, just delete default cube and render. Simple fix, but @maiself or @sergey may want to double-check ;)
2016-08-07Cycles microdisplacement: Move displacement options from mesh to material ↵Mai Lavelle
settings Displacement is now a per material setting, which means old files will have to be updated if they had used displacement. Cool side effect of this change is material previews now show displacement. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2140
2016-08-07Cycles microdisplacement: Support for Catmull-Clark subdivision via OpenSubdivMai Lavelle
Enables Catmull-Clark subdivision meshes with support for creases and attribute subdivision. Still waiting on OpenSubdiv to fully support face varying interpolation for subdividing uv coordinates tho. Also there may be some inconsistencies with Blender's subdivision which will be resolved at a later time. Code for reading patch tables and creating patch maps is borrowed from OpenSubdiv. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2111
2016-08-06Fix for Cycles particle motion blur hiding fix.Brecht Van Lommel
My mistake in modifying the patch.
2016-08-05Cycles: hide particles with broken motion blur traces.Alexander Gavrilov
Currently cycles cannot correctly render motion blur for objects that appear or disappear during the shutter window. Until that can be fixed properly, it may be better to hide such particles rather than let them render as if they were stationary for half of the frame. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2125
2016-07-14Cleanup: comment blocksCampbell Barton
2016-06-12Fix Cycles debug build assert on some platforms, tighten checks to avoid ↵Brecht Van Lommel
this in the future.
2016-06-06Cycles: Ignore zero size instances in BVHSergey Sharybin
In certain types of animation it's possible to have some objects scaling to zero. In this case we can save render times by avoid traversing such instances. Better to do ti ahead of a time, so traversal stays simple. Reviewers: lukasstockner97, dingto, brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D2048
2016-05-28Code refactor: nodify object and mesh, but not used for XML yet.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D2016
2016-05-28Code refactor: modify mesh storage to use arrays rather than vectors, ↵Brecht Van Lommel
separate some arrays. Differential Revision: https://developer.blender.org/D2016
2016-05-17Code refactor: use shader pointers rather than shader indexes.Brecht Van Lommel
2016-04-22Cycles: Reduce verbosity of loggingSergey Sharybin
Mainly makes logging less verbose when doing progressive sampling in viewport. Such kind of verbosity is not really possible to be filtered out with `grep` so let's reshuffle few lines of code.
2016-04-20Cycles: Multi-thread object transform updateSergey Sharybin
Simple idea, use threads when dealing with "Copying Transformations to device" scene update step. Only do it if there's enough objects in the scene. Hopefully only brings less synchronization time and doesn't break anything. From tests on my desktop this brings down transform update time from 58sec to 11sec on victor_cpu.blend scene from out benchmark.
2016-03-31Cycles: Fix too many objects being considered an instanceSergey Sharybin
2016-03-25Cycles: Use dedicated BVH for subsurface ray castingSergey Sharybin
This commit makes it so casting subsurface rays will totally ignore all the BVH nodes and primitives which do not belong to a current object, making it much simpler traversal code and reduces number of intersection tests. Reviewers: brecht, juicyfruit, dingto, lukasstockner97 Differential Revision: https://developer.blender.org/D1823
2015-07-13Fix T45390: Cycles experimental displacement method ignores scaling when renderSergey Sharybin
From artists perspective it makes sense to always apply displacement in a local space. TODO: Double-check that BVH is being packed properly. From quick tests seems it's all fine, but might be missing some obvious failure still.
2015-06-13Cycles: Fix compilation error with motion blur disabled on CPUSergey Sharybin
2015-06-01Fix T44908: Blender crashes when trying to use cycles experimental displacementSergey Sharybin
The issue was caused by the reshuffle needed to make objects flags have proper object's bounding box to solve regressions in SSS objects intersecting volumes. There's actually a feedback loop happening here, which is now solved in quite naive way -- for the true displacement we consider all objects are capable of intersecting volumes, synchronize object flags prior to displacement shader tasks runs and then re-update object flags for proper bounding box. Not sure what will be the proper solution here, we can't do preliminary check of intersection for displacement shader, but on the other hand we don't really need this flag for displacement shader anyway.
2015-05-14Cycles: Fix missing camera-in-volume update when using certain render layers ↵Sergey Sharybin
configurations
2015-04-10Cycles: Add some statistics loggingSergey Sharybin
Covers number of entities in the scene (objects, meshes etc), also reports sizes of textures being allocated.
2015-03-27Cycles: Code cleanup, spaces around keywordsSergey Sharybin
This inconsistency drove me totally crazy, it's really confusing when it's inconsistent especially when you work on both Cycles and Blender sides. Shouldn;t cause merge PITA, it's whitespace changes only, Git should be able to merge it nicely.
2015-03-27Cycles: Code cleanup, prepare for strict C++ flagsSergey Sharybin
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.
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-11-19Cycles: Missed some changes in the previous hair motion blur fixSergey Sharybin
So now cases when object has both hair motion blur and deformation motion blur vector pass is all correct. We could get rid of the flag in the future, still need to look deeper into all the areas trying to find a more clear solution.
2014-10-03Cycles: Decouple object flags update to a separate update stepSergey Sharybin
This way there's much less cross-references between objects and meshes device update functions. The only thing remained s the object bounds calculation which is needed by bvh update. This could also be decoupled, but it's not that crucial yet because its's how it used to be for ages now.
2014-10-03Cycles: Implement preliminary test for volume stack update from SSSSergey Sharybin
This adds an AABB collision check for objects with volumes and if there's a collision detected then the object will have SD_OBJECT_INTERSECTS_VOLUME flag. This solves a speed regression introduced by the fix for T39823 by skipping volume stack update in cases no volumes intersects the current SSS object.
2014-10-03Cycles: Fix for non-initialized variableSergey Sharybin
2014-10-03Cycles: Speedup of kernel side camera-in-volume detectionSergey Sharybin
The idea is to only count intersections with objects which has volumetric shader and ignore all other objects. This is probably as fast as we can go without involving some forth level magic.
2014-08-13Fix T41219: Cycles backface detection doesn't work properlySergey Sharybin
Root of the issue goes back to the on-fly normals commit and the latest fix for it wasn't actually correct. I've mixed two fixes in there. So the idea here goes back to storing negative scaled object flag and flip runtime-calculated normal if this flag is set, which is pretty much the same as the original fix for the issue from me. The issue with motion blur wasn't caused by the rumtime normals patch and it had issues before, because it already did runtime normals calculation. Now made it so motion triangles takes the negative scale flag into account. This actually makes code more clean imo and avoids rather confusing flipping code in mesh.cpp.
2014-07-23Fix T41116: Motion Blur causes random black surfaces on rigged modelsSergey Sharybin
Fix T41115: Motion Blur renders Objects Black - But not in Viewport Preview This actually extends previous fix to normals and makes it all much nicer now. Worth doing some intense testing, quick one worked just fine but there always could be some corner cases.
2014-07-23Fix T41147: Static BVH shading problemSergey Sharybin
Fix T41079: Solid black render of object with negative scale and smooth shading In both cases the issue was caused by negative scaled objects with single mesh users for which scale gets applied when using static BVH. Since the on-fly normals calculation land normals for such cases weren't flipped leading them to point to a wrong direction. Added a special object flag for this, which is a bit of a bummer because now we've got less bits for real useful things, but this is the only way to get proper normals without adding more complexity in the on-fly calculations.
2014-05-19Remove two unnecessary includes.Nathan Letwory
2014-05-19Move ShadingSystem enum to shader.hNathan Letwory
Add SHADINGSYSTEM_ to enum member names, so it is clear where they are from. Revert BVHType enum changes, as there's no need for code dedup here.
2014-05-19Move BVHType and shadingsystem enums to top-level of Cycles namespace.Nathan Letwory
Easier access of BVHType and deduplication for ShadingSystem. Reviewers: dingto, brecht Differential Revision: https://developer.blender.org/D534
2014-05-09Fix T39585: cycles motion vector pass problem with curves.Brecht Van Lommel
2014-05-06Fix possible NULL pointer dereference in CyclesCampbell Barton
2014-05-04Code cleanup: avoid int/uint mixup in cyclesCampbell Barton
2014-04-26Cycles: avoid some CUDA performance on scenes without deformation motion blur.Brecht Van Lommel
2014-03-29Cycles: add support for curve deformation motion blur.Brecht Van Lommel
2014-03-29Cycles: add support for mesh deformation motion blur.Brecht Van Lommel