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-07-31Cycles: Fix for transmissive microfacet samplingSergey Sharybin
This is an alternate fix for T40964 which resolves bad handling of caustics reported in T45609. There were too much transmission rays being discarded by the original fix, which caused by caustic light being totally disabled. There is still some room for investigation why exactly original paper didn't work that well, could be caused by the way how the pdf is calculated. In any case current results seems rather correct now.
2015-07-30Cleanup: Remove unused variable in PathState.Thomas Dinges
2015-07-29Cycles: Fix issue in closure merge function.Lukas Stockner
* Did not check data2, this partially fixes T45583. * Initialize data2 in some closures to avoid potential problems. Differential Revision: https://developer.blender.org/D1436
2015-07-28Cycles: Correction to image extension type commitsSergey Sharybin
Clipping wasn't working totally correct, need to check original coordinates, not the integer ones, Now CPU gives the same exact results for both SVM and OSL, CUDA is still doing something crazy with edges.
2015-07-28Cycles: Add implementation of clip extension modeSergey Sharybin
For now there's no OpenCL support, it'll come later.
2015-07-28Cycles: Prepare for more image extension types supportSergey Sharybin
Basically just replace boolean periodic flag with extension type enum in the device API.
2015-07-28Cycles: Correction to image extension setting commitSergey Sharybin
Technically it was all wrong and it should have been called Extend instead of Clip. Got confused by the naming in different libraries. More options are still to come.
2015-07-27Cycles: Final-ish tweaks for 32bit cubin compilationSergey Sharybin
2015-07-27Cycles: One more attempt to fix compilation of 32bit CUDA kernelsSergey Sharybin
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-24Cycles: Don't explicitly add debug passes, this is now handled via RNASergey Sharybin
2015-07-24Compile Fix: setenv() is not defined for mingw eitherJoshua Leung
2015-07-23Cycles: Previous commit broke compilation on WindowsSergey Sharybin
Apparently MSVC doesn't have setenv() function.
2015-07-23Fix T45381: Crash Blender 2.75 in Win7 x64 AMD cardSergey Sharybin
Previous fix didn't work well enough because on Windows Python has different environment than Blender ans setting variables in there made no effect from Blender point of view.
2015-07-23Cycles: Resolve compilation error of avx2 kernel with certain compilersSergey Sharybin
It was redefined macro happening with Clang 3.6 here.
2015-07-21Fix T43779: Cycles texture interpolation issuesSergey Sharybin
That was basically not an issue with interpolation, but rather missing wrapping options and periodic wrapping was always used. It's still a bit questionable why certain graphics cards were doing clamping in the file from the report, that's not something what is expected to happen from the settings of textures being passed to GPU. In any case this issue i still didn't manage to reproduce on any of the available GPUs, might be something related on driver glitch or so. In any case CPU now should behave just fine, rest of the issues we'll need to be able to reproduce first.
2015-07-21Cycles: Expose image image extension mapping to the image managerSergey Sharybin
Currently only two mappings are supported by API, which is Repeat (old behavior) and new Clip behavior. Internally this extension is being converted to periodic flag which was already supported but wasn't exposed. There's no support for OpenCL yet because of the way how we pack images into a single texture. Those settings are not exposed to UI or anywhere else and there should be no functional changes so far.
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-21Cycles: Another attempt to solve CUDA compilation errors on 32bit platformsSergey Sharybin
2015-07-21Fix T45317: Cycles material preview unnecessarily re-renderingSergey Sharybin
The issue was caused by wrong fix for T22741 which forced redraws on any window event, like Expose. Use proper NV_WM | ND_UNDO listener instead,
2015-07-21Cycles: Workaround for sm_50 on 32bit platformSergey Sharybin
Basically this commit totally disables new SVN Voxel node, which solves some of the compiler's issues.
2015-07-20Usual UI messages fixes.Bastien Montagne
2015-07-20Fix T45218: Crash when trying to open System in the User preferencesSergey Sharybin
Fix T45381: Crash Blender 2.75 in Win7 x64 AMD card The issue is basically caused by graphics card driver which crashes when querying OpenCL platforms. This isn't something we can really solve from the CLEW side, because opencl.dll does exist in old driver and even has all the needed symbols, but first ever call to clGetPlatformIDs crashes. While rest of the blender works fine with those older ATI/AMD cards it's really needed to solve crashes of OpenCL device enumeration. Solution here is to force disable OpenCL platforms if we've detected that display card is using old ATI/AMD driver. It's not really proper solution so it's done in the python side where it's easy to do tweaks. Reasoning behind this change is: - If one uses really old driver it's likely because it's the latest one he/she can ever to install (because of discontinued support from AMD). - If old card is used it's likely to not have dedicated GPUs for rendering. - Even if there's a dedicated GPU device enumeration is likely to crash because of attempt to query OpenCL from the old card. There are still some tweaks needed likely, but this commit should make some of the configurations to work.
2015-07-19Fix T45484: Regression OpenCL split: access violationSergey Sharybin
That was a primary school error caused by moving statements inside assert() which effectivly disabled crucial code in release builds.
2015-07-19Cycles: Fix compilation of OpenCL kernel after point density commitSergey Sharybin
2015-07-18Cycles: Point density texture supportSergey Sharybin
This commit implements point density texture for Cycles shading nodes. It's done via creating voxel texture at shader compilation time, Not totally memory efficient, but avoids adding sampling code to kernel (which keeps render time as low as possible), In the future this will be compensated by using OpenVDB for more efficient storage of sparse volume data. Sampling of the voxel texture is happening at blender side and the same code is used as for Blender Internal's renderer. This texture is controlled by only object, particle system and radius. Linear falloff is used and there's no turbulence. This is because falloff is expected to happen using Curve Mapping node. Turbulence will be done as a distortion on the input coordinate. It's already possible to fake it using nose textures and in the future we can add more proper turbulence distortion node, which then could also be used for 2D texture mapping. Particle color support is done by Lukas, thanks!
2015-07-18Cycles: Add voxel texture sampler shader nodeSergey Sharybin
The idea of this node is to sampling of 3D voxels at a given coordinate supporting different mapping strategies (world space mapping, object local space etc). Currently not in use, it's a preparation step for supporting point density textures.
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-18Cycles: Commit file missing from conditionally compiling baking kernelSergey Sharybin
2015-07-18Cycles: Log requested device featuresSergey Sharybin
Useful to have this always logged because otherwise it's needed to remove cached kernels and check build flags to see which features are enabled.
2015-07-18Cycles; Make baking a feature-specific optionSergey Sharybin
This means render devices now might skip building baking kernels in cases when only actual render-related functionality is used. For now it's only implemented for OpenCL split kernel device and mainly needed to work around some compiler-specific bugs which crashes on building the kernel. Using OpenCL for baking might still crash the driver, but at least there is now higher probability of that GPU will be usable to render the scene. Real fix should actually be done in the driver side.
2015-07-18Cycles: Use feature-selective base kernel compilation when using split kernelSergey Sharybin
The idea is to make all kernels as small as possible to work around possible issues with buggy drivers which might fail building feature-complete kernels. It's indeed just a workaround to make at last simple test scenes to render on OpenCL. Real fix should happen from the driver side.
2015-07-18Cycles: Some cleanup if OpenCL base kernel load_kernel()Sergey Sharybin
Hopefully makes it less clumzy, should be no functional changes still.
2015-07-18Cycles: Make OpenCL cache follow out code style a bit closerSergey Sharybin
2015-07-18CMake: Add option to enable -Werror cflag in some areasSergey Sharybin
It is rather annoying attitude nowadays to use const qualifier all over the place, including using it for multi-dimensional arrays. This isn't really supported in GCC prior to version 5.0 because it considers such an arrays to be a "pointer to a const pointer" which gives implicit casting errors. It's not possible to disable this particular type of warnings treated as errors in any GCC version prior to 5.0 as well, meaning currently usage of -Werror globally in Blender code is not possible at all. This commit makes it possible to use -Werror in areas which are complaint with older GCC versions. New advanced CMake options are: - WITH_COMPOSITOR_WERROR - WITH_LIBMV_WERROR - WITH_CYCLES_WERROR
2015-07-18Cleanup: whitespace (CMake)Campbell Barton
2015-07-16Fix T45447: Area light importance sampling improvementStefan Werner
Turning on importance sampling on area lights increases noise on diffuse surfaces. This was caused by PDF calculated for an intersected point on light instead of original light position. Patch by Stefan with some own modifications.
2015-07-15Cycles: Merging of patch from OSX went wrong in the previous changeSergey Sharybin
That's what happens when you can't commit from a system you're making changes at and someone is behind your back... Sorry for the noise.
2015-07-15Cycles: Missed this in the previous commitSergey Sharybin
2015-07-15Cycles: Enable OpenCL rendering on Apple OSXSergey Sharybin
Requires having latest El Capitan beta 3 OSX due to ome crucial fixes made in the compiler. Supports same features as NVidia OpenCL apart from CMJ (there's no experimental feature set support in megakernel yet). Uses megakernel internally, which works much better than the split kernel. Split kernel is not supported on OSX still, needs to be investigated still. Some more details can be found there: http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/OpenCL#AMD_on_OSX
2015-07-14Cycles: Add logging to detected OpenCL platforms and devicesSergey Sharybin
Happens on verbosity level 2, should help looking into some of the bug reports in the tracker.
2015-07-13Fix T45333: Volume Scatter crash blenderSergey Sharybin
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-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-07-07Cycles: Add debug print about CLEW initialization statusSergey Sharybin
2015-07-07Cycles: Add an option to force disable all OpenCL devicesSergey Sharybin
This way it's possible to disable OpenCL devices for AMD devices which are considered whitelisted.
2015-07-04Cleanup: Typo in comment.Thomas Dinges
2015-07-03Cycles: Code cleanup, double semicolonSergey Sharybin
2015-07-03Cycles: Error enqueueing split kernels should no longer cause infinite loopSergey Sharybin
2015-07-03Cycles: Use explicit indices for split kernel queuesSergey Sharybin