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
2012-10-09Fix cycles task manager calling pthread_join() twice. I haven't seen any bugsBrecht Van Lommel
from this but best to fix anyway as it causes undefined behavior. Pointed out on irc by dslammu, thanks!
2012-09-28Fix cycles "synchronizing object" status being shown when it was already ↵Brecht Van Lommel
finished.
2012-09-20code cleanup: cycles now uses system includes for boost/oiio.. etc, so we ↵Campbell Barton
dont get warnings from system headers.
2012-09-20code cleanup: remove unused macros, commet some which may be useful later - ↵Campbell Barton
or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc
2012-09-17Revert r50528: "Performance fix for Cycles: Don't wait in the main UI thread ↵Lukas Toenne
when resetting devices." This commit leads to random freezes in Cycles rendering: https://projects.blender.org/tracker/index.php?func=detail&aid=32545&group_id=9&atid=498 The goal of this commit was to remove UI lag for OSL, but since that is not officially supported yet, better revert it until a proper fix can be implemented in 2.65.
2012-09-12Attempted fix for #32415: tighten up cycles opencl initialization checks to ↵Brecht Van Lommel
try to avoid crashes. Don't think these should be needed but maybe it helps.
2012-09-11Performance fix for Cycles: Don't wait in the main UI thread when resetting ↵Lukas Toenne
devices. When the scene is updated Cycles resets the renderer device, cancelling all existing tasks. The main thread would wait for all running tasks to finish before continuing. This is ok when tasks can actually cancel in a timely fashion. For OSL however, this does not work, since the OSL shader group optimization takes quite a bit of time and can not be easily be cancelled once running (on my crappy machine in full debug mode: ~0.12 seconds for simple node trees). This would lead to very laggy UI behavior and make it difficult to accurately control elements such as sliders. This patch removes the wait condition from the device->task_cancel method. Instead it just sets the do_cancel flag and returns. To avoid backlog in the task pool of the device it will return early from the BlenderSession::sync function while the reset is going on (tested in Session::resetting). Once all existing tasks have finished the do_cancel flag is finally cleared again (checked in TaskPool::num_decrease). Care has to be taken to avoid race conditions on the do_cancel flag, since it can now be modified outside the TaskPool::cancel function itself. For this purpose the scope of the TaskPool::num_mutex locks has been extended, in most cases the mutex is now locked by the TaskPool itself before calling TaskScheduler methods, instead of only locking inside the num_increase/num_decrease functions themselves. The only occurrence of a lock outside of the TaskPool methods is in TaskScheduler::thread_run. This patch is most useful in combination with the OSL renderer mode, so it can probably wait until after the 2.64 release. SVM tasks tend to be cancelled quickly, so the effect is less noticeable.
2012-09-07Fix for Cycles (CUDA) compilation (again ...). Moved the AttributeStandard ↵Lukas Toenne
enum typedef and the attribute_standard_name mapping function to util_attribute/util_types headers, so they can properly be used by kernel and render files alike. This should avoid any std C includes which are not available in CUDA. Thanks to Sergey for help!
2012-09-04Cycles: merge of changes from tomato branch.Brecht Van Lommel
Regular rendering now works tiled, and supports save buffers to save memory during render and cache render results. Brick texture node by Thomas. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Brick_Texture Image texture Blended Box Mapping. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Image_Texture http://mango.blender.org/production/blended_box/ Various bug fixes by Sergey and Campbell. * Fix for reading freed memory in some node setups. * Fix incorrect memory read when synchronizing mesh motion. * Fix crash appearing when direct light usage is different on different layers. * Fix for vector pass gives wrong result in some circumstances. * Fix for wrong resolution used for rendering Render Layer node. * Option to cancel rendering when doing initial synchronization. * No more texture limit when using CPU render. * Many fixes for new tiled rendering.
2012-07-29Additional fix #32074, by Sven-Hendrik Haase (svenstaro). Boost version ↵Lukas Toenne
header must be included in cycles in order to expand the version check macro.
2012-07-26Make Cycles compatible with older boost versions.Sergey Sharybin
Patch by IRIE Shinsuke, thanks!
2012-07-11Patch #32074: Fix compilation with boost 1.50Sergey Sharybin
This patch switches from boost's filesystem v2 to v3. This should be completely smooth due to filesystem v3 is pretty old already. Patch by Sven-Hendrik Haase (aka svenstaro), thanks!
2012-06-09style cleanup: assignment & indentation.Campbell Barton
2012-06-09code cleanup: quiet all warnings about double promotion (either by changing ↵Campbell Barton
the type or explicitly casting).
2012-06-09style cleanup: block commentsCampbell Barton
2012-06-07style cleanupCampbell Barton
2012-06-04Cycles: spot lamp support.Brecht Van Lommel
2012-05-28Cycles: fixes to make CUDA 4.2 work, compiling gave errors in shadows andBrecht Van Lommel
other places, was mainly due to instancing not working, but also found issues in procedural textures. The problem was with --use_fast_math, this seems to now have way lower precision for some operations. Disabled this flag and selectively use fast math functions. Did not find performance regression on GTX 460 after doing this.
2012-05-27style cleanupCampbell Barton
2012-05-21Cycles: add Object Info node, with outputs object location, object/materialBrecht Van Lommel
pass index, and a random number unique to the instance of the object. This can be useful to give some variation to a single material assigned to multiple instances, either manually controlled through the object index, based on the object location, or randomized for each instance. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Object_Info
2012-05-13Cycles: OpenCL image texture support, fix an attribute node issue and refactorBrecht Van Lommel
feature enabling #defines a bit.
2012-05-11Cycles: reviewed the task scheduler code and fixed (hopefully all) windows ↵Brecht Van Lommel
threading problems.
2012-05-08Fix 31370: light falloff node linear output not working code.Brecht Van Lommel
Fix part of thread safety issue, there's still something else wrong.
2012-05-07Fix most of #31307: cycles panorama camera not working correct with speedBrecht Van Lommel
vectors and window texture coordinates. Only for Fisheye Equisolid it's still not working correct yet. Patch from Dalai with modifications.
2012-05-05Cycles: threading optimizationsBrecht Van Lommel
* Multithreaded image loading, each thread can load a separate image. * Better multithreading for multiple instanced meshes, different threads can now build BVH's for different meshes, rather than all cooperating on the same mesh. Especially noticeable for dynamic BVH building for the viewport, gave about 2x faster build on 8 core in fairly complex scene with many objects. * The main thread waiting for worker threads can now also work itself, so (num_cores + 1) threads will be working, this supposedly gives better performance on some operating systems, but did not measure performance for this very detailed yet.
2012-05-02Fix #31168: cycles mask layer should only affect objects for camera rays.Brecht Van Lommel
Fix: texture coordinate normal output was not correct, still changed under object transform.
2012-04-30Cycles: support for motion vector and UV passes.Brecht Van Lommel
Most of the changes are related to adding support for motion data throughout the code. There's some code for actual camera/object motion blur raytracing but it's unfinished (it badly slows down the raytracing kernel even when the option is turned off), so that code it disabled still. Motion vector export from Blender tries to avoid computing derived meshes when the mesh does not have a deforming modifier, and it also won't store motion vectors for every vertex if only the object or camera is moving.
2012-04-30Fix visual studio debug build issue with BVH boundbox, pointed out by ↵Brecht Van Lommel
Agustin Benavidez.
2012-04-29mingw32 compiles againJoshua Leung
"__force_inline" keyword used in Cycles header is not defined
2012-04-29Fix Cycles to compile again on AMD OpenCL devices.Daniel Genrich
2012-04-28Cycles: fix for CUDA build.Brecht Van Lommel
2012-04-28Cycles: merging features from tomato branch.Brecht Van Lommel
=== BVH build time optimizations === * BVH building was multithreaded. Not all building is multithreaded, packing and the initial bounding/splitting is still single threaded, but recursive splitting is, which was the main bottleneck. * Object splitting now uses binning rather than sorting of all elements, using code from the Embree raytracer from Intel. http://software.intel.com/en-us/articles/embree-photo-realistic-ray-tracing-kernels/ * Other small changes to avoid allocations, pack memory more tightly, avoid some unnecessary operations, ... These optimizations do not work yet when Spatial Splits are enabled, for that more work is needed. There's also other optimizations still needed, in particular for the case of many low poly objects, the packing step and node memory allocation. BVH raytracing time should remain about the same, but BVH build time should be significantly reduced, test here show speedup of about 5x to 10x on a dual core and 5x to 25x on an 8-core machine, depending on the scene. === Threads === Centralized task scheduler for multithreading, which is basically the CPU device threading code wrapped into something reusable. Basic idea is that there is a single TaskScheduler that keeps a pool of threads, one for each core. Other places in the code can then create a TaskPool that they can drop Tasks in to be executed by the scheduler, and wait for them to complete or cancel them early. === Normal ==== Added a Normal output to the texture coordinate node. This currently gives the object space normal, which is the same under object animation. In the future this might become a "generated" normal so it's also stable for deforming objects, but for now it's already useful for non-deforming objects. === Render Layers === Per render layer Samples control, leaving it to 0 will use the common scene setting. Environment pass will now render environment even if film is set to transparent. Exclude Layers" added. Scene layers (all object that influence the render, directly or indirectly) are shared between all render layers. However sometimes it's useful to leave out some object influence for a particular render layer. That's what this option allows you to do. === Filter Glossy === When using a value higher than 0.0, this will blur glossy reflections after blurry bounces, to reduce noise at the cost of accuracy. 1.0 is a good starting value to tweak. Some light paths have a low probability of being found while contributing much light to the pixel. As a result these light paths will be found in some pixels and not in others, causing fireflies. An example of such a difficult path might be a small light that is causing a small specular highlight on a sharp glossy material, which we are seeing through a rough glossy material. With path tracing it is difficult to find the specular highlight, but if we increase the roughness on the material the highlight gets bigger and softer, and so easier to find. Often this blurring will be hardly noticeable, because we are seeing it through a blurry material anyway, but there are also cases where this will lead to a loss of detail in lighting.
2012-04-16Fix #30966: cycles nan mesh vertices got set to (0, 0, 0), now remove them ↵Brecht Van Lommel
instead.
2012-04-13Fix #30929: cycles rendering of object with scale 0 on some axis did not workBrecht Van Lommel
correct with instancing. Actually such object will not work in many places, e.g. transforming vertices in edit mode doesn't work and textures will be misapplied in Blender Internal, so these should be avoided.
2012-04-11Fix cycles opencl compile issue, fminf/fmaxf() was defined both as macro and ↵Brecht Van Lommel
function.
2012-04-05Fix windows compile error in previous commit.Brecht Van Lommel
2012-03-28Fix #30551: cycles passes combining did not always give identical result ↵Brecht Van Lommel
combined with antialiasing/defocus, now divide out color at the very end instead of for each sample.
2012-03-25Cycles / CUDA:Thomas Dinges
* Make Cycles aware of Computing Capability 3.0, used by the new Kepler Cards. You'll need the CUDA 4.2 Toolkit to compile it.
2012-02-28Cycles: extra OpenCL NULL point check, maybe avoids some crashes. Don't thinkBrecht Van Lommel
this should ever happen in practice but maybe it does anyway.
2012-02-04Fix for Luxrender boost::thread conflict, workaround now is to just not use itBrecht Van Lommel
in cycles and use pthreads instead.
2012-01-27Cycles: another fix for CUDA render passes, needed to align float4 passes.Brecht Van Lommel
2012-01-26Fix #29966: cycles elapsed time not resetting in viewport after changes.Brecht Van Lommel
2012-01-16Cycles: add option to cache BVH's between subsequent renders, storing the BVH onBrecht Van Lommel
disk to be reused by the next render. This is useful for rendering animations where only the camera or materials change. Note that saving the BVH to disk only to be removed for the next frame is slower if this is not the case and the meshes do actually change. For a render, it will save bvh files to the cache user directory, and remove all cache files from other renders. The files are named using a MD5 hash based on the mesh, to verify if the meshes are still the same.
2012-01-09Cycles: show elapsed time for F12/background render.Brecht Van Lommel
2011-12-20Cycles: avoid using float3 in kernel constant memory, just so we're sure ↵Brecht Van Lommel
alignment is working compatible between cpu and gpu.
2011-12-19Fix #29653: fix wrong cycles depth of field distance when rendering with aBrecht Van Lommel
scaled camera.
2011-12-13Fix #29594: cycles NaN values with window coordinates mapping.Brecht Van Lommel
2011-12-05Cycles:Brecht Van Lommel
Fix #29475: remove node from properties editor crash on windows. This was a bug in the UI code, which code access removed data. Fix OpenCL still being used in a case where Experimental was disabled. Fix msvc debug warning in md5 code.
2011-12-04Fix compile issue on windows, broke this trying to fix for mac.Brecht Van Lommel
2011-12-04Fix cycles compile issue after last commit.Brecht Van Lommel