Extends the changes started in f31c3f8114 to completely separate
much of the DRW curves code from the particle hair drawing. In the short
term this increases duplication, but the idea is to simplify development
by making it easier to do larger changes to the new code, and the new
system will replace the particle hair at some point.
After this, only the shaders themselves are shared.
Differential Revision: https://developer.blender.org/D14699
38 lines
865 B
C
38 lines
865 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright 2021 Blender Foundation. All rights reserved. */
|
|
|
|
/** \file
|
|
* \ingroup draw
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "draw_curves_private.h"
|
|
#include "draw_hair_private.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct GPUShader;
|
|
|
|
typedef enum eParticleRefineShaderType {
|
|
PART_REFINE_SHADER_TRANSFORM_FEEDBACK,
|
|
PART_REFINE_SHADER_TRANSFORM_FEEDBACK_WORKAROUND,
|
|
PART_REFINE_SHADER_COMPUTE,
|
|
} eParticleRefineShaderType;
|
|
|
|
/* draw_shader.c */
|
|
|
|
struct GPUShader *DRW_shader_hair_refine_get(ParticleRefineShader refinement,
|
|
eParticleRefineShaderType sh_type);
|
|
|
|
struct GPUShader *DRW_shader_curves_refine_get(CurvesEvalShader type,
|
|
eParticleRefineShaderType sh_type);
|
|
|
|
void DRW_shaders_free(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|