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
2019-02-02Merge branch 'blender2.7'Campbell Barton
2019-02-01Fix T61078: Cycles crash with adaptive smoke sim playback.Brecht Van Lommel
3D image dimensions should be updated on the Cycles side before loading the smoke data.
2018-12-11Merge branch 'master' into blender2.8Sergey Sharybin
2018-12-11Update code to be compatible with OIIO 2.0Sergey Sharybin
There are some changes in API of OpenImageIO, but those are quite simple to keep working with older and newer library versions. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4064
2018-11-09Merge branch 'master' into blender2.8Sergey Sharybin
2018-11-09Cycles: Cleanup, spacing after preprocessorSergey Sharybin
It is supposed to be two spaces before comment stating which if else/endif statements corresponds to. Was mainly violated in the header guards.
2018-07-27Merge branch 'master' into blender2.8Sergey Sharybin
2018-07-27Cycles: Initial implementation of detailed statisticsSergey Sharybin
Gathers information about object geometry and textures. Very basic at this moment, but need to start somewhere. Things which needs to be included still: - "Runtime" information, like BVH. While it is not directly controllable by artists, it's still important to know. - Device array sizes. Again, not under artists control, but is added to the overall size. - Memory peak at different synchronization stages. At this point it simply prints info to the stdout after F12 is done, need better control over that too. Reviewers: brecht Differential Revision: https://developer.blender.org/D3566
2018-07-27Cycles: Cleanup, spellingSergey Sharybin
2018-07-27Cycles: Cleanup, move functions outside of class methodsSergey Sharybin
There is no reason or justification to have helper functions as class methods: they do not depend on anything in the class itself. There are probably more cases like that.
2018-07-27Cycles: Cleanup, remove unused functionSergey Sharybin
2018-07-27Cycles: Cleanup in image manager, switch statement instead of if-elseSergey Sharybin
Allows to catch enumerator values which are missing from being handled. Also use `const char*`, no need to construct string just to throw it away.
2018-07-06Merge branch 'master' into blender2.8Campbell Barton
2018-07-06Cleanup: strip trailing space for cyclesCampbell Barton
2018-06-14Merge remote-tracking branch 'origin/master' into blender2.8Lukas Stockner
2018-06-14Cycles: Automatically detect HDRI resolution by default and use non-square ↵Lukas Stockner
sampling map The automatic mode checks all Enviroment Texture nodes and picks the largest image's resolution. If there are no Enviroment Textures, it just uses the old default. Also, the sampling map now isn't limited to square shapes. The automatic detection uses the exact image size, the manual UI option now halves the value to get the height. A default aspect ratio of 2:1 makes sense since this is what most HDRIs use. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D3477
2018-06-11Fix T55436: crash with point density and shader tweaking.Brecht Van Lommel
With copy-on-write we can no longer assumes the point density data is available after Cycles synchronization with Blender data is done. So force it to be loaded earlier, even if it's not great for interactivity.
2018-03-01Cycles volume: fast empty space optimization by generating a tight meshKévin Dietrich
around the volume. We generate a tight mesh around the active voxels of the volume in order to effectively skip empty space, and start volume ray marching as close to interesting volume data as possible. See code comments for details on how the mesh generation algorithm works. This gives up to 2x speedups in some scenes. Reviewed by: brecht, dingto Reviewers: #cycles Subscribers: lvxejay, jtheninja, brecht Differential Revision: https://developer.blender.org/D3038
2018-02-28Code cleanup: refactor Cycles image metadata retrieval to use a struct.Brecht Van Lommel
2018-02-18Cycles: Remove Fermi texture code.Thomas Dinges
This should be the last Fermi removal commit, unless I missed something. It's been a pleasure Fermi!
2018-01-03Cycles: make CUDA code a bit more robust to host/device alloc failures.Brecht Van Lommel
Fixes a few corner cases found while stress testing host mapped memory.
2017-10-21Code refactor: simplify image device memory allocation.Brecht Van Lommel
2017-08-09Revert "Cycles: Fix crash changing image after recent OpenCL changes"Mai Lavelle
This reverts commit f2809ae0a671057caa1005e2b9cc91648c33dd1f.
2017-08-08Cycles: Fix crash changing image after recent OpenCL changesSergey Sharybin
Steps to reproduce: - Create shader Image texture -> Diffuse BSDF -> Output. Do NOT select image yet! - Start viewport render. - Select image from the ID browser of Image Texture node. Thing is: with the memory manager we always need to inform device that memory was freed.
2017-08-08Cycles: Pack kernel textures into buffers for OpenCLMai Lavelle
Image textures were being packed into a single buffer for OpenCL, which limited the amount of memory available for images to the size of one buffer (usually 4gb on AMD hardware). By packing textures into multiple buffers that limit is removed, while simultaneously reducing the number of buffers that need to be passed to each kernel. Benchmarks were within 2%. Fixes T51554. Differential Revision: https://developer.blender.org/D2745
2017-07-21Fix T52135: Cycles should not keep generated/packed images in memory after ↵Brecht Van Lommel
render.
2017-05-04Fix T51412: Instant crash with texture plugged into the Displacement outputSergey Sharybin
The issue was caused by unlimited textures commit, root of the issue is that displacement code updates some of the image slots directly, so it needs to ensure device vectors are all proper size.
2017-04-28Cycles: Simplify code around maximum OpenCL info size allocationSergey Sharybin
2017-04-28Cycles: Cleanup, de-duplicate image packing of various typesSergey Sharybin
2017-04-27Unlimited number of textures for CyclesStefan Werner
This patch allows for an unlimited number of textures in Cycles where the hardware allows. It replaces a number static arrays with dynamic arrays and changes the way the flat_slot indices are calculated. Eventually, I'd like to get to a point where there are only flat slots left and textures off all kinds are stored in a single array. Note that the arrays in DeviceScene are changed from containing device_vector<T> objects to device_vector<T>* pointers. Ideally, I'd like to store objects, but dynamic resizing of a std:vector in pre-C++11 calls the copy constructor, which for a good reason is not implemented for device_vector. Once we require C++11 for Cycles builds, we can implement a move constructor for device_vector and store objects again. The limits for CUDA Fermi hardware still apply. Reviewers: tod_baudais, InsigMathK, dingto, #cycles Reviewed By: dingto, #cycles Subscribers: dingto, smellslikedonkey Differential Revision: https://developer.blender.org/D2650
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-01-25Fix T50032: Wrong render result when same image is used with and without alphaSergey Sharybin
2016-11-29Cycles: Pass extra array size argument to builtin image pixels functionsSergey Sharybin
This is a way to avoid possible memory corruption when render threads works in parallel with UI thread. Not guarantees complete safe, but makes things easier to check anyway.
2016-11-22Cycles: Implement texture size limit simplify optionSergey Sharybin
Main intention is to give some quick way to control scene's memory usage by clamping textures which are too big. This is really handy on the early production stages when you first create really nice looking hi-res textures and only when it all works and approved start investing time on optimizing your scene. This is a new option in Scene Simplify panel and it acts as following: when texture size is bigger than the given value it'll be scaled down by half for until it fits into given limit. There are various possible improvements, such as: - Use threaded scaling using our own task manager. This is actually one of the main reasons why image resize is manually-implemented instead of using OIIO's resize. Other reason here is that API seems limited to construct 3D texture description easily. - Vectorization of uchar4/float4/half4 textures. - Use something smarter than box filter. Was playing with some other filters, but not sure they are really better: they kind of causes more fuzzy edges. Even with such a TODOs in the code the option is already quite useful. Reviewers: brecht Reviewed By: brecht Subscribers: jtheninja, Blendify, gregzaal, venomgfx Differential Revision: https://developer.blender.org/D2362
2016-11-14Cycles: De-duplicate image loading functionsSergey Sharybin
The code was templated already, so don't see big reason to have 3 versions of templated functions. It was giving some extra code to maintain and in fact already had divergency for support of huge image resolution (missing size_t cast in byte image loading). There should be no changes visible by artists.
2016-08-11Cycles: Change code order for Image Data Types.Thomas Dinges
Now we have the 4 component ones first (float4, byte4, half4) followed by the 1 component ones (float, byte, half). Makes code a bit more consistent and also reduces code a bit when enabling half support on GPU in next commit. This also exposed a typo in half CPU images for 3D textures, which wasn't used yet, but good to have that one fixed anyway.
2016-07-02Fix Cycles OpenCL not taking Extend and Clip extension types into account.Thomas Dinges
(See T48720).
2016-06-19Cycles: Support half and half4 textures.Thomas Dinges
This is an initial commit for half texture support in Cycles. It adds the basic infrastructure inside of the ImageManager and support for these textures on CPU. Supported: * Half Float OpenEXR images (can be used for e.g HDRs or Normalmaps) now use 1/2 the memory, when loaded via disk (OIIO). ToDo: Various things like support for inbuilt half textures, GPU... will come later, step by step. Part of my GSoC 2016.
2016-05-28Cleanup: Further tweaks for consistency and simplifications.Thomas Dinges
Now I can start adding half float without adding even bigger mess to all these functions. ;)
2016-05-23Cleanup: Deduplicate image loading functions using templates.Thomas Dinges
2016-05-12Cycles: Add support for single channel byte textures.Thomas Dinges
This way, we also save 3/4th of memory for single channel byte textures (e.g. Bump Maps). Note: In order for this to work, the texture *must* have 1 channel only. In Gimp you can e.g. do that via the menu: Image -> Mode -> Grayscale
2016-05-11Cycles: Add support for single channel float textures on CPU.Thomas Dinges
Until now, single channel textures were packed into a float4, wasting 3 floats per pixel. Memory usage of such textures is now reduced by 3/4. Voxel Attributes such as density, flame and heat benefit from this, but also Bumpmaps with one channel. This commit also includes some cleanup and code deduplication for image loading. Example Smoke render from Cosmos Laundromat: http://www.pasteall.org/pic/show.php?id=102972 Memory here went down from ~600MB to ~300MB. Reviewers: #cycles, brecht Differential Revision: https://developer.blender.org/D1981
2016-05-11Cycles: Use explicit qualifier for single-argument constructorsSergey Sharybin
Almost in all cases we want such constructors to be explicit, there are exceptions but only in few places.
2016-05-09Cleanup: More byte -> byte4 renaming for consistency.Thomas Dinges
2016-05-08Fix T48380: fix for recent image manager code cleanup.Brecht Van Lommel
2016-05-08Code cleanup: tweaks to image manager code found while looking into previous ↵Brecht Van Lommel
bug.
2016-05-06Cleanup: Rename texture slots to float4 and byte, to distinguish from future ↵Thomas Dinges
float (single channel) and half_float slots. Should be no functional changes, tested CPU and CUDA.
2016-05-06Code refactor: Change Cycles ImageManager arrays.Thomas Dinges
This commit simplifies the code for the image arrays. Instead of having 2 arrays for float and byte textures, we now use an array here. This simplifies the code (avoids code duplication), and makes it possible to easily extend it with float1 and half-float types in the future. Only tested with CPU yet, plus some cleanup / code de-duplication is still possible here. Reviewers: #cycles, sergey Reviewed By: #cycles, sergey Subscribers: jesterking, sergey Differential Revision: https://developer.blender.org/D1969
2016-04-16Cycles: Refactor Image Texture limits.Thomas Dinges
Instead of treating Fermi GPU limits as default, and overriding them for other devices, we now nicely set them for each platform. * Due to setting values for all platforms, we don't have to offset the slot id for OpenCL anymore, as the image manager wont add float images for OpenCL now. * Bugfix: TEX_NUM_FLOAT_IMAGES was always 5, even for CPU, so the code in svm_image.h clamped float textures with alpha on CPU after the 5th slot. Reviewers: #cycles, brecht Reviewed By: #cycles, brecht Subscribers: brecht Differential Revision: https://developer.blender.org/D1925
2016-04-16Cleanup: Move texture definitions to util, to avoid bad level include.Thomas Dinges