forked from bartvdbraak/blender
DRW: Add DRW_shgroup_uniform_vec4_array_copy
This commit is contained in:
parent
68d6b73fde
commit
bf690ecd39
@ -521,6 +521,10 @@ void DRW_shgroup_uniform_float_copy(DRWShadingGroup *shgroup, const char *name,
|
||||
void DRW_shgroup_uniform_vec2_copy(DRWShadingGroup *shgroup, const char *name, const float *value);
|
||||
void DRW_shgroup_uniform_vec3_copy(DRWShadingGroup *shgroup, const char *name, const float *value);
|
||||
void DRW_shgroup_uniform_vec4_copy(DRWShadingGroup *shgroup, const char *name, const float *value);
|
||||
void DRW_shgroup_uniform_vec4_array_copy(DRWShadingGroup *shgroup,
|
||||
const char *name,
|
||||
const float (*value)[4],
|
||||
int arraysize);
|
||||
|
||||
bool DRW_shgroup_is_empty(DRWShadingGroup *shgroup);
|
||||
|
||||
|
@ -436,6 +436,24 @@ void DRW_shgroup_uniform_vec4_copy(DRWShadingGroup *shgroup, const char *name, c
|
||||
drw_shgroup_uniform(shgroup, name, DRW_UNIFORM_FLOAT_COPY, value, 4, 1);
|
||||
}
|
||||
|
||||
void DRW_shgroup_uniform_vec4_array_copy(DRWShadingGroup *shgroup,
|
||||
const char *name,
|
||||
const float (*value)[4],
|
||||
int arraysize)
|
||||
{
|
||||
int location = GPU_shader_get_uniform_ensure(shgroup->shader, name);
|
||||
|
||||
if (location == -1) {
|
||||
/* Nice to enable eventually, for now eevee uses uniforms that might not exist. */
|
||||
// BLI_assert(0);
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < arraysize; i++) {
|
||||
drw_shgroup_uniform_create_ex(shgroup, location + i, DRW_UNIFORM_FLOAT_COPY, &value[i], 4, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
Loading…
Reference in New Issue
Block a user