From cf8303421f9f70d4d644bafe649cc09c319f0ab0 Mon Sep 17 00:00:00 2001 From: David Rose Date: Tue, 29 Mar 2005 01:19:54 +0000 Subject: [PATCH] texcoord transform also affects duvs --- panda/src/egg2pg/eggLoader.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/panda/src/egg2pg/eggLoader.cxx b/panda/src/egg2pg/eggLoader.cxx index 89d54b2b68..87e4cf5663 100644 --- a/panda/src/egg2pg/eggLoader.cxx +++ b/panda/src/egg2pg/eggLoader.cxx @@ -2096,6 +2096,7 @@ make_vertex_data(const EggRenderState *render_state, EggVertex::const_uv_iterator uvi; for (uvi = vertex->uv_begin(); uvi != vertex->uv_end(); ++uvi) { EggVertexUV *egg_uv = (*uvi); + TexCoordd orig_uv = egg_uv->get_uv(); TexCoordd uv = egg_uv->get_uv(); string name = egg_uv->get_name(); @@ -2119,7 +2120,13 @@ make_vertex_data(const EggRenderState *render_state, CPT(InternalName) delta_name = InternalName::get_morph(iname, morph.get_name()); gvw.set_data_type(delta_name); - gvw.add_data2f(LCAST(float, morph.get_offset())); + TexCoordd duv = morph.get_offset(); + if (buv != render_state->_bake_in_uvs.end()) { + TexCoordd new_uv = orig_uv + duv; + duv = (new_uv * (*buv).second->get_transform()) - uv; + } + + gvw.add_data2f(LCAST(float, duv)); } }