Dalai Felinto [Wed, 10 May 2017 13:25:26 +0000 (15:25 +0200)]
Merge remote-tracking branch 'origin/master' into blender2.8
Note: Depth placement was working already for BI, and althugh this
commit breaks it for it, it makes it work for the draw manager engines.
Dalai Felinto [Wed, 10 May 2017 12:21:14 +0000 (14:21 +0200)]
Merge commit 'origin/master (
9395646c2c44cdf568ca950700d71fe966f2d80f)' into blender2.8
Dalai Felinto [Wed, 10 May 2017 11:13:55 +0000 (13:13 +0200)]
Fixup for multi-view single eye viewport issues
In
d2f1f80a6fa I was always calling view3d_main_regio_setup_view with
NULL matrices, which is not always correct.
Campbell Barton [Wed, 10 May 2017 10:14:52 +0000 (20:14 +1000)]
DWM: Use Gawain for sculpt drawing
Currently only uses the simple shader.
Dalai Felinto [Tue, 9 May 2017 17:21:22 +0000 (19:21 +0200)]
Partial fix to Multi-View single eye issues in viewport
Handling depth loop for now (3d cursor positioning). Selection is a bit
more tricky.
Reported on 51354
Clément Foucault [Tue, 9 May 2017 22:57:53 +0000 (00:57 +0200)]
Eevee: Make Depth of field zoom invariant.
Multiply the sensor size by the viewcamtexcofac which is basicaly how scaled is the viewport relativly to the camera frame.
Clément Foucault [Tue, 9 May 2017 22:47:27 +0000 (00:47 +0200)]
Draw Manager: Handle negative scaled meshes.
Clément Foucault [Tue, 9 May 2017 21:55:02 +0000 (23:55 +0200)]
Draw Manager: Extend simplification to UBOs & fix a context error.
Clément Foucault [Tue, 9 May 2017 20:45:40 +0000 (22:45 +0200)]
Small cleanup
Clément Foucault [Tue, 9 May 2017 20:08:25 +0000 (22:08 +0200)]
Draw Manager: Simplify usage and check for errors.
Clément Foucault [Tue, 9 May 2017 19:57:13 +0000 (21:57 +0200)]
Eevee: Initial Depth Of Field commit.
Clément Foucault [Tue, 9 May 2017 19:52:22 +0000 (21:52 +0200)]
GPUCompositing: Fix comment and component count.
Clément Foucault [Tue, 9 May 2017 19:51:30 +0000 (21:51 +0200)]
Draw Manager: Add additive blending.
Clément Foucault [Tue, 9 May 2017 19:50:18 +0000 (21:50 +0200)]
Object Mode Engine: Fix grid distance if view is camera view.
Clément Foucault [Tue, 9 May 2017 19:49:30 +0000 (21:49 +0200)]
GPUTexture: Add support for 32bit textures.
Clément Foucault [Tue, 9 May 2017 19:48:46 +0000 (21:48 +0200)]
Draw Manager: Add Triangle batching and empty batch.
This is usefull for Depth Of Field because we don't need to store data for each sprites and just generate them when rendering.
Clément Foucault [Tue, 9 May 2017 19:46:04 +0000 (21:46 +0200)]
Draw Manager: Fullscreen triangle
Used a triangle instead of a quad for fullscreen passes.
Aaron Carlisle [Tue, 9 May 2017 18:36:00 +0000 (14:36 -0400)]
Fix errors in vse ui commit
- Fixes double labels
- Fixes an aligned layout when un-needed
- Fixes an error were a layout can become disabled but never enabled again
Thomas Beck [Tue, 9 May 2017 18:12:25 +0000 (20:12 +0200)]
Fix (unreported): Crash if a right click is performed on an image datablock (open btn f.e.).
Only access/insert the button_pointer if it's not null...
Dalai Felinto [Tue, 9 May 2017 15:56:16 +0000 (17:56 +0200)]
Merge remote-tracking branch 'origin/master' into blender2.8
Sergey Sharybin [Tue, 9 May 2017 14:12:06 +0000 (16:12 +0200)]
Cycles: Use more stable version of integer square root function
Old code was working quite unreliable in combination with fast math
flag, especially when compiling with Clang. It seems we were hitting
result of the following bug submitted to Clang [1].
Basically, it was happening so that (int)sqrtf(64) was 7 when Cycles
is built with Clang but was correct 8 when built with GCC.
This commit works this around. Annoying, but don't see other way to
keep sampling pattern the same for Clang and GCC.
[1] https://bugs.llvm.org//show_bug.cgi?id=24063
Sergey Sharybin [Tue, 9 May 2017 14:29:29 +0000 (16:29 +0200)]
Cycles: Properly free memory used by KernelGlobals
Previous logic did not free memory used by vector classes
which were storing images, causing memory leaks.
Bastien Montagne [Tue, 9 May 2017 14:29:48 +0000 (16:29 +0200)]
Fix shadow shader to support core profile.
Dalai Felinto [Tue, 9 May 2017 13:09:39 +0000 (15:09 +0200)]
glPushAttrib/Pop change implementation to use a stack
The original implementation (
cbd78c81268f) broke depth of field.
Jens Verwiebe [Tue, 9 May 2017 12:44:59 +0000 (14:44 +0200)]
Fix denoiser tooltip
Bastien Montagne [Tue, 9 May 2017 12:33:05 +0000 (14:33 +0200)]
Merge branch 'master' into blender2.8
Dalai Felinto [Tue, 9 May 2017 10:33:13 +0000 (12:33 +0200)]
Expose camera stereo settings in Clay engines
Carlo Andreacchio [Tue, 9 May 2017 10:31:19 +0000 (12:31 +0200)]
Fix T51434: Module math operation is wrong in GLSL shading
Based on patch from @lazydodo.
Reviewers: sergey
Differential Revision: https://developer.blender.org/D2661
Sergey Sharybin [Tue, 9 May 2017 09:44:18 +0000 (11:44 +0200)]
Cycles: Enable BPT for NVidia OpenCL
Sergey Sharybin [Tue, 9 May 2017 08:44:31 +0000 (10:44 +0200)]
Fix assert failure caused by bug in sequencer interface script
If icon_only is True then one must not pass text attribute.
Sergey Sharybin [Tue, 9 May 2017 08:16:42 +0000 (10:16 +0200)]
Libmv: Fix strict compiler warnings, unused variables
Sergey Sharybin [Tue, 9 May 2017 08:05:54 +0000 (10:05 +0200)]
Fix T51439: Object not updated when particle system settings change in 2.8
A bit too early to disable workaround for particles.
Guess it was commented out after particles removal but was not brought back
after particles restore commit.
Aaron Carlisle [Tue, 9 May 2017 03:32:06 +0000 (23:32 -0400)]
UI: Editor menu, move VSE below MCE
The idea here is to keep things in a logical order to match the order of ones worflow.
This concept can be seen in Graph > Dope Sheet > NLA. This issue is mainly affecting the manual.
Fixes T50709
Differential Revision: https://developer.blender.org/D2630
Campbell Barton [Tue, 9 May 2017 00:56:22 +0000 (10:56 +1000)]
DWM: share positions & normals in shading VBO.
Campbell Barton [Tue, 9 May 2017 00:38:52 +0000 (10:38 +1000)]
Cleanup: rename layer-names -> layer-uuid
These names are created from a hash,
don't confuse with actual layer names.
Campbell Barton [Mon, 8 May 2017 22:50:45 +0000 (08:50 +1000)]
DWM: Tangent support for editmesh
Sergey Sharybin [Mon, 8 May 2017 15:44:17 +0000 (17:44 +0200)]
Merge branch 'master' into blender2.8
Sergey Sharybin [Mon, 8 May 2017 15:43:32 +0000 (17:43 +0200)]
Fix missing render update when building without OCIO but having GLSL image draw method
Sergey Sharybin [Mon, 8 May 2017 14:45:07 +0000 (16:45 +0200)]
Fix crash and assert failure when using OCIO GLSL draw mode and color management disabled
The issue was happening when display device is set to None, which makes it so
all the color transformation is a no-op which does not really require any LUT.
This is something we can not know from Blender side easily, because LUT sampling
and related logic is fully done in OCIO library itself. The following happens:
- OCIO sees that no LUT is needed and uses simple pass-through logic in the
color conversion function.
- GLSL compiles sees that uniform used for LUT is unused in the GLSL code and
strips it out.
We can not know this from Blender side because technically any conversion to
the same space might be a no-op and that we wouldn't know without some tricky
parse of the OCIO configuration.
So for now we simply avoid crash but are disabling checks for existence of the
uniform.
Ideally would be nice to have some GLSL-code parses which gets the uniforms
from the code itself, so we can distinguish between typo in the uniform name
and uniform being optimized out.
Sergey Sharybin [Mon, 8 May 2017 14:40:48 +0000 (16:40 +0200)]
Add comment about vertex format created in OCIO
Sergey Sharybin [Mon, 8 May 2017 14:38:49 +0000 (16:38 +0200)]
Fix wrong attributes and shader binding in sequencer when using OCIO
Sergey Sharybin [Mon, 8 May 2017 14:31:10 +0000 (16:31 +0200)]
Fix hardcoded attribute locations used in image draw
Sergey Sharybin [Mon, 8 May 2017 13:59:00 +0000 (15:59 +0200)]
Fix OCIO shader being attmepted to be unbound twice
Sergey Sharybin [Mon, 8 May 2017 13:51:17 +0000 (15:51 +0200)]
Merge branch 'master' into blender2.8
Sergey Sharybin [Mon, 8 May 2017 13:40:48 +0000 (15:40 +0200)]
Cycles: Fix compilation error with gcc-6.3.0 and debug mode
Luca Rood [Mon, 8 May 2017 13:24:05 +0000 (15:24 +0200)]
Fix capitalization in some particle panels
Sergey Sharybin [Mon, 8 May 2017 12:54:49 +0000 (14:54 +0200)]
Sequencer: Fix broken interface script since
415ff74
Luca Rood [Mon, 8 May 2017 09:47:47 +0000 (11:47 +0200)]
Fix T51379: Entering particle edit crash (temporary)
Disabled particle edit mode for now, as there's no point in fixing it
before refactor.
Campbell Barton [Mon, 8 May 2017 06:25:29 +0000 (16:25 +1000)]
DWM: Share VBO positions & normals for mesh cache
Select, weight & color cache included redundant position and normals.
Use multiple VBO's per batch for more efficient storage.
Campbell Barton [Mon, 8 May 2017 06:16:28 +0000 (16:16 +1000)]
DWM: Fix face center's not working w/ hidden faces
Campbell Barton [Mon, 8 May 2017 04:44:13 +0000 (14:44 +1000)]
Accidentally left show_weight enabled
Campbell Barton [Mon, 8 May 2017 02:57:38 +0000 (12:57 +1000)]
Cleanup: use struct for custom-data offsets
Campbell Barton [Mon, 8 May 2017 02:46:54 +0000 (12:46 +1000)]
DWM: show weights in edit-mode
Engine collection settings aren't currently flushed,
once they are this will work as expected.
Campbell Barton [Mon, 8 May 2017 02:41:05 +0000 (12:41 +1000)]
Vertex color access for edit-mode
Currently not used, adding since legacy drawing can display this.
Campbell Barton [Mon, 8 May 2017 01:44:58 +0000 (11:44 +1000)]
Cleanup: style & header guards
Campbell Barton [Mon, 8 May 2017 01:15:28 +0000 (11:15 +1000)]
Cleanup: naming
Campbell Barton [Sun, 7 May 2017 23:42:36 +0000 (09:42 +1000)]
Fix T51432: Find Files case sensitive on win32
Julian Eisel [Sun, 7 May 2017 22:19:22 +0000 (00:19 +0200)]
Merge branch 'master' into blender2.8
Mike Pan [Sun, 7 May 2017 22:13:50 +0000 (18:13 -0400)]
UI: Cleanup VSE Properties Shelf
The goal is to reduce wasted space and improve clarity in the 'N' panel of the VSE through layout changes.
The changes are intentional conservative to avoid making people re-learn anything.
Author: @mpan3
Differential Revision: https://developer.blender.org/D2439
Lukas Stockner [Sun, 7 May 2017 18:32:51 +0000 (20:32 +0200)]
Remove unused node socket flag that was added in the render pass commit
Lukas Stockner [Sun, 7 May 2017 18:48:24 +0000 (20:48 +0200)]
Cycles: Fix transform addressing in the denoiser code
lazydodo [Sun, 7 May 2017 15:16:14 +0000 (09:16 -0600)]
[Cycles] Fix math problems in safe_logf
log(0) is undefined and should not have been included
log(1) == 0, dividing by zero is not recommended
Brecht Van Lommel [Sun, 7 May 2017 14:41:38 +0000 (16:41 +0200)]
Color management: add Filmic view transform to Blender configuration.
* "Filmic" and "False Color" view transforms added (sRGB display device only).
* "Very Low/Low/Base/High/Very High Contrast" looks added.
* Added filtering so that Filmic only shows look names prefixed with "Filmic - ".
Filmic Dynamic Range LUT configuration created by Troy James Sobotka with
special thanks and feedback from Guillermo, Claudio Rocha, Bassam Kurdali,
Eugenio Pignataro, Henri Hebeisen, Jason Clarke, Haarm-Peter Duiker, Thomas
Mansencal, and Timothy Lottes.
Differential Revision: https://developer.blender.org/D2659
Clément Foucault [Sun, 7 May 2017 13:22:25 +0000 (15:22 +0200)]
GPUMaterial: Fix regressions concerning background texco
Clément Foucault [Sun, 7 May 2017 12:29:51 +0000 (14:29 +0200)]
GPUViewport: Make Depth texture not depth testable.
Clément Foucault [Sun, 7 May 2017 12:28:13 +0000 (14:28 +0200)]
GPUMaterial: Make background not transparent
Clément Foucault [Sun, 7 May 2017 12:27:43 +0000 (14:27 +0200)]
Eevee: Add Bloom post process.
Based on Kino/Bloom v2 - Bloom filter for Unity
MIT license.
Clément Foucault [Sat, 6 May 2017 15:00:37 +0000 (17:00 +0200)]
Draw Manager: Fix multiple timer query issued for one pass.
Lukas Stockner [Sun, 7 May 2017 12:40:58 +0000 (14:40 +0200)]
Cycles: Implement denoising option for reducing noise in the rendered image
This commit contains the first part of the new Cycles denoising option,
which filters the resulting image using information gathered during rendering
to get rid of noise while preserving visual features as well as possible.
To use the option, enable it in the render layer options. The default settings
fit a wide range of scenes, but the user can tweak individual settings to
control the tradeoff between a noise-free image, image details, and calculation
time.
Note that the denoiser may still change in the future and that some features
are not implemented yet. The most important missing feature is animation
denoising, which uses information from multiple frames at once to produce a
flicker-free and smoother result. These features will be added in the future.
Finally, thanks to all the people who supported this project:
- Google (through the GSoC) and Theory Studios for sponsoring the development
- The authors of the papers I used for implementing the denoiser (more details
on them will be included in the technical docs)
- The other Cycles devs for feedback on the code, especially Sergey for
mentoring the GSoC project and Brecht for the code review!
- And of course the users who helped with testing, reported bugs and things
that could and/or should work better!
Julian Eisel [Sat, 6 May 2017 22:30:33 +0000 (00:30 +0200)]
Fix unfreed render-layer properties memory after loading file
Would cause pointer to allocated memory to be overridden.
Steps to recreate were:
* Start Blender
* Save
* Open saved .blend
* Close Blender -> should report unfreed memory
Campbell Barton [Sat, 6 May 2017 17:12:39 +0000 (03:12 +1000)]
Cleanup: use index syntax instead of addition
Harmless but made accessing the first element read strangely.
Campbell Barton [Sat, 6 May 2017 16:19:56 +0000 (02:19 +1000)]
Cleanup: use uint/ushort for polyfill2d
Campbell Barton [Sat, 6 May 2017 15:59:37 +0000 (01:59 +1000)]
Cleanup: use const pointers where possible
Campbell Barton [Sat, 6 May 2017 13:26:18 +0000 (23:26 +1000)]
Fix PyAPI crash assigning/deleting id-properties
Caused by D113.
Campbell Barton [Sat, 6 May 2017 12:54:28 +0000 (22:54 +1000)]
Merge branch 'master' into blender2.8
Campbell Barton [Sat, 6 May 2017 12:36:21 +0000 (22:36 +1000)]
Cleanup: unused return, redundant assignments
Campbell Barton [Fri, 5 May 2017 23:20:58 +0000 (09:20 +1000)]
PyAPI: Remove bpy.app.handlers.scene_update
This is routinely mis-used to continuously run scripts,
causing performance problems.
This should be replaced with more specific handlers, or possibly timers.
See: T47811
Campbell Barton [Fri, 5 May 2017 01:31:42 +0000 (11:31 +1000)]
Cleanup: naming
Campbell Barton [Sat, 6 May 2017 04:18:31 +0000 (14:18 +1000)]
bmesh: use 'uint' instead of 'unsigned int'
no functional changes.
Campbell Barton [Sat, 6 May 2017 01:06:20 +0000 (11:06 +1000)]
Cleanup: line length, use const struct members
Luca Rood [Fri, 5 May 2017 23:34:16 +0000 (01:34 +0200)]
Add missing weight paint vertex shader
Julian Eisel [Fri, 5 May 2017 17:28:02 +0000 (19:28 +0200)]
Fix all objects being selected when opening pre-2.80 files
Caused by rBe87ddda149b. Selecting objects shouldn't be done in such a
low level function anyway (IMHO).
Made sure duplicating objects still works correctly.
Luca Rood [Fri, 5 May 2017 16:22:07 +0000 (18:22 +0200)]
Pass selection to weight paint vert overlay instead of colors
Luca Rood [Fri, 5 May 2017 15:40:42 +0000 (17:40 +0200)]
Update paint wire when changing modes
Dalai Felinto [Fri, 5 May 2017 14:27:31 +0000 (16:27 +0200)]
Implement overridable scene render settings
This add a new set of (possible) render settings that can be defined at
the scene level and overridable at the scene layer level.
Once we get workspaces we can either add workspace inbetween scene and
scene layer evaluation. Or to replace layer settings, to avoid extra
confusion to users.
An example of this setting is "samples", as implemented now for the clay
engine.
Luca Rood [Fri, 5 May 2017 15:57:50 +0000 (17:57 +0200)]
Fix crash with no active object
Sergey Sharybin [Fri, 5 May 2017 15:54:03 +0000 (17:54 +0200)]
Cycles: Fix access array index of -1 in SSS and volume split kernels
Sergey Sharybin [Fri, 5 May 2017 14:52:23 +0000 (16:52 +0200)]
Cycles: Cleanup, indentation
Bastien Montagne [Fri, 5 May 2017 14:15:55 +0000 (16:15 +0200)]
MakeLocal: fix bad (missing) handling of proxy_from uglyness.
Those shall not be considered while checking whether a to-be-made-local
ID will end up fully local, or still be partially used by linked data...
Even less since we already do have special handling of proxies later.
Fixes main remaining issue found with 04_01_H.lighting.blend Agent327
file, and allows us to switch back to optimized post-processing in
make_local code.
Bastien Montagne [Fri, 5 May 2017 14:13:01 +0000 (16:13 +0200)]
Add a new LOOPBACK flag to libquery's callbacks.
That one tags those ugly little 'from' ID pointers (shape keys and
proxies), which point back from used to user ID, and require a lot of
special care in data-block management...
Luca Rood [Fri, 5 May 2017 12:25:43 +0000 (14:25 +0200)]
Clean up weight/vertex painting code
Now passing selection state instead of colors for the wire/face mask
overlay thing. Also added masking indication on the faces in vertex
paint.
Sergey Sharybin [Fri, 5 May 2017 11:49:46 +0000 (13:49 +0200)]
Masks: Fix broken animation after adding primitives
Was missing mask shape initialization.
Not ideal from the CPU ticks point of view, but will work for now.
Hristo Gueorguiev [Fri, 5 May 2017 11:39:52 +0000 (13:39 +0200)]
Cycles: Split kernel SSS & Volume data definitions cleanup
Hristo Gueorguiev [Fri, 5 May 2017 11:31:21 +0000 (13:31 +0200)]
Cycles: Show samples progress for OpenCL split kernel
Julian Eisel [Fri, 5 May 2017 11:11:06 +0000 (13:11 +0200)]
Fix Blenderplayer linking error
Clément Foucault [Fri, 5 May 2017 10:10:59 +0000 (12:10 +0200)]
Eevee: Fix compilation issue on certain driver.
Hristo Gueorguiev [Fri, 5 May 2017 10:57:01 +0000 (12:57 +0200)]
Cycles: Workaround for AMD GPU OpenCL compiler
Fix for SSS in BPT.
Julian Eisel [Fri, 5 May 2017 10:44:52 +0000 (12:44 +0200)]
Merge branch 'master' into blender2.8
Luca Rood [Fri, 5 May 2017 09:38:15 +0000 (11:38 +0200)]
Fix empty struct errors in paint_vertex_mode.c
Bastien Montagne [Fri, 5 May 2017 08:36:23 +0000 (10:36 +0200)]
Fix (unreported) memleak in Warp modifier copying.