void vsx_module_texture_rotate::run() { //printf("rotate_begin\n"); vsx_texture** texture_info_in = texture_info_param_in->get_addr(); //printf("validness: %d\n",texture_info_param_in->valid); // if (texture_info_in->valid) if (texture_info_in) { texture_out->valid = (*texture_info_in)->valid; // if (texture_info_in->texture_info) { texture_out->texture_info = (*texture_info_in)->texture_info; // } float x = rotation_axis->get(0); float y = rotation_axis->get(1); float z = rotation_axis->get(2); float a = rotation_angle->get()*360; vsx_transform_obj* prev_transform = (*texture_info_in)->get_transform(); transform.set_previous_transform(prev_transform); transform.update(a, x, y, z); // if (texture_out) texture_out->set_transform(&transform); ((vsx_module_param_texture*)texture_result)->set(texture_out); } else { //printf("fooble\n"); texture_result->valid = false; } }
void vsx_module_texture_translate::run() { vsx_texture** texture_info_in = texture_info_param_in->get_addr(); if (texture_info_in) { texture_out->valid = (*texture_info_in)->valid; texture_out->texture_info = (*texture_info_in)->texture_info; float x = translation_vec->get(0); float y = translation_vec->get(1); float z = translation_vec->get(2); vsx_transform_obj* prev_transform = (*texture_info_in)->get_transform(); transform.set_previous_transform(prev_transform); transform.update(x, y, z); texture_out->set_transform(&transform); ((vsx_module_param_texture*)texture_result)->set(texture_out); } else texture_result->valid = false; }