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
2016-08-01Cleanup: unused vars, imports, pep8Campbell Barton
2016-03-30Cycles: Resumable render implementation for CyclesSergey Sharybin
This feature is also known by the name Samples Offset, which allows artists to render animation with given amount of samples N, but then render more samples, starting from N and ending with M (where M > N) and merge renders together as if they rendered exactly M samples. Surely such effect could be achieved by changing Seed variable, but that has possible issues with correlation artifacts and requiring to manually deal with per render layer samples and such. While we can't support all possible renderfarm-related features in Cycles it's nice to support really commonly used stuff. Here's a command how to run Blender with the new feature enabled: blender -- --cycles-resumable-num-chunks 24 --cycles-resumable-current-chunk 2 This command will divide samples range in 24 parts and render range #2 (chunk number is 1-based). This feature might be changed a bit after we'll do some tests here in the studio with it.
2016-02-12Cycles: Always use guarded allocator of vectorsSergey Sharybin
We don't have vectors re-allocation happening multiple times from inside a loop anymore, so we can safely switch to a memory guarded allocator for vectors and keep track on the memory usage at various stages of rendering. Additionally, when building from inside Blender repository, Cycles will use Blender's guarded allocator, so actual memory usage will be displayed in the Space Info header. There are couple of tricky aspects of the patch: - TaskScheduler::exit() now explicitly frees memory used by `threads`. This is needed because `threads` is a static member which destructor isn't getting called on Blender's exit which caused memory leak print to happen. This shouldn't give any measurable speed issues, reallocation of that vector is only one of fewzillion other allocations happening during synchronization. - Use regular guarded malloc (not aligned one). No idea why it was made to be aligned in the first place. Perhaps some corner case tests or so. Vector was never expected to be aligned anyway. Let's see if we'll have actual bugs with this. Reviewers: dingto, lukasstockner97, juicyfruit, brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D1774
2016-01-15Cycles-Bake: Custom Baking passesDalai Felinto
The combined pass is built with the contributions the user finds fit. It is useful for lightmap baking, as well as non-view dependent effects baking. The manual will be updated once we get closer to the 2.77 release. Meanwhile the new page can be found here: http://dalaifelinto.com/blender-manual/render/cycles/baking.html Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D1674
2016-01-12Cycles: Use special debug panel to fine-tune debug flagsSergey Sharybin
This panel is only visible when debug_value is set to 256 and has no affect in other cases. However, if debug value is not set to this value, environment variables will be used to control which features are enabled, so there's no visible changes to anyone in fact. There are some changes needed to prevent devices re-enumeration on every Cycles session create. Reviewers: juicyfruit, lukasstockner97, dingto, brecht Reviewed By: lukasstockner97, dingto Differential Revision: https://developer.blender.org/D1720
2015-09-13Cleanup: spellingCampbell Barton
2015-09-01Cleanup: pep8Campbell Barton
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-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-04-17Bake-API: reduce memory footprint when baking more than one object (Fix T41092)Dalai Felinto
Combine all the highpoly pixel arrays into a single array with a lookup object_id for each of the highpoly objects. Note: This changes the Bake API, external engines should refer to the bake_api.c for the latest API. Many thanks for Sergey Sharybin for the complete review, changes suggestion and feedback. (you rock!) Reviewers: sergey Subscribers: pildanovak, marcclintdion, monio, metalliandy, brecht Maniphest Tasks: T41092 Differential Revision: https://developer.blender.org/D772
2015-02-18Cycles: Initialize "headless" flags on engine initializationSergey Sharybin
This flag is global for all the sessions and never changes. so it doesn't really make sense to pass it around to all sessions and synchronization routines. Switched to a static member of BlenderSession now, but it's probably more logical to introduce some sort of BlenderGlobals. Doesn't currently worth a hassle for a single boolean flag tho.
2015-02-17Cycles: Make blender session aware of rendering from command lineSergey Sharybin
This way we can do some more aggressive policy about releasing temporary data during synchronization.
2015-02-10Cycles: Fallback to bottom-top tile order when rendering from the command lineSergey Sharybin
In the worst case it'll do nothing, in the best case it might give some percent of speedup because of better cache coherency. Currently it's all handled as an override on blender_python level, don't really see reason to penetrate the boolean flag further into sync code. This can always be done later if needed.
2015-01-29cleanup: pep8Campbell Barton
also remove empty class parenthesis
2015-01-06Cycles: Repot CPU and CUDA capabilities to system info operatorSergey Sharybin
For CPU it gives available instructions set (SSE, AVX and so). For GPU CUDA it reports most of the attribute values returned by cuDeviceGetAttribute(). Ideally we need to only use set of those which are driver-specific (so we don't clutter system info with values which we can get from GPU specifications and be sure they stay the same because driver can't affect on them).
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-07-22Cleanup: pep8 & redundant varsCampbell Barton
2014-07-01Fix T40888: Memory error when selecting Cycles render engineSergey Sharybin
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-02-13Code cleanup: styleCampbell Barton
2013-12-07Cycles: network render code updated for latest changes and improvedMartijn Berger
This actually works somewhat now, although viewport rendering is broken and any kind of network error or connection failure will kill Blender. * Experimental WITH_CYCLES_NETWORK cmake option * Networked Device is shown as an option next to CPU and GPU Compute * Various updates to work with the latest Cycles code * Locks and thread safety for RPC calls and tiles * Refactored pointer mapping code * Fix error in CPU brand string retrieval code This includes work by Doug Gale, Martijn Berger and Brecht Van Lommel. Reviewers: brecht Differential Revision: http://developer.blender.org/D36
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-01-28Cycles: preview rendering support for world/material/lamp.Brecht Van Lommel
Patch by Sergey, .blend by Thomas and some further tweaks by me. Still to solve later: allow external engines to specify own preview .blend, for now the code here is doing too much magic hacking on the preview scene still.
2013-01-16code cleanup:Campbell Barton
- cycles ui used 'cscene' for scene.cycles and scene.cycles_curves - style cleanup
2012-12-13Cycles: shuffle addon import statements a bit to try to fix a strange importBrecht Van Lommel
error in some builds.
2012-11-09Cycles: persistent images optionSergey Sharybin
This option enables keeping loaded images in the memory in-between of rendering. Implemented by keeping render engine alive for until Render structure is being freed. Cycles will free all data when render finishes, optionally keeping image manager untouched. All shaders, meshes, objects will be re-allocated next time rendering happens. Cycles cession and scene will be re-created from scratch if render/ scene parameters were changed. This will also allow to keep compiled OSL shaders in memory without need to re-compile them again. P.S. Performance panel could be cleaned up a bit, not so much happy with it's vertical alignment currently but not sure how to make it look better. P.P.S. Currently the only way to free images from the device is to disable Persistent Images option and start rendering.
2012-11-03Cycles OSL: refactoring and fixesBrecht Van Lommel
* Moved kernel/osl/nodes to kernel/shaders * Renamed standard attributes to use geom:, particle:, object: prefixes * Update stdosl.h to properly reflect the closures we support * Fix the wrong stdosl.h being used for building shaders * Add geom:numpolyvertices, geom:trianglevertices, geom:polyvertices attributes
2012-01-09Cycles: multi GPU rendering support.Brecht Van Lommel
The rendering device is now set in User Preferences > System, where you can choose between OpenCL/CUDA and devices. Per scene you can then still choose to use CPU or GPU rendering. Load balancing still needs to be improved, now it just splits the entire render in two, that will be done in a separate commit.
2011-12-24minor edits to cycles c/python moduleCampbell Barton
- rename 'bcycles' --> '_cycles', since this is the python convention when a py module uses a C module internally. - use macros for returning None - make with_osl an attribute rather then a function. - changes methods METH_VARARGS --> METH_O when single args are used.
2011-12-20Cycles: border rendering support, includes some refactoring in how pixels areBrecht Van Lommel
accessed on devices.
2011-11-27minor cycles editsCampbell Barton
- use sets rather then tuples - use relative imports
2011-11-15set cycles scripts as pep8 & make some minor changes.Campbell Barton
also update sphinx doc generator.
2011-11-14Cycles:Brecht Van Lommel
* Fix #29257: nan-pixels with zero roughness for glass/glossy. * Fix #29239: crash with border rendering, this is not working yet, but should no longer crash now. * Show object name in 3d view rendered draw type. * Attempt to improve Sample as Light option description.
2011-11-07Cycles: svn merge -r41613:41627 ^/trunk/blenderBrecht Van Lommel
2011-09-09Cycles:Brecht Van Lommel
* OpenCL now only uses GPU/Accelerator devices, it's only confusing if CPU device is used, easy to enable in the code for debugging. * OpenCL kernel binaries are now cached for faster startup after the first time compiling. * CUDA kernels can now be compiled and cached at runtime if the CUDA toolkit is installed. This means that even if the build does not have CUDA enabled, it's still possible to use it as long as you install the toolkit.
2011-08-28Cycles:Brecht Van Lommel
* Add alpha pass output, to use set Transparent option in Film panel. * Add Holdout closure (OSL terminology), this is like the Sky option in the internal renderer, objects with this closure show the background / zero alpha. * Add option to use Gaussian instead of Box pixel filter in the UI. * Remove camera response curves for now, they don't really belong here in the pipeline, should be moved to compositor. * Output full float values for rendering now, previously was only byte precision. * Add a patch from Thomas to get a preview passes option, but still disabled because it isn't quite working right yet. * CUDA: don't compile shader graph evaluation inline. * Convert tabs to spaces in python files.
2011-08-22Cycles:Brecht Van Lommel
* Update progress bar during render (patch by Thomas) * Show status/pass/time during render in 3d view
2011-08-16Cycles:Brecht Van Lommel
* add some (disabled) test code for using OpenImageIO in imbuf * link cycles, openimageio and boost into blender instead of a shared library * some cmakefile changes to simplify the code and follow conventions better * this may solve running cycles problems on windows XP, or give a different and hopefully more useful error message
2011-05-17Render API: first step in updating RenderEngine to work according to:Brecht Van Lommel
http://wiki.blender.org/index.php/Dev:2.5/Source/Render/RenderEngineAPI
2011-04-27Cycles render engine, initial commit. This is the engine itself, blender ↵Ton Roosendaal
modifications and build instructions will follow later. Cycles uses code from some great open source projects, many thanks them: * BVH building and traversal code from NVidia's "Understanding the Efficiency of Ray Traversal on GPUs": http://code.google.com/p/understanding-the-efficiency-of-ray-traversal-on-gpus/ * Open Shading Language for a large part of the shading system: http://code.google.com/p/openshadinglanguage/ * Blender for procedural textures and a few other nodes. * Approximate Catmull Clark subdivision from NVidia Mesh tools: http://code.google.com/p/nvidia-mesh-tools/ * Sobol direction vectors from: http://web.maths.unsw.edu.au/~fkuo/sobol/ * Film response functions from: http://www.cs.columbia.edu/CAVE/software/softlib/dorf.php