void BKE_texture_get_value_ex( const Scene *scene, Tex *texture, float *tex_co, TexResult *texres, struct ImagePool *pool, bool use_color_management) { int result_type; bool do_color_manage = false; if (scene && use_color_management) { do_color_manage = BKE_scene_check_color_management_enabled(scene); } /* no node textures for now */ result_type = multitex_ext_safe(texture, tex_co, texres, pool, do_color_manage, false); /* if the texture gave an RGB value, we assume it didn't give a valid * intensity, since this is in the context of modifiers don't use perceptual color conversion. * if the texture didn't give an RGB value, copy the intensity across */ if (result_type & TEX_RGB) { texres->tin = (1.0f / 3.0f) * (texres->tr + texres->tg + texres->tb); } else { copy_v3_fl(&texres->tr, texres->tin); } }
void get_texture_value(Tex *texture, float *tex_co, TexResult *texres) { int result_type; /* no node textures for now */ result_type = multitex_ext_safe(texture, tex_co, texres); /* if the texture gave an RGB value, we assume it didn't give a valid * intensity, so calculate one (formula from do_material_tex). * if the texture didn't give an RGB value, copy the intensity across */ if(result_type & TEX_RGB) texres->tin = (0.35f * texres->tr + 0.45f * texres->tg + 0.2f * texres->tb); else texres->tr = texres->tg = texres->tb = texres->tin; }
void get_texture_value(Tex *texture, float *tex_co, TexResult *texres) { int result_type; /* no node textures for now */ result_type = multitex_ext_safe(texture, tex_co, texres, NULL); /* if the texture gave an RGB value, we assume it didn't give a valid * intensity, since this is in the context of modifiers don't use perceptual color conversion. * if the texture didn't give an RGB value, copy the intensity across */ if (result_type & TEX_RGB) { texres->tin = (1.0f / 3.0f) * (texres->tr + texres->tg + texres->tb); } else { copy_v3_fl(&texres->tr, texres->tin); } }