b3466921b8
Depsgraph: Fix typo in comment
2017-07-24 16:32:07 +02:00
b11926487f
Depsgraph: Fix crash when trying to create full copy of scene
2017-07-24 16:24:41 +02:00
1ddb3c953d
Depsgraph: Textures and images are actually covered by depsgraph
...
Might be missing relation links tho.
2017-07-24 16:24:41 +02:00
deecfb5476
Depsgraph: Avoid creating ID nodes for objects which are coming from collections and not layers
...
If object is only listed in collection but not added to any of layers we shouldn't create
placeholder for it, because otherwise we'll leave lots of placeholder ID nodes.
Question: can we make this exception to be more reliable?
2017-07-24 16:24:41 +02:00
7b420e1908
Depsgraph: Be consistent about id type variable name
2017-07-24 16:24:41 +02:00
7721f8a269
Depsgraph: Cleanup, use utility function to clear lists
2017-07-24 16:24:41 +02:00
4719dbafdf
Depsgraph: Ignore palettes from copy-on-write routines
...
They are not covered by dependency graph.
2017-07-24 16:24:41 +02:00
c21dd69060
Eevee: Fix crash when saving file with motion blur.
2017-07-24 16:21:43 +02:00
8dd0ce6b78
Eevee: Fix double buffer issue.
2017-07-24 15:55:21 +02:00
27dd82a951
Eevee: SSR: Refactor multiple rays. Plus other changes...
...
-Allow a maximum of 4 rays per trace pixel.
-Removes parameter Normalize: use normalization all the time now.
-Add firefly clamp slider.
2017-07-24 15:36:37 +02:00
7585c82722
Eevee: Make MinmaxZ compatible with textureArray
2017-07-24 15:36:37 +02:00
85f1b7358a
Eevee: Planar Reflection: Remove distance approximation.
...
This commit separate the depth texture into another texture array.
This remove the need to output radial depth into alpha.
Unfortunatly it's difficult to recover position from the non linear depth buffer when applying reflection without adding a bunch of stuff.
This is in preparation of SSR planar reflections.
2017-07-24 15:36:37 +02:00
1d99d08d50
Eevee: SSR: Add two hit option.
...
This option add another raytrace per pixel, clearing some noise.
But multiplying the raytrace cost.
2017-07-24 15:36:37 +02:00
76bf4f2cd3
Eevee: SSR: Fix Opengl Render.
...
Add a constant number of 4 drawing loop to accumulate 4 "bounce" of light in SSRs.
2017-07-24 15:36:36 +02:00
56ba01a561
Eevee: SSR: Fixed problem with un-initialized texture.
...
Also add another debug buffer and cleanup in effect_ssr_frag.glsl
2017-07-24 15:36:36 +02:00
c5f4342692
Eevee: SSR: Small fixes
...
- Encode normals for other opaque bsdf so they are not rejected by the normal facing test.
- Early out non reflective surfaces.
- Add small offset to raytrace to avoid self intersection.
- Fix fallback probes not appearing.
2017-07-24 15:36:22 +02:00
f6c60ffcad
Eevee: SSR: Add Weight Normalization option.
2017-07-24 15:28:27 +02:00
e5dae98999
Eevee: SSR: Add View Facing fadeout.
...
Also make hit boolean depends on hit coord not on pdf.
2017-07-24 15:28:27 +02:00
d2462e3d26
Eevee: SSR: Add fullscreen raytrace option and Screen border factor.
2017-07-24 15:28:27 +02:00
9906ef06b1
Eevee: SSR: Use noise to dither the stride banding.
2017-07-24 15:28:27 +02:00
a3732412ad
Eevee: SSR: Add stride and thickness parameters.
...
Also polished the raytracing algorithm.
2017-07-24 15:28:27 +02:00
18aa6cf1cc
Eevee: SSR: Add fullscreen raytrace.
2017-07-24 15:28:27 +02:00
e0c1323737
Eevee: HiZ buffer: Split into two 24bit depth buffer
...
This way we don't have float precision issue we had before and we save some bandwidth.
2017-07-24 15:28:27 +02:00
a2932078ec
Eevee: SSR: Add firefly filter and refine noise reduction.
...
Push to 9 resolve sample.
Add an normalization as an option since it gives harsh limits.
2017-07-24 15:28:27 +02:00
b576d06050
Eevee: Codestyle.
2017-07-24 15:28:27 +02:00
e8912dd844
Eevee: SSR: Do the SSR pass only for probes if there is no valid double buffer.
...
This prevent black reflection when initializing SSR.
2017-07-24 15:28:27 +02:00
f1bf9d6bfb
Eevee: SSR: Add mipmap filtering and bias to reduce noise.
...
Also fix the roughness factors.
2017-07-24 15:28:27 +02:00
09413fad12
Eevee: Fix glossy node roughness.
2017-07-24 15:28:27 +02:00
babef873fc
Eevee: SSR: Don't block the ray if tracing behind object.
...
This requires to check for backface after a hit.
2017-07-24 15:28:27 +02:00
72a4778391
Eevee: SSR: Add per pixel resolve of multiple rays.
2017-07-24 15:28:27 +02:00
b1a8803c24
Eevee: SSR: Add roughness random rays.
2017-07-24 15:28:27 +02:00
7938848b63
Eevee: SSR: Add double buffer so we can read previous frame color.
...
Also add simple reprojection and screen fade to the SSR resolve pass.
2017-07-24 15:28:27 +02:00
14bedf80cd
Eevee: SSR: Make raymarch step bigger.
2017-07-24 15:28:27 +02:00
ebc2833ca1
Eevee: Fix Shader compilation.
2017-07-24 15:28:27 +02:00
3be8ab881e
Eevee: SSR: Add simple raytracing.
...
Still imprecise.
2017-07-24 15:28:27 +02:00
19323a0ff5
Eevee: Fix clip/hashed alpha prepass/shadow crash.
2017-07-24 15:28:27 +02:00
1d00a66f5d
Eevee: SSR: Encode Normal in buffer and add cubemap fallback.
...
Normals can point away from the camera so we cannot just put XY in the buffer and reconstruct Z later as we would not know the sign of Z.
2017-07-24 15:28:27 +02:00
2a84331f02
Eevee: SSR: Output ssr datas to buffers.
...
Output in 2 buffers Normals, Specular Color and roughness.
This way we can raytrace in a defered fashion and blend the exact contribution of the specular lobe on top of the opaque pass.
2017-07-24 15:28:27 +02:00
04f8e1b21c
Eevee: Ssr: Add ssr id to glossy nodes.
...
An id is given to each glossy node in order to determine which specular lobe is using ssr.
2017-07-24 15:28:27 +02:00
b7fbe6ae5d
Initialize scene layer for evaluation context used by preview renderer
...
Ideally need to clean and sane and impossible-to-break way of making sure
evaluation context is fully initialized, but that would need some thoughts
and experimentation.
2017-07-24 15:00:44 +02:00
bbb1c0a077
Render preview: Always make sure all ID datablocks references by objects are in bmain
...
Otherwise we'll have confused dependency graph builder, which wouldn't be able to
build proper graph.
Didn't find a way to avoid world copy here, we can probably escape with some shallow
copy here, but that will currently complicate code a lot.
Ideas to consider here:
- Use shallow copy of existing world after new ID management API is in place.
Downside would be thread safety, kind of nice to have everything local.
- Switch depsgraph away from ID_TAG and do hash lookup or so.
This will slow down depsgraph builder, but will make code more reliable.
2017-07-24 14:50:26 +02:00
4fd3582b32
Manipulator: view-selected support
...
Only applies to selected manipulators
(currently not used for regular manipulators).
2017-07-24 17:26:02 +10:00
d53028b450
Manipulator: Expose Context.manipulator_group
...
Needed for operators run by the manipulator keymap
so they can access their selected manipulators.
2017-07-24 17:21:09 +10:00
c7bc2f5e87
Manipulator: handle keymaps for selected items
...
Was only handling keymap items when the cursor
was hovering over a manipulator.
2017-07-24 17:19:36 +10:00
392b6a303e
Manipulator: setup_keymap callback
...
Also remove manipulator_group argument, the info's in the class.
2017-07-24 03:27:57 +10:00
9a5d06cdd5
Manipulator: use select keymap when enabled
2017-07-23 02:45:41 +10:00
3aeabe3afa
Merge branch 'master' into blender2.8
2017-07-21 18:28:32 -04:00
a27b6ae4a9
Transform: remove unused argument
2017-07-21 18:04:05 -03:00
64fd45b1df
Merge branch 'master' into blender2.8
...
# Conflicts:
# source/blender/editors/transform/transform_snap_object.c
2017-07-21 14:20:24 -03:00
34f0250f32
Another solution to bug T38358 and related
...
Moving the ray_start_local to the new position does not lose as much precision as moving the ray_org_local to the corresponding position.
The problem of inaccuracy is within the functions: `bvhtree_ray_cast_data_precalc` and` fast_ray_nearest_hit`. And not directly in the values of the rays.
2017-07-21 14:02:16 -03:00