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
2018-01-12Cycles: add offscreen dicing scale and dicing camera.Mai Lavelle
The offscreen dicing scale helps to significantly reduce memory usage, by reducing the dicing rate for objects the further they are outside of the camera view. The dicing camera can be specified now, to keep the geometry fixed and avoid crawling artifacts in animation. It is also useful for debugging, to see the tesselation from a different camera location. Differential Revision: https://developer.blender.org/D2891
2017-08-14Cycles: Fixed broken camera motion blur when motion was not set to center on ↵Stefan Werner
frame Reviewers: #cycles, sergey Reviewed By: #cycles, sergey Subscribers: sergey Differential Revision: https://developer.blender.org/D2787
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
2016-05-28Code refactor: nodify Cycles camera and fix some mistakes in XML node read.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D2016
2016-05-28Fix T48526: Cycles viewport render incorrectly influenced by pixel aspect ratio.Brecht Van Lommel
This reverts 72592cfb, needs more refactoring to do that cleanup.
2016-05-18Cycles: Pole merging for spherical stereoSergey Sharybin
The idea of pole merge is to fade interocular distance after a certain altitude to zero when altitude goes closer to a pole. This should prevent annoyances looking up in the sky or down to the bottom. Works for both panorama and perspective cameras when Spherical Stereo is enabled. Reviewers: dfelinto, brecht Reviewed By: brecht Subscribers: sebastian_k Differential Revision: https://developer.blender.org/D1998
2016-04-12Cycles microdisplacement: perform subdivision dicing in raster spaceMai Lavelle
NOTE: this is only the first of many patches towards completing the subdivison and displacement system in Cycles. These patches will be reviewed and committed one by one over the coming weeks. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D1909
2016-03-12Cycles: Support parallel convergence mode for spherical stereoSergey Sharybin
2016-03-10Multi-View: Cycles - Spherical Stereo support (VR Panoramas)Dalai Felinto
This is a new option for panorama cameras to render stereo that can be used in virtual reality devices The option is available under the camera panel when Multi-View is enabled (Views option in the Render Layers panel) Known limitations: ------------------ * Parallel convergence is not supported (you need to set a convergence distance really high to simulate this effect). * Pivot was not supposed to affect the render but it does, this has to be looked at, but for now set it to CENTER * Derivatives in perspective camera need to be pre-computed or we shuld get rid of kcam->dx/dy (Sergey words, I don't fully grasp the implication shere) * This works in perspective mode and in panorama mode. However, for fully benefit from this effect in perspective mode you need to render a cube map. (there is an addon for this, developed separately, perhaps we could include it in master). * We have no support for "neck distance" at the moment. This is supposed to help with objects at short distances. * We have no support to rotate the "Up Axis" of the stereo plane. Meaning, we hardcode 0,0,1 as UP, and create the stereo pair related to that. (although we could take the camera local UP when rendering panoramas, this wouldn't work for perspective cameras. * We have no support for interocular distance attenuation based on the proximity of the poles (which helps to reduce the pole rotation effect/artifact). THIS NEEDS DOCS - both in 2.78 release log and the Blender manual. Meanwhile you can read about it here: http://code.blender.org/2015/03/1451 This patch specifically dates from March 2015, as you can see in the code.blender.org post. Many thanks to all the reviewers, testers and minor sponsors who helped me maintain spherical-stereo for 1 year. All that said, have fun with this. This feature was what got me started with Multi-View development (at the time what I was looking for was Fulldome stereo support, but the implementation is the same). In order to make this into Blender I had to make it aiming at a less-specic user-case Thus Multi-View started. (this was December 2012, during Siggraph Asia and a chat I had with Paul Bourke during the conference). I don't have the original patch anymore, but you can find a re-based version of it from March 2013, right before I start with the Multi-View project https://developer.blender.org/P332 Reviewers: sergey, dingto Subscribers: #cycles Differential Revision: https://developer.blender.org/D1223
2016-02-12Cycles: Make Blender importer more forward compatibleSergey Sharybin
Basically the idea is to make code robust against extending enum options in the future by falling back to a known safe default setting when RNA is set to something unknown. While this approach solves the issues similar to T47377, but it wouldn't really help when/if any of the RNA values gets ever deprecated and removed. There'll be no simple solution to that apart from defining explicit mapping from RNA value to Cycles one. Another part which isn't so great actually is that we now have to have some enum guards and give some explicit values to the enum items, but we can live with that perhaps. Reviewers: dingto, juicyfruit, lukasstockner97, brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D1785
2016-02-10Cycles: Cleanp, avoid direct calls of RNA_enum_get, we've got utility for thatSergey Sharybin
2016-02-01Cycles: Fix wrong clamping used for camera borderSergey 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-12-31Cycles: Implement rolling shutter effectSergey Sharybin
This is an attempt to emulate real CMOS cameras which reads sensor by scanlines and hence different scanlines are sampled at a different moment in time, which causes so called rolling shutter effect. This effect will, for example, make vertical straight lines being curved when doing horizontal camera pan. This is controlled by the Shutter Type option in the Motion Blur panel. Additionally, since scanline sampling is not instantaneous it's possible to have motion blur on top of rolling shutter. This is controlled by the Rolling Shutter Time slider which controls balance between pure rolling shutter effect and pure motion blur effect. Reviewers: brecht, juicyfruit, dingto, keir Differential Revision: https://developer.blender.org/D1624
2015-10-28Cycles: Expose user-defined shutter curve to the interfaceSergey Sharybin
Shutter curve now can be controlled using curve mapping widget in the motion blur panel in Render buttons. Only mapping from 0..1 by x axis are allowed, Y values will be normalized to fill in 0..1 space as well automatically. Y values of 0 means fully closed shutter, Y values of 1 means fully opened shutter. Default mapping is set to old behavior when shutter opens and closes instantly. This shutter mapping curve could easily be used by any other render engine by accessing scene.render.motion_blur_shutter_curve. Reviewers: #cycles, brecht, juicyfruit, campbellbarton Differential Revision: https://developer.blender.org/D1585
2015-10-26Cleanup: Move pixel aspect to blender_camera_init().Thomas Dinges
2015-10-15Fix T46493: Wrong camera zoom blur with non-unit pixel aspectSergey Sharybin
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-09-18Cycles: simplify logic for calculating dof-distCampbell Barton
Matches change from BKE_camera
2015-07-24Fix T45537: cycles bake crashes with motionblur onKévin Dietrich
The crash was due to baking with motion blur but without a camera. Reviewed by Brecht.
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-06-22Fix T45034: MirrorBall rendering on wrong camera axisSergey Sharybin
This was a mistake in the original code from D1079. With the current way how direction ot mirror ball works camera should look into negative Y direction. Corrected it in the camera matrix synchronization, so no extra calculations are needed at the render time. That's a bit annoying, but we'd better port it to the release branch, or otherwise we'll end up with files created with wrong camera mapping after 2.75 release.
2015-04-26Cycles: Add Mirror ball mapping to camera panorama optionsLukas Stockner
The projection code was already in place, so this just exposes the option. Differential Revision: https://developer.blender.org/D1079
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
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-03-05Fix T43672: Cycles preview stalls when out of viewCampbell Barton
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-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
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-10-03Cycles: Make camera-in-volume an official featureSergey Sharybin
This means it's no longer needed to enable experimental feature set in order to have proper camera in volume support. And this also means if there's something wrong going on, or if there's speed regression for cases when camera is obviously not in the volume -- this issues are to be reported and handled in the regular matter. Happy blending!
2014-09-25Cycles: Add support for cameras inside volumeSergey Sharybin
Basically the title says it all, volume stack initialization now is aware that camera might be inside of the volume. This gives quite noticeable render time regressions in cases camera is in the volume (didn't measure them yet) because this requires quite a few of ray-casting per camera ray in order to check which objects we're inside. Not quite sure if this might be optimized. But the good thing is that we can do quite a good job on detecting whether camera is outside of any of the volumes and in this case there should be no time penalty at all (apart from some extra checks during the sync state). For now we're only doing rather simple AABB checks between the viewplane and volume objects. This could give some false-positives, but this should be good starting point. Need to mention panoramic cameras here, for them it's only check for whether there are volumes in the scene, which would lead to speed regressions even if the camera is outside of the volumes. Would need to figure out proper check for such cameras. There are still quite a few of TODOs in the code, but the patch is good enough to start playing around with it checking whether there are some obvious mistakes somewhere. Currently the feature is only available in the Experimental feature sey, need to solve some of the TODOs and look into making things faster before considering the feature is ready for the official feature set. This would still likely happen in current release cycle. Reviewers: brecht, juicyfruit, dingto Differential Revision: https://developer.blender.org/D794
2014-08-27Cycles Aperture Ratio - option to produce anamorphic bokehDalai Felinto
Thanks for Aldo Zang for the help with the fix for the panorama/fisheye depth of field calculation and the overall math. Reviewed By: sergey, dingto Subscribers: juicyfruit, gregzaal, #cycles, dingto, matray Differential Revision: https://developer.blender.org/D753
2014-05-03Code cleanup: Add -Werror=float-conversion to CyclesCampbell Barton
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.
2013-08-18Cycles: relicense GNU GPL source code to Apache version 2.0.Brecht Van Lommel
More information in this post: http://code.blender.org/ Thanks to all contributes for giving their permission!
2013-05-17Code cleanup / Cycles:Thomas Dinges
* Put render resolution x/y into a function.
2013-03-21Fix #34700: cycles depth of field now works with orthographic cameras too.Brecht Van Lommel
2013-03-14Border rendering now works for all scenes used in compositor,Sergey Sharybin
before this only active scene would be rendered with border. When do_render_fields_blur_3d() is finished, it'll modify render's display rect so it'll correspond bordered render result placed on black backgrund. Actual border is stored nowhere, which makes it only way to re-calculate disprect for all other renders used in compo based on source. Not so big deal actually. Also needed to modify Cycles a bit, because before this patch it used border settings from scene being rendered. Now made it so render data is passing to external engines. Using a property inside RenderEngine structure for this. Not best ever design for passing render data, but this would prevent API breakage. So now external engines could access engine.render to access active rendering settings. Reviewed by Brecht, thanks!
2012-11-23Fix #33267: cycles math node power gave different results for CPU and GPU. TheBrecht Van Lommel
GPU variants do not support pow(-1, 2), it doesn't check for even exponents, do manually now.
2012-11-23code cleanup: warning & styleCampbell Barton
2012-11-23final fix for Sensor Fit (AUTO, HOR, VERT) in panorama lens - patch by ↵Dalai Felinto
Brecht Van Lommel and me
2012-11-21Cycles bugfix: AUTO wasn't working for Equisolid Fisheye lensDalai Felinto
Now one no longer needs to match the sensor dimensions with the render dimensions manually. IMPORTANT NOTE: if you were using AUTO before with mismathing sensor aspect ratio (comparing to the render dimensions) this will change your render! We can doversion this, but apart from Tube project I don't know if anyone else is using this yet (part due to this bug and the only recently fixed 3dview preview aspect ratio). That should help more artists to take advantage of this fantastic Blender feature. It still helps to know the parameters of kwnown cameras/lens though. For example: Nikon DX2S with a 10.5mm fisheye can be set with: Render resolution: 4288 x 2848 Sensor 23.7 x 15.70 (15.70 can be ommitted if AUTO is used as fit method) Note: some cameras render different sizes according to the recording mode. For example, a Red Scarlet in 5k (@12 fps) can render a full circular fisheye with a sigma 4.5 lens. The same camera in the 30fps recording mode renders 4k in a cropped circular image. So it's not only the resolution that changes, but the actual sensor been used. So just keep in mind that the more information you have from the camera/lens you want to emulate the better. Bug found at/patch written as a follow up of the BlenderPRO2012, patch reviewed by Brecht Van Lommel
2012-11-11Cycles: panorama camera in viewport camera view now shows the render mappedBrecht Van Lommel
to the camera border rather than the entire viewport.
2012-10-24Patch #29142: Reduce hopping when switching between perspective and ↵Sergey Sharybin
orthographic on 3D view Patch by Yasuhiro Fujii, thanks! Original issue was that in vases viewport's lens are different from default value switching between perspective and orthographic projections will change viewplane a lot, which is disorienting and annoying.
2012-10-16Cycles: non-camera viewport render border supportSergey Sharybin
This makes it possible to do a border render inside a viewport even when not looking through the camera. Render border could be defined by Ctrl-B shortcut (works for both camera render border and viewport render border). Camera render border could still be defined using Shift-B (so no muscule memory would be broken). Currently used a special flag of operator to do this, otherwise you'll need to either two operators with different poll callback or it could go into conflict with a border zoom, Border render of a viewport could be enabled/disabled in View panel using "Render Border" option.
2012-10-01Fix #32725: cycles border render + panorama camera not working in viewport. ↵Brecht Van Lommel
It will still look a bit strange since the viewport can't actually render such panorama views, so the opengl drawn scene behind the border render will not match up.
2012-06-13Fix cycles crash when viewport camera border goes out of view.Brecht Van Lommel
2012-06-09style cleanup: assignment & indentation.Campbell Barton