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
path: root/intern
AgeCommit message (Collapse)Author
2015-04-28Cycles: Initialize portal variable directly, so we can avoid the one NULL check.Thomas Dinges
2015-04-27Cycles: Added support for light portalsLukas Stockner
This patch adds support for light portals: objects that help sampling the environment light, therefore improving convergence. Using them tor other lights in a unidirectional pathtracer is virtually useless. The sampling is done with the area-preserving code already used for area lamps. MIS is used both for combination of different portals and for combining portal- and envmap-sampling. The direction of portals is considered, they aren't used if the sampling point is behind them. Reviewers: sergey, dingto, #cycles Reviewed By: dingto, #cycles Subscribers: Lapineige, nutel, jtheninja, dsisco11, januz, vitorbalbio, candreacchio, TARDISMaker, lichtwerk, ace_dragon, marcog, mib2berlin, Tunge, lopataasdf, lordodin, sergey, dingto Differential Revision: https://developer.blender.org/D1133
2015-04-27Cycles: Use native saturate function for CUDASergey Sharybin
This more a workaround for CUDA optimizer which can't optimize clamp(x, 0, 1) into a single instruction and uses 4 instructions instead. Original patch by @lockal with own modification: Don't make changes outside of the kernel. They don't make any difference anyway and term saturate() has a bit different meaning outside of kernel. This gives around 2% of speedup in Barcelona file, but in more complex shader setups with lots of math nodes with clamping speedup could be much nicer. Subscribers: dingto Projects: #cycles Differential Revision: https://developer.blender.org/D1224
2015-04-26Cleanup: Code style.Thomas Dinges
2015-04-26Cleanup: Update Lookup table comments.Thomas Dinges
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-21Cleanup: styleCampbell Barton
2015-04-20Guardedalloc: Don't use aligned blocks to calculate memory sloppynessSergey Sharybin
Aligned memory is allocated with memalign() and malloc_usable_size() can't be used to measure this block.
2015-04-20Cycles: Split BVH nodes storage into inner and leaf nodesSergey Sharybin
This way we can get rid of inefficient memory usage caused by BVH boundbox part being unused by leaf nodes but still being allocated for them. Doing such split allows to save 6 of float4 values for QBVH per leaf node and 3 of float4 values for regular BVH per leaf node. This translates into following memory save using 01.01.01.G rendered without hair: Device memory size Device memory peak Global memory peak Before the patch: 4957 5051 7668 With the patch: 4467 4562 7332 The measurements are done against current master. Still need to run speed tests and it's hard to predict if it's faster or not: on the one hand leaf nodes are now much more coherent in cache, on the other hand they're not so much coherent with regular nodes anymore. Reviewers: brecht, juicyfruit Subscribers: venomgfx, eyecandy Differential Revision: https://developer.blender.org/D1236
2015-04-20Cycles: Synchronize images after building mesh BVHSergey Sharybin
This way memory overhead caused by the BVH building is not so visible and peak memory usage will be reduced. Implementing this idea is not so straightforward actually, because we need to synchronize images used for true displacement before meshes. Detecting whether image is used for true displacement is not so striaghtforward, so for now all all displacement types will synchronize images used for them. Such change brings memory usage from 4.1G to 4.0G with the 01_01_01_D scene from gooseberry. With 01_01_01_G scene it's 7.6G vs. 6.8G (before and after the patch). Reviewers: campbellbarton, juicyfruit, brecht Subscribers: eyecandy Differential Revision: https://developer.blender.org/D1217
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-04-13Cleanup: styleCampbell Barton
2015-04-13ndof: fix Linux device detect regressionMike Erwin
2015-04-10Cycles: Fix compilation error on windows after recent logging changesSergey Sharybin
2015-04-10Cycles: Cleanup, make more clear what camera utility functions are ↵Sergey Sharybin
private/public
2015-04-10Cycles: Make transform from viewplane a generic utility functionSergey Sharybin
2015-04-10Cycles: Add some statistics loggingSergey Sharybin
Covers number of entities in the scene (objects, meshes etc), also reports sizes of textures being allocated.
2015-04-09Cycles: Fix BVH counter on mesh updatesSergey Sharybin
2015-04-09Cycles: Fix wrong render result in certain configuration of render layer's ↵Sergey Sharybin
surface/hair There were some synchronization missing in cases when only one of those settings was disabled. Also added a render test for such configurations now.
2015-04-09GHOST: don't instantiate assert argCampbell Barton
When debugging is disabled, function calls in an assert should never run.
2015-04-08Fix T44046: Cycles speed regression in 2.74 (CPU only)Sergey Sharybin
Issue was caused by MSVC not being able to optimize some code out in the same way as GCC/Clang does, so now that parts of code are explicitly unfolded in order to help compilers out. This makes speed loss much less drastic on my laptop. That's probably as good as we can do with MSVC without investing infinite amount of time looking trying to workaround the optimizer.
2015-04-08Fix annoying warning in GHOST when ASSERT_ABORT is offAntony Riakiotakis
2015-04-08Cycles: Code cleanup, indentation. Was wrong in the multiview commitSergey Sharybin
2015-04-08Cleanup: remove unused definesCampbell Barton
2015-04-08Cleanup: confusing if statements & alignmentCampbell Barton
2015-04-07Cycles: Cleanup, typosSergey Sharybin
2015-04-07Cycles: Cleanup, indentationSergey Sharybin
2015-04-07Fix compilation error in Win Debug.Benoit Bolsee
2015-04-06Cycles: Cleanup, spaces around assignment operatorSergey Sharybin
Did some bad spacing in recent commits, better to get rid of those so they does not confuse those who're working on sources.
2015-04-06Cycles: Avoid doing paranoid checks in filepath of builtin imagesSergey Sharybin
Originally we thought it's needed in order to distinguish builtin file from filename which starts with '@', but the filepath is actually full path there and it's unlikely to have file system where '@' is a proper root character. Surprisingly this does not give visible speed differences, but it's still nice to get rid of redundant check.
2015-04-06Cycles: Support bultin 3d textures with OSL backendSergey Sharybin
2015-04-06Cycles: More instant feedback on progressive rendering for first sampleSergey Sharybin
Main purpose of this change is to make material preview appearing more instant after the shader tweaks.
2015-04-06Cycles: Experiment with making previews more interactiveSergey Sharybin
There were two major problems with the interactivity of material previews: - Beckmann tables were re-generated on every material tweak. This is because preview scene is not set to be persistent, so re-triggering the render leads to the full scene re-sync. - Images could take rather noticeable time to load with OIIO from the disk on every tweak. This patch addressed this two issues in the following way: - Beckmann tables are now static on CPU memory. They're couple of hundred kilobytes only, so wouldn't expect this to be an issue. And they're needed for almost every render anyway. This actually also makes blackbody table to be static, but it's even smaller than beckmann table. Not totally happy with this approach, but others seems to complicate things quite a bit with all this render engine life time and so.. - For preview rendering all images are considered to be built-in. This means instead of OIIO which re-loads images on every re-render they're coming from ImBuf cache which is fully manageable from blender side and unused images gets freed later. This would make it impossible to have mipmapping with OSL for now, but we'll be working on that later anyway and don't think mipmaps are really so crucial for the material preview. This seems to be a better alternative to making preview scene persistent, because of much optimal memory control from blender side. Reviewers: brecht, juicyfruit, campbellbarton, dingto Subscribers: eyecandy, venomgfx Differential Revision: https://developer.blender.org/D1132
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-04-06Cycles: Free unused image buffers when rendering with locked interfaceSergey Sharybin
It is still possible to free a bit more memory by detecting buildin images which are not used by shaders, but that's not going to improve memory usage that much to bother about this now. Such change brings peak memory usage from 4.1GB to 3.4GB when rendering 01_01_01_D layout scene from the Gooseberry project. Mainly because of freeing memory used by rather huge environment map in the viewport. Reviewers: campbellbarton, juicyfruit Subscribers: eyecandy Differential Revision: https://developer.blender.org/D1215
2015-04-06Fix T44222: Crash using pointiness attribute for volume shadersSergey Sharybin
This attribute is not really supported for volumes, so it get's converted to constant 0 at shader compile time. TODO: We should consider doing the same for tangent attribute in order to save some annoying checks at tracing time.
2015-04-06Cycles: de-duplicate fast/approximate erf function calculationSergey Sharybin
Our own implementation is in fact the same performance as in fast_math from OpenShadingLanguage, but implementation from fast_math is using explicit madd function, which increases chance of compiler deciding to use intrinsics.
2015-04-05Fix T44269: Typo in volume_attribute_float:geom_volume.hSergey Sharybin
Was rather harmless typo since we either pass both dx,dy or pass both NULL.
2015-04-05Cycles: Avoid using lookup table for Beckmann slopes on GPUSergey Sharybin
This patch is based on some work done in D788 and re-formulation from Beckmann implementation in OpenShadingLanguage. Skipping texture lookup helps a lot on GPUs where it's more expensive to access texture memory than to do some extra calculation in threads. CPU code still uses lookup-table based approach since this seems to be still faster (at least on computers i've got access to). This change gives about 2% speedup on BMW scene with GTX560TI.
2015-04-05Cycles: Remove unused Beckmann slope sampling codeSergey Sharybin
It did not preserve stratification too well and lookup-table approach was working much better. There are now also some more interesting forumlation from Wenzel and OpenShadingLanguage which should work better than old code.
2015-04-05Fix T44265: Win32 error checking GL versionCampbell Barton
2015-04-04Fix T44266: win32 delete's malloc'd memoryCampbell Barton
2015-04-04Ghost: update tests for recent changesCampbell Barton
2015-04-04Cleanup: Typo fix in HSV code.Thomas Dinges
2015-04-02Cycles: Make guarded allocator happy about strict C++ flagsSergey Sharybin
2015-04-01Cycles: Make SSS intersection closer to regular triangle intersectionSergey Sharybin
2015-04-01Cycles: Remove unused direction from triangle intersection functionsSergey Sharybin
This argument was unused and got nicely optimized out. But once it starts to be using registers are getting stressed really crazy, causing slow down of render.
2015-04-01Fix T44113: Ashikhmin-Shirley distribution of glossy shader at 0 roughness ↵Sergey Sharybin
causes artifacts when background uses MIS Was a division by zero error, solved in the same way as beckmann/ggx deals with small roughness values.
2015-03-31Cycles: Avoid float/int conversion in few placesSergey Sharybin
2015-03-31Cycles: Fix typo in distance heuristic for shadow raysSergey Sharybin
It's not that bad because this typo could only caused not really efficient BVH traversal, causing higher render times. Not as if it was causing render artifacts.