This change the attribute binding scheme to something similar to the curves objects. Attributes are now buffer textures sampled per points. The actual geometry is now rendered using an index buffer that avoid too many vertex shader invocation. Drawcall is wrapped in a DRW function to reduce complexity of future changes.
20 lines
550 B
C++
20 lines
550 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright 2021 Blender Foundation. All rights reserved. */
|
|
|
|
/** \file
|
|
* \ingroup draw
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
struct PointCloud;
|
|
struct GPUBatch;
|
|
struct GPUVertBuf;
|
|
struct GPUMaterial;
|
|
|
|
GPUVertBuf *pointcloud_position_and_radius_get(PointCloud *pointcloud);
|
|
GPUBatch **pointcloud_surface_shaded_get(PointCloud *pointcloud,
|
|
GPUMaterial **gpu_materials,
|
|
int mat_len);
|
|
GPUBatch *pointcloud_surface_get(PointCloud *pointcloud);
|