Blender Git Commit Log

Git Commits -> Revision 058514a

Revision 058514a by Clément Foucault (master)
July 15, 2020, 17:30 (GMT)
PointCloud: Initial rendering support for Workbench

Also includes outline overlays. Removes the temp overlay drawing

We make the geometry follow camera like billboards this uses less
geometry. Currently we use half octahedron for now. Goal would be
to use icospheres.

This patch also optimize the case when pointcloud has uniform radius.
However we should premultiply the radius prop by the default radius
beforehand to avoid a multiplication on CPU.

Using geometry instead of pseudo raytraced spheres is more scalable as
we can render as low as 1 or 2 triangle to a full half sphere and can
integrate easily in the render pipeline using a low amount of code.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D8301

Commit Details:

Full Hash: 058514aa0abfbbeb87a89d863a2cdc85b5bdb5c4
Parent Commit: d4d810f
Lines Changed: +401, -252

2 Added Paths:

/source/blender/draw/engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl (+38, -0) (View)
/source/blender/draw/intern/shaders/common_pointcloud_lib.glsl (+39, -0) (View)

3 Deleted Paths:

/source/blender/draw/engines/overlay/overlay_pointcloud.c (+0, -72)
/source/blender/draw/engines/overlay/shaders/pointcloud_frag.glsl (+0, -16)
/source/blender/draw/engines/overlay/shaders/pointcloud_vert.glsl (+0, -27)

19 Modified Paths:

/source/blender/draw/CMakeLists.txt (+2, -3) (Diff)
/source/blender/draw/engines/overlay/overlay_engine.c (+0, -8) (Diff)
/source/blender/draw/engines/overlay/overlay_outline.c (+19, -2) (Diff)
/source/blender/draw/engines/overlay/overlay_private.h (+2, -5) (Diff)
/source/blender/draw/engines/overlay/overlay_shader.c (+29, -21) (Diff)
/source/blender/draw/engines/overlay/overlay_wireframe.c (+9, -4) (Diff)
/source/blender/draw/engines/overlay/shaders/outline_prepass_vert.glsl (+5, -1) (Diff)
/source/blender/draw/engines/workbench/workbench_engine.c (+16, -5) (Diff)
/source/blender/draw/engines/workbench/workbench_materials.c (+7, -7) (Diff)
/source/blender/draw/engines/workbench/workbench_opaque.c (+12, -12) (Diff)
/source/blender/draw/engines/workbench/workbench_private.h (+25, -12) (Diff)
/source/blender/draw/engines/workbench/workbench_shader.c (+33, -17) (Diff)
/source/blender/draw/engines/workbench/workbench_transparent.c (+12, -12) (Diff)
/source/blender/draw/intern/draw_cache.c (+10, -3) (Diff)
/source/blender/draw/intern/draw_cache.h (+1, -0) (Diff)
/source/blender/draw/intern/draw_cache_impl.h (+4, -0) (Diff)
/source/blender/draw/intern/draw_cache_impl_pointcloud.c (+136, -24) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+1, -1) (Diff)
/source/blender/draw/intern/shaders/common_view_lib.glsl (+1, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021