Exemplo n.º 1
0
static void upload_shader_params(struct darray *pass_params, bool changed_only)
{
	struct pass_shaderparam *params = pass_params->array;
	size_t i;

	for (i = 0; i < pass_params->num; i++) {
		struct pass_shaderparam *param = params+i;
		struct effect_param *eparam = param->eparam;
		sparam_t sparam = param->sparam;

		if (changed_only && !eparam->changed)
			continue;

		if (!eparam->cur_val.num) {
			if (eparam->default_val.num)
				da_copy(eparam->cur_val, eparam->default_val);
			else
				continue;
		}

		shader_setval(sparam, eparam->cur_val.array,
				eparam->cur_val.num);
	}
}
Exemplo n.º 2
0
void shader_setdefault(shader_t shader, sparam_t param)
{
	shader_setval(shader, param, param->def_value.array,
			param->def_value.num);
}