mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 19:08:55 -04:00
fix normal scaling
This commit is contained in:
parent
9dab4ee9ea
commit
68326315de
@ -2024,7 +2024,9 @@ make_vertex_data(const EggRenderState *render_state,
|
|||||||
|
|
||||||
if (vertex->has_normal()) {
|
if (vertex->has_normal()) {
|
||||||
gvw.set_column(InternalName::get_normal());
|
gvw.set_column(InternalName::get_normal());
|
||||||
gvw.add_data3f(LCAST(float, vertex->get_normal() * transform));
|
Normald orig_normal = vertex->get_normal();
|
||||||
|
Normald transformed_normal = normalize(orig_normal * transform);
|
||||||
|
gvw.add_data3f(LCAST(float, transformed_normal));
|
||||||
|
|
||||||
if (is_dynamic) {
|
if (is_dynamic) {
|
||||||
EggMorphNormalList::const_iterator mni;
|
EggMorphNormalList::const_iterator mni;
|
||||||
@ -2033,7 +2035,10 @@ make_vertex_data(const EggRenderState *render_state,
|
|||||||
CPT(InternalName) delta_name =
|
CPT(InternalName) delta_name =
|
||||||
InternalName::get_morph(InternalName::get_normal(), morph.get_name());
|
InternalName::get_morph(InternalName::get_normal(), morph.get_name());
|
||||||
gvw.set_column(delta_name);
|
gvw.set_column(delta_name);
|
||||||
gvw.add_data3f(LCAST(float, morph.get_offset() * transform));
|
Normald morphed_normal = orig_normal + morph.get_offset();
|
||||||
|
Normald transformed_morphed_normal = normalize(morphed_normal * transform);
|
||||||
|
LVector3d delta = transformed_morphed_normal - transformed_normal;
|
||||||
|
gvw.add_data3f(LCAST(float, delta));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user