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-10-05Code refactor: split displace/background into separate kernels, remove luma.Brecht Van Lommel
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-07Cycles: Cleanup, space after keywordSergey Sharybin
2017-07-03Fix T51855: Cycles emssive objects with NaN transform break lighting.Brecht Van Lommel
2017-05-17Revert "Cycles: Fix wrong shading on GPU when background has NaN pixels and ↵Sergey Sharybin
MIS enabled" This reverts commit 581c81901363176b1ce775472ea7c9f97ee504a9. Seems we do need to do finite check early on, this is incoming.
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-08Cycles: Add names to buffer allocationsMai Lavelle
This is to help debug and track memory usage for generic buffers. We have similar for textures already since those require a name, but for buffers the name is only for debugging proposes.
2017-02-13Cycles: Fix wrong shading on GPU when background has NaN pixels and MIS enabledSergey Sharybin
Quite simple fix for now which only deals with this case. Maybe we want to do some "clipping" on image load time so regular textures wouldn't give NaN as well.
2016-11-12Fix T49985: cycles standalone XML missing distant lights.Brecht Van Lommel
2016-11-06Cycles: Fix T49952: Bad MIS sampling of backgrounds with single bright pixelsLukas Stockner
With this fix, using a MIS map resolution equal to the image size for closest imterpolation or twice the size for linear interpolation gets rid of all fireflies. Previously, a much higher resolution was needed to get acceptable noise levels.
2016-10-29Cycles: Implement texture coordinates for Point, Spot and Area LampsLukas Stockner
When using the Normal output of the Texture Coordinate node on Point and Spot lamps, the coordinates now depend on the rotation of the lamp. On Area lamps, the Parametric output of the Geometry node now returns UV coordinates on the area lamp. Credit for the Area lamp part goes to Stefan Werner (from D1995).
2016-09-14Cycles: Also support the constant emission speedup for mesh lightsLukas Stockner
Reviewers: brecht, sergey, dingto, juicyfruit Differential Revision: https://developer.blender.org/D2220
2016-09-11Cycles: Replace object index hack with actual checks for SD_TRANSFORM_APPLIEDMai Lavelle
Using ones complement for detecting if transform has been applied was confusing and led to several bugs. With this proper checks are made. Also added a few transforms where they were missing, mostly affecting baking and displacement when `P` is used in the shader (previously `P` was in the wrong space for these shaders) Also removed `TIME_INVALID` as this may have resulted in incorrect transforms in some cases. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2192
2016-09-09Cycles: Don't run full shader evaluation for constant emission lampsLukas Stockner
Most of the time, Lamps in Cycles are just a constant emission closure, no texturing etc. Therefore, running a full shader evaluation is wasteful. To avoid that, Cycles now detects these constant emission shaders and stores their value in the lamp data along with a flag in the shader. Then, at runtime, if this flag is set, the lamp code just uses this value and only runs the full shader evaluation if it is neccessary. In scenes with a lot of lamps and with "Sample all direct/indirect" enabled, this saves up to 20% of rendering time in my tests. Reviewers: #cycles Differential Revision: https://developer.blender.org/D2193
2016-09-02Fix T49180: Cycles MIS Map for Animated Environment Texture Movie Doesn't ↵Sergey Sharybin
Update on Frame Change Not really ideal fix at all, but we are at RC today, so better to play really safe.
2016-08-03Fix T49010: Portals don't work in recent Blender versionsSergey Sharybin
2016-07-28Cycles: Fix missing mesh flags update when tweaking shadersSergey Sharybin
This is a bit weak, but better than tagging whole mesh manager for update. Maybe we'll solve such dual-look up in the future. This commit finally solves T48963: Noise when changing Diffuse node to Emission node
2016-07-28Cycles: De-duplicate more checks around light emisive meshesSergey Sharybin
Once again, should be no functional changes.
2016-07-28Cycles: De-duplicate check for MIS shaders in meshesSergey Sharybin
Should be no functional changes.
2016-07-28Cycles: Add some extra logging for light debuggingSergey Sharybin
2016-07-28Fix T48790: Cycles render bug with zero strength lights.Brecht Van Lommel
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-22Code refactor: nodify Cycles shader and lights.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D2016
2016-05-18Fix issue in with multiple importance sampling in recent code refactor.Brecht Van Lommel
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-02-07Cycles: Fix access uninitialized light after recent refactor/fixesSergey Sharybin
2016-02-07Cycles: Refactor the way how we exclude light from the deviceSergey Sharybin
This unifies things around ignoring light due to lack of scene contribution or due to other optimization tricks.
2016-02-06Cycles: Solve issues with auto-disabled MISSergey Sharybin
There were two issues: 1. Memory leak: std:;erase does not call delete on the pointer (which is actually a good idea), 2. After MIS was disabled in viewport render there was no way to bring MIS back. Now instead of removing light from the scene data we kind of tagging it for an ignore. Possible cleanup would be to add Light::is_enabled and use that instead of passing weird and wonderful function arguments.
2016-02-06Cycles: Auto disable World MIS, if we only use a simple color.Thomas Dinges
When World MIS is enabled by the user, we now check if we actually need it. In case of a simple node setup (no procedurals, no HDRs..) we auto disable MIS internally to save render time. This change is important for upcoming default changes.
2015-06-28Fix T45227: Light optimization commit broke world MISSergey Sharybin
2015-06-27Cycles: Ignore light which has no contribution to the sceneSergey Sharybin
This commit makes it so light which has zero energy or doesn't has emission shader at all is being ignored by the path tracing.
2015-06-26Cleanup: Fix a typo in world MIS.Thomas Dinges
Found by Lukas Stockner, thanks!
2015-05-14Cycles: Resize light_data after possible light removal.Thomas Dinges
2015-04-27Cycles: Added support for light portalsLukas Stockner
This patch adds support for light portals: objects that help sampling the environment light, therefore improving convergence. Using them tor other lights in a unidirectional pathtracer is virtually useless. The sampling is done with the area-preserving code already used for area lamps. MIS is used both for combination of different portals and for combining portal- and envmap-sampling. The direction of portals is considered, they aren't used if the sampling point is behind them. Reviewers: sergey, dingto, #cycles Reviewed By: dingto, #cycles Subscribers: Lapineige, nutel, jtheninja, dsisco11, januz, vitorbalbio, candreacchio, TARDISMaker, lichtwerk, ace_dragon, marcog, mib2berlin, Tunge, lopataasdf, lordodin, sergey, dingto Differential Revision: https://developer.blender.org/D1133
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, prepare for strict C++ flagsSergey Sharybin
2015-03-16Fix T43999: MIS for environment broken after multi-threading commitSergey Sharybin
Typo in task start row calculation.
2015-03-12Cycles: Make Background MIS building threadedThomas Dinges
Use multiple threads for building the MIS table, if the resolution is higher than 512. Also replace division by cdf_total, with a inverse multiplication by cdf_total_inv. This gives further speedup. On my Macbook (8 CPU threads) this improves the time to build the table: Resolution 4096: From 0.16s to 0.03s Resolution 8096: From 0.61s to 0.11s This especially helps to reduce the scene update time, when tweaking world shader while viewport rendering is running. Patch by Sergey and myself. Differential Revision: https://developer.blender.org/D1159
2015-02-19Cycles: Reduce memory used by background light updateSergey Sharybin
Simple change: just get rid of intermediate data a bit earlier, before final pixels array is being allocated. This gives around 30% of memory save during light update (this is about 60meg in the frank sheep file i'm using here). This isn't really visible by artists a lot, because actual spike happens on BVH construction. But it doesn't mean we shouldn't be accurate with memory usage in other areas.
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-11-08Add safe_normalize to cycles, avoid checking length firstCampbell Barton
This won't give any big speedup, just avoids redundant sqrtf and may be useful in future. Differential Revision: https://developer.blender.org/D880
2014-11-06Cycles: Add "Max Bounce" control for lampsThomas Dinges
With this setting, we can limit the influence of a lamp to a certain amount of bounces. 0 = Only direct light contribution 1 = 1 light bounce ... Differential revision: https://developer.blender.org/D860 You can find an example render in the release logs: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.73/Cycles
2014-09-05Cycles: Initial support for volume ray visibility.Thomas Dinges
This adds a new "Volume Scatter" option to the "Ray Visibility" panels and can be used to e.g. exclude lamps from having an influence on the volume. See release logs for an example: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Cycles Differential revision: https://developer.blender.org/D771
2014-08-21Fix T41267: Wrong light distribution with when having objects with motion blurSergey Sharybin
2014-06-06Fix T40370: cycles CUDA baking timeout with high number of AA samples.Brecht Van Lommel
Now baking does one AA sample at a time, just like final render. There is also some code for shader antialiasing that solves T40369 but it is disabled for now because there may be unpredictable side effects.
2014-05-26Fix T40306: cycles baking not distributing work among CPU cores well.Brecht van Lommel
2014-05-12Cleanup: Some else if for attribute code.Thomas Dinges
2014-05-03Cycles BakeDalai Felinto
Expand Cycles to use the new baking API in Blender. It works on the selected object, and the panel can be accessed in the Render panel (similar to where it is for the Blender Internal). It bakes for the active texture of each material of the object. The active texture is currently defined as the active Image Texture node present in the material nodetree. If you don't want the baking to override an existent material, make sure the active Image Texture node is not connected to the nodetree. The active texture is also the texture shown in the viewport in the rendered mode. Remember to save your images after the baking is complete. Note: Bake currently only works in the CPU Note: This is not supported by Cycles standalone because a lot of the work is done in Blender as part of the operator only, not the engine (Cycles). Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Bake 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 Review: D421 Reviewed by: Campbell Barton, Brecht van Lommel, Sergey Sharybin, Thomas Dinge Original design by Brecht van Lommel. The entire commit history can be found on the branch: bake-cycles
2014-05-02Cleanup: Remove unused variables.Thomas Dinges