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-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.
2016-12-14Cycles: Move object culling helper to own filesSergey Sharybin
This is a stand-alone logic, which becomes quite comprehensive now.
2016-12-14Cycles: Fix indendationSergey Sharybin
2016-11-20Cycles: refactor culling code into utility class.Brecht Van Lommel
2016-11-20Cycles: distance culling for objects.Carlo Andreacchio
This can be used together with camera culling to keep nearby objects visible in reflections, using a minimum distance within which objects are visible. It is also useful to cull small objects far from the camera. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2332
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-14Fix T49341: Bad motion blur behavior in Cycles when using Speed effect in ↵Sergey Sharybin
Sequencer Cycles was thinking it always rendering integer frame, which is not correct.
2016-08-07Cycles: fix objects disappearing when starting or stopping movement.Alexander Gavrilov
Another issue with the modified particle motion blur fix: since pre and post are used as validity markers, they must be set even if there is no actual motion, like the original bool flags were. Otherwise an object starting to move or stopping is interpreted as having invalid blur data and hidden.
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-29Cycles: Fix wrong projection coordinates for points behind the cameraSergey Sharybin
Points behind camera will be flipped on projection, but that did not happen. This solves second issue reported at T48848.
2016-07-29Cycles: Fix wrong check for object is behind camera after recent fixesSergey Sharybin
2016-07-18Cycles: add support for motion blurring of fluid meshes.Kévin Dietrich
Reviewed By: brecht Differential Revision: https://developer.blender.org/D2063
2016-07-18Fix T48848: Cycles - Camera Culling - Camera Culling removes objects which ↵Sergey Sharybin
are still in frame
2016-05-22Cleanup: remove Cycles layer bits checking in the kernel.Brecht Van Lommel
At some point the idea was that we could have an optimization where we could render multiple render layers without re-exporting the scene, by just updating the layer bits. We are not doing this now and in practice with the available render layer control like exclude layers it's not always possible anyway. This makes it easier to support an arbitrary number of layers in the future (hopefully this summer), and frees up some useful bits in the kernel. Reviewed By: sergey, dingto Differential Revision: https://developer.blender.org/D2020
2016-05-17Code refactor: use shader pointers rather than shader indexes.Brecht Van Lommel
2016-02-03Cycles: Cleanup, indentation and bracesSergey Sharybin
2016-01-30Cycles: Pass Blender's C++ RNA structures by referenceSergey Sharybin
This way we avoid passing structures which could be up to few hundred bytes by value to the utility functions. Ideally we'll also have to add `const` qualifier in majority of the calls, but C++ RNA does not allow us to do that because it does not know if some function modifies contents or not.
2015-10-13Cycles: Add support for motion blur positionSergey Sharybin
This adds an option to control at what time relative to the current frame the shutter is fully opened. Supported options are: - Shutter is starting to open at the current frame - Shutter is fully opened at the current frame - Shutter is fully closed at the current frame Custom shutter time offset is possible, same as custom curve for shutter openness but those are considered nice things to have rather than something crucial. Reviewers: juicyfruit, dingto Subscribers: venomgfx, hjalti Differential Revision: https://developer.blender.org/D1380
2015-10-11Cycles: Make light behavior in local view matching BISergey Sharybin
Title says it all, based on feedback of artists from gooseberry team. This mainly affects cases when going to a local view from layers setup when some lamps were on invisible layers. Those lights are no longer becoming visible to the object in local view. Reviewers: brecht, juicyfruit, dingto Reviewed By: juicyfruit, dingto Subscribers: maxon, eyecandy, venomgfx Differential Revision: https://developer.blender.org/D1326
2015-07-21Cycles: Implement camera zoom motion blurSergey Sharybin
Works totally similar to camera motion blur and majority of the changes are related on just passing extra arguments to sync() functions. Couple of things still to look into: - Motion pass will not include motion caused by the zoom. - Only perspective cameras are supported currently. - Motion is being interpolated on projected coordinates, which might give different results from constructing projection matrix from interpolated field of view. This could be good enough for us, but we need to consider improving this at some point. Reviewers: juicyfruit, dingto Reviewed By: dingto Differential Revision: https://developer.blender.org/D1383
2015-07-18Cycles: Camera frustum space object culling scene simplificationSergey Sharybin
The idea is to give artists a simplier way to control memory usage in such scenes as grass fields by doing automatic object culling based on whether object is visible in the frame or not. This is controlled on per-object level. In order to use this option few steps are required: - Enable Simplify in scene settings - Enable Camera Cull option in the Simplify panel - Set camera cull margin (measured in relative value to the render resolution) This setting is used to avoid possible flickering caused by changes in shadow which are cast by objects outside of the frame. - Enable Camera Cull for objects which are desired to be culled (object culling option could be found in Option panel in object buttons). There is still room for improvements, but this worked quite well during Gooseberry open movie project, so think it's useful feature even in it's current non-ideal state.
2015-07-12Cycles: Expose "Max Bounces" for the world light.Thomas Dinges
When using MIS, the world is treated as regular light and in this case we can now also limit the maximum amount of bounces, the background light will contribute to the scene. This can improve performance in some cases, where it's e.g. sufficient to only have a contribution on first 1-2 bounces. Examples can be found in the differential. Differential revision: https://developer.blender.org/D1399
2015-06-22Cycles: Respect duplicator's object motion blur settingsSergey Sharybin
The idea is to make it possible to control linked duplicated objects motion blur from the scene file without need to do overrides on the linked object settings. Currently only supported for dupligroup duplication and all now if duplicator object has motion blur disabled then it'll be inherited into all the duplicated objects. There should be no regressions/changes in look of existing files because objects do have motion blur enabled by default.
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-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.
2014-12-26Fix T43019: Child of objectes used by duplis are visible in CyclesSergey Sharybin
Seems the parent check didn't go deep enough and only checked single parent. Now it checks the chain of parents which seems to be correct but requires much more intense testing.
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-12-18Cycles: Do some logging when motion is detected in the sceneSergey Sharybin
2014-11-08Cleanup: cycles whitespaceCampbell Barton
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-07-09Fix T41003: Object Info's Random socket produces erratic results whenLukas Tönne
material is applied to multiple Dupli instances of an object. One of the random_id initialization lines for cycles objects slipped into the basic update part in this commit: rBb98ff5cb5b2c14c33b16e3b129e1e08810e90a6c This would constantly re-shuffle the random_id ...
2014-07-07Fix T40712: Duplicators don't generate orco and UV coordinates in Cycles ↵Lukas Tönne
viewport preview. Fix T39286: Display percentage ignored in Cycles viewport. The threaded depsgraph update changes included a cleanup of the global is_rendering flag, which was replaced by a general EvalContext being passed to dupli functions. Problem is that the global flag was true for viewport duplis before (ugly hack), which was used as a check for generating dupli orco/UV from mesh data layers. The new flag is stricter and only true for actual renders, which disables these attributes and breaks the Cycles Texture Coordinates and UVMap nodes. The solution is to extend the simple for_render boolean to an enum: * VIEWPORT: OpenGL viewport drawing (dupli tex coords omitted) * PREVIEW: Viewport preview render (simplified modifiers) * RENDER: Full render with all details and attributes There are still some areas that need to be examined, in particular modifiers seem to totally ignore the EvaluationContext! Instead they generally execute without render params from the depsgraph (BKE_object_handle_update_ex) and are built with render settings explicitly. Differential Revision: https://developer.blender.org/D613
2014-05-21Fix T39711: cycles particle motion blur affected by viewport draw method.Brecht Van Lommel
2014-05-12Fix T40149: cycles motion blur render problem with multiple render layers.Brecht Van Lommel
2014-04-30Fix T39965: Sequencer do not sync cycles stripsSergey Sharybin
The was actually caused by the way how Cycles uses objects layers. It's not possible to rely on the fact that layers are flushed from Base to Object. It's only valid when rendering active scene. Now made it so layers are used from the base.
2014-03-31Fix T39510, Fix T39523: camera motion blur not working correct after recent ↵Brecht Van Lommel
changes.
2014-03-29Cycles: add per object options to disable motion blur and set deformation ↵Brecht Van Lommel
motion steps. Notes: * The motion steps only affect deformation motion blur. * The actual number of steps is 2^(steps - 1). This avoids having to sample at many different times for object with more/fewer steps, now the times overlap. * Deformation motion blur is enabled by default in existing files that have motion blur enabled. If the object is not deforming, this will be detected at export time, so raytracing performance will not be affected. Part of the code is from the summer of code project by Gavin Howard.
2014-03-29Cycles: add support for mesh deformation motion blur.Brecht Van Lommel
2014-03-29Cycles code refactor: improve vertex motion attribute storage and export.Brecht Van Lommel
This now supports multiple steps and subframe sampling of motion. There is one difference for object and camera transform motion blur. It still only supports two steps there, but the transforms are now sampled at subframe times instead of the previous and next frame and then interpolated/extrapolated. This will give different render results in some cases but it's more accurate. Part of the code is from the summer of code project by Gavin Howard, but it has been significantly rewritten and extended.
2014-03-24Fix for own mistake in rB83f2012300acadafd359307e7a00bd71e67e3fd7: usedLukas Tönne
bool instead of int. Thanks to Campbell Barton for noticing.
2014-03-24Fix T39341: Cycles Rendered view laggy while using particles.Lukas Tönne
There are a couple of bugs that come together here: * Particle hacks: extra modifier stack evaluation just for particles in rna_Object_create_duplilist. This is where the primary issue stems from, the "for_render" setting replaced the G.is_rendering flag in threaded depsgraph. This causes particles to recalculate the entire modifier stack with _render_ settings instead of viewport settings now. Fixed by taking the 'preview' parameter in Cycles into account. * Buggy skin modifier: The skin modifier generates a different amount of vertices and faces **on every execution**. This must be looked at separately, but it could be another reason why cycles constantly restarted the sync process. * Particles get re-distributed randomly every time (changing seed). This could be caused just by the broken skin modifier, but might still be an issue when simply rendering with cycles, since the psys will be evaluated for render settings, if just temporarily.
2014-02-25Fix T38811: Cycles particle ids are inconsistent when using multiple ↵Lukas Tönne
particle systems. Problem is that the particle systems in the cycles database are not stored in a well-defined order. This means the particle_id for dupli objects can not simply be assigned using a global running index during sync. Now the particle index is assigned locally for each particle system. When transferring particle data to the device as a single texture, the particle indices are offset based on the final order of particle systems in the database. Reviewers: brecht Reviewed By: brecht CC: Andreas80 Differential Revision: https://developer.blender.org/D352
2014-02-21Fix T38740: multi-user metaballs not rendering in Cycles.Brecht Van Lommel
2014-02-13Fix issue in recent bugfix, did not work with multiple sessions (preview ↵Brecht Van Lommel
render).
2014-02-13Fix T38332, Fix T38607: cycles render crash with motion blur.Brecht Van Lommel
It wasn't working together well with the python thread state changes after the depsgraph multithreading.
2013-12-10Fix T37694: cycles particles emitter object rendering when it shouldn't.Brecht Van Lommel
This was broken by a recent bugfix for T37159.
2013-11-27Fix T37159: cycles rendering particle emitter mesh incorrectly when using ↵Brecht Van Lommel
non-hair particles.
2013-11-26Fix mistake in last commit with submodules.Brecht Van Lommel