Reorder vertex render lookups to simplify merge

This commit is contained in:
Kp 2013-08-18 22:27:33 +00:00
parent 3f0f68e862
commit 897023eda5
2 changed files with 8 additions and 10 deletions

View file

@ -401,16 +401,16 @@ void render_side(segment *segp, int sidenum)
normals[1] = segp->sides[sidenum].normals[1];
#endif
get_side_verts(vertnum_list,segp-Segments,sidenum);
// Regardless of whether this side is comprised of a single quad, or two triangles, we need to know one normal, so
// deal with it, get the dot product.
if (sidep->type == SIDE_IS_TRI_13) {
vm_vec_normalized_dir(&tvec, &Viewer_eye, &Vertices[segp->verts[Side_to_verts[sidenum][1]]]);
vm_vec_normalized_dir(&tvec, &Viewer_eye, &Vertices[vertnum_list[1]]);
} else {
vm_vec_normalized_dir(&tvec, &Viewer_eye, &Vertices[segp->verts[Side_to_verts[sidenum][0]]]);
vm_vec_normalized_dir(&tvec, &Viewer_eye, &Vertices[vertnum_list[0]]);
}
get_side_verts(vertnum_list,segp-Segments,sidenum);
v_dot_n0 = vm_vec_dot(&tvec, &normals[0]);
if (sidep->type == SIDE_IS_QUAD) {

View file

@ -434,12 +434,13 @@ void render_side(segment *segp, int sidenum)
normals[0] = segp->sides[sidenum].normals[0];
normals[1] = segp->sides[sidenum].normals[1];
#endif
get_side_verts(vertnum_list,segp-Segments,sidenum);
// ========== Mark: Here is the change...beginning here: ==========
if (sidep->type == SIDE_IS_QUAD) {
vm_vec_sub(&tvec, &Viewer_eye, &Vertices[segp->verts[Side_to_verts[sidenum][0]]]);
vm_vec_sub(&tvec, &Viewer_eye, &Vertices[vertnum_list[0]]);
// -- Old, slow way -- // Regardless of whether this side is comprised of a single quad, or two triangles, we need to know one normal, so
// -- Old, slow way -- // deal with it, get the dot product.
@ -448,7 +449,6 @@ void render_side(segment *segp, int sidenum)
// -- Old, slow way -- else
// -- Old, slow way -- vm_vec_normalized_dir(&tvec, &Viewer_eye, &Vertices[segp->verts[Side_to_verts[sidenum][0]]]);
get_side_verts(vertnum_list,segp-Segments,sidenum);
v_dot_n0 = vm_vec_dot(&tvec, &normals[0]);
// -- flare creates point -- {
@ -501,11 +501,9 @@ void render_side(segment *segp, int sidenum)
// Regardless of whether this side is comprised of a single quad, or two triangles, we need to know one normal, so
// deal with it, get the dot product.
if (sidep->type == SIDE_IS_TRI_13)
vm_vec_normalized_dir_quick(&tvec, &Viewer_eye, &Vertices[segp->verts[Side_to_verts[sidenum][1]]]);
vm_vec_normalized_dir_quick(&tvec, &Viewer_eye, &Vertices[vertnum_list[1]]);
else
vm_vec_normalized_dir_quick(&tvec, &Viewer_eye, &Vertices[segp->verts[Side_to_verts[sidenum][0]]]);
get_side_verts(vertnum_list,segp-Segments,sidenum);
vm_vec_normalized_dir_quick(&tvec, &Viewer_eye, &Vertices[vertnum_list[0]]);
v_dot_n0 = vm_vec_dot(&tvec, &normals[0]);