Blender Git Commit Log

Git Commits -> Revision 9ca0e08

Revision 9ca0e08 by Clément Foucault (master)
March 20, 2017, 14:19 (GMT)
Object Mode Engine: New outline method.

We render selected meshes into another buffer and use a screen space shader to expand the color out of the mesh silouhette.

Pros: only one additionnal render pass is needed (like old outline code), and we have occluded informations.
Cons: memory usage is a problem. This method needs 2 color buffer to ping pong when expanding the outline and 1 depth buffer to test occluded fragments. This gives a 88 bits/pix memory footprint.

Idea: Since we don't need all color range but only some uniform colors (theme colors) we could manipulate only the color ID instead of the whole color this could cut the color buffer size and lower the memory footprint to 58 bits/pix.

Commit Details:

Full Hash: 9ca0e082369eb2ea7cc3ba529805ecd085136398
Parent Commit: fc72a2f
Lines Changed: +240, -54

2 Added Paths:

/source/blender/draw/modes/shaders/object_outline_expand_frag.glsl (+69, -0) (View)
/source/blender/draw/modes/shaders/object_outline_resolve_frag.glsl (+17, -0) (View)

1 Deleted Path:

/source/blender/draw/modes/shaders/object_occluded_outline_frag.glsl (+0, -15)

2 Modified Paths:

/source/blender/draw/CMakeLists.txt (+2, -1) (Diff)
/source/blender/draw/modes/object_mode.c (+152, -38) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021