Blender Git Commit Log

All Blender Git commits.

Page: 4052 / 8462

February 13, 2017, 11:00 (GMT)
Fix T50655: Pointiness is too slow to calculate

Optimize vertex de-duplication the same way as we do doe Remove Doubles.
February 13, 2017, 10:16 (GMT)
Outliner: allow for renaming of collection and small touch ups in the
code

Note: Master Collection should not be renamable, but also, it should be marked as MasterCollection (with an icon probably)
February 13, 2017, 09:40 (GMT)
Cycles: Use Cycles-side mesh instead of C++ RNA

Those are now matching and it's faster to skip C++ RNA to
calculate pointiness.
February 13, 2017, 09:02 (GMT)
F-Curve normalization: Do proper curve min/max instead of handle min/max

Would be cool to find some way to cache the results.
February 13, 2017, 00:39 (GMT)
Cycles Denoising: Store feature pass into in PathRadiance
February 12, 2017, 23:26 (GMT)
Cycles Denoising: Fix CUDA runtime kernel compilation
February 12, 2017, 23:25 (GMT)
Cycles Denoising: Use Shadowcatcher code for the denoising visibility feature
February 12, 2017, 23:25 (GMT)
Layers: Per-Collection edit mode parsing

Note: we are now merging all the collection engines (mode and render), which eventually may get slow. But as stated before, this is to expose the functionality, while waiting for proper depsgraph integrated solution.
February 12, 2017, 20:57 (GMT)
Merge branch 'blender2.8' into workspaces
February 12, 2017, 20:43 (GMT)
Merge branch 'blender2.8' into transform-manipulators

Conflicts:
source/blender/editors/interface/resources.c
source/blender/editors/space_view3d/view3d_intern.h
source/blender/editors/transform/transform_manipulator.c
source/blender/gpu/CMakeLists.txt
source/blender/gpu/intern/gpu_shader.c
February 12, 2017, 20:27 (GMT)
Merge branch 'blender2.8' into custom-manipulators

Conflicts:
source/blender/blenkernel/intern/library_query.c
source/blender/editors/include/ED_transform.h
source/blender/editors/interface/resources.c
source/blender/editors/transform/transform_manipulator.c
February 12, 2017, 19:47 (GMT)
Layers: Per-Collection edit mode settings

I didn't manage to get the proper object context in the collection
properties editor. That said I got it working for now in a temporary way
since this will change once we get workspaces anyways

(see changes in buttons_context.c and
rna_scene.c::rna_LayerCollection_mode_settings_get)

I still need to handle the merging of the settings. I will find a
provisory solution while we wait for depsgraph.

(also layer_collection_create_mode_settings_object and layer_collection_create_mode_settings_edit could probably be elsewhere - under draw/engines likely)
Revision b104057 by Mike Erwin (master)
February 12, 2017, 06:56 (GMT)
OpenGL: enable program point size for keyframes

Allows vertex shader to determine how large to rasterize each point sprite. Forgot to do this before.
Revision 09bfc37 by Mike Erwin (master)
February 12, 2017, 06:30 (GMT)
OpenGL: convert NLA editor to new imm mode

Plus plenty of C99 cleanup.

Part of T49043. Needs more testing, I don't really use the NLA editor.
February 12, 2017, 03:48 (GMT)
Fix stack overflow in spring angle calculation
February 12, 2017, 03:00 (GMT)
Merge branch 'cycles_shadow_catcher' into temp-cycles-denoising
February 12, 2017, 02:18 (GMT)
Cycles: Experiment with shadow catcher

**DISCLAIMER**: This is more a code dump of a local branch, not somewhat really finished or so. Underlying math is the subject for rework since it's not quite physically based at all.

Publishing to start collaboration with other Cycles developers who are looking into solving this puzzle.

=== What do we consider a shadow catcher? ===

That's a good question actually, and there's no single formulation of what it exactly is and mathematically it's a bit malformed in the constraints we're working on. Ideally shadow catcher is a difference between image rendered without artificial objects and with them. Such approach gives best ever shadows, but takes 2x more time to render. So for good usability we need to get some assumptions, make system a bit more biased but give artists an useful tool.

Shadow catcher is mainly used by VFX artists to inject artificial objects into real footage. At least that definition we'll stick to
in Blender. Hence here's what shadow catcher should be capable of doing:

- Receive shadows from other objects: be totally transparent when there's no shadows cast on it, be more opaque in shaded areas.

- Ignore self-shadowing and shading. Shadows caused by occlusion with itself already exists in the footage. Same applies to the
shading -- all shading caused by material itself are also in the footage already.

- Interact with other objects in the scene. This sounds a bit tricky but makes sense actually. Consider situation when one needs to put sharp glossy object into the footage: you'll want objects from a real scene to be reflected in the artificial object. And often you'll want the object on which shadow is to be cast to be reflected in such situations. Surely you can escape with copying object and playing with ray visibility, but that's complicated scene setup instead of making it simpler.

- Be affected with indirect light. Cycles is the GI render engine after all!

=== How to use the shadow catcher? ===

1. Create an object on which you want to receive shadow.
2. Create some basic material setup which is close to a real object.
3. Enable "Shadow Catcher" in Object buttons -> Cycles Settings.
4. Be happy! (hopefully, once we've debugged all the code)

=== What this patch actually contains? ===

It contains all the bits which tries to implement definition of shadow catcher above. It is trying to implement it all in a way so we don't need to make big changes in the ray integration loop, hence it has some tricky magic to deduct what was the received shadow from the light passes and will fail in certain situations, mainly when there is no direct lighting of the object at all. It is totally tweakable to become more artists friendly, i just didn't have enough time to try all the ideas and used whatever latest semi-working formula was.

Major changes are in fact made around shadow_blocked() to exclude shading from self. This part is based on an older patch which tried to expose it to an user. That exposing settings are somewhat malformed and shouldn't really be used. In fact, we should remove those settings from the interface.

=== Some pictures? ===

Sure, here's one from a hackish patch:

{F282085}

(This is a glossy monkey on a checker board floor, floor is makred as a catcher, Here's .blend file {F282088})

Reviewers: lukasstockner97, juicyfruit, brecht

Subscribers: jensverwiebe, Nikos_prinio, brecht, lukasstockner97, borisdonalds, aliasguru, YAFU, forest-house, uli_k, aditiapratama, hype, davidandrade, printerkiller, jta, Davd, johnroper100, poor, lowercase, juang3d, GiantCowFIlms, iklsr, gandalf3, sasa42, saphires, duarteframos, madog, Lapineige, railla, zuggamasta, plasmasolutions, jesterking

Differential Revision: https://developer.blender.org/D1788
February 12, 2017, 02:16 (GMT)
Cycles Denoising: Remove old shadow estimation kernel code
February 12, 2017, 02:04 (GMT)
Merge remote-tracking branch 'origin/master' into temp-cycles-denoising
February 12, 2017, 02:01 (GMT)
Cycles Denoising: Remove unused functions in the buffer code
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021