Age | Commit message (Collapse) | Author |
|
Also polished the raytracing algorithm.
|
|
|
|
This way we don't have float precision issue we had before and we save some bandwidth.
|
|
Push to 9 resolve sample.
Add an normalization as an option since it gives harsh limits.
|
|
|
|
This prevent black reflection when initializing SSR.
|
|
Also fix the roughness factors.
|
|
|
|
This requires to check for backface after a hit.
|
|
|
|
|
|
Also add simple reprojection and screen fade to the SSR resolve pass.
|
|
|
|
|
|
Still imprecise.
|
|
|
|
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.
|
|
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.
|
|
An id is given to each glossy node in order to determine which specular lobe is using ssr.
|
|
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.
|
|
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.
|
|
Only applies to selected manipulators
(currently not used for regular manipulators).
|
|
Needed for operators run by the manipulator keymap
so they can access their selected manipulators.
|
|
Was only handling keymap items when the cursor
was hovering over a manipulator.
|
|
Also remove manipulator_group argument, the info's in the class.
|
|
|
|
|
|
|
|
|
|
In the future we should make these two buttons on one line
However because we need `gen_context = 'PAINT_STENCIL'`
this is a little hard and we need to find a proper solution.
One might be using `context_pointer_set`
Patch by @craig_jones with edits by @blendify
Differential Revision: https://developer.blender.org/D2710
|
|
In the future we should make these two buttons on one line
However because we need `gen_context = 'PAINT_STENCIL'`
this is a little hard and we need to find a proper solution.
One might be using `context_pointer_set`
Patch by @craig_jones with edits by @blendify
Differential Revision: https://developer.blender.org/D2710
|
|
# Conflicts:
# source/blender/editors/transform/transform_snap_object.c
|
|
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.
|
|
The same manipulator map handler would accumulate,
slowing down interactions.
|
|
|
|
|
|
|
|
Those functions did not use evaluation context.
Also fixed lots of unused variables warnings caused by commented out code which
needs to be ported away from DerivedMesh and to evaluation context.
|
|
|
|
|
|
Note that some little parts of code have been dissabled because eval_ctx
was not available there. This should be resolved once DerivedMesh is
replaced.
|
|
|
|
|
|
|
|
|
|
|
|
to mesh.
Stupid mistake in own recent refactor.
|
|
issues.
The way we use it, UI_PRECISION_FLOAT_MAX is actually + 1 to get total
number of digits, and float only has 7 meaningful digits, so that define
shall be at 6.
|
|
It was annoying have to use select operator to know which facemap
applies to the active face. This behavior follows materials.
|
|
GCC seems to detect uninitialized into function calls now, but then isn't
always smart enough to see that it is actually initialized. Disabling this
warning entirely seems a bit too much, so initialize a bit more now.
|