light: add GetSurfaceVertex and GetSurfaceVertexPoint to header

This commit is contained in:
Eric Wasylishen 2016-07-20 16:15:42 -06:00
parent b15e0052bf
commit 26fbffa2bf
4 changed files with 7 additions and 17 deletions

View File

@ -203,6 +203,8 @@ void LightFace(bsp2_dface_t *face, facesup_t *facesup, const modelinfo_t *modeli
void LightFaceIndirect(bsp2_dface_t *face, facesup_t *facesup, const modelinfo_t *modelinfo, struct ltface_ctx *ctx);
void MakeTnodes(const bsp2_t *bsp);
int GetSurfaceVertex(const bsp2_t *bsp, const bsp2_dface_t *f, int v);
const vec_t *GetSurfaceVertexPoint(const bsp2_t *bsp, const bsp2_dface_t *f, int v);
/* access the final phong-shaded vertex normal */
const vec_t *GetSurfaceVertexNormal(const bsp2_t *bsp, const bsp2_dface_t *f, const int v);

View File

@ -418,7 +418,7 @@ AddTriangleNormals(std::map<int, vec3_struct_t> &smoothed_normals, const vec_t *
VectorMA(smoothed_normals[v3].v, weight, norm, smoothed_normals[v3].v);
}
/* small helper that just retrieves the correct vertex from face->surfedge->edge lookups */
static int GetSurfaceVertex(const bsp2_t *bsp, const bsp2_dface_t *f, int v)
int GetSurfaceVertex(const bsp2_t *bsp, const bsp2_dface_t *f, int v)
{
int edge = f->firstedge + v;
edge = bsp->dsurfedges[edge];

View File

@ -285,9 +285,9 @@ PrintFaceInfo(const bsp2_dface_t *face, const bsp2_t *bsp)
for (i = 0; i < face->numedges; i++) {
int edge = bsp->dsurfedges[face->firstedge + i];
int vert = (edge >= 0) ? bsp->dedges[edge].v[0] : bsp->dedges[-edge].v[1];
const float *point = bsp->dvertexes[vert].point;
const float *norm = GetSurfaceVertexNormal(bsp, face, i);
int vert = GetSurfaceVertex(bsp, face, i);
const vec_t *point = GetSurfaceVertexPoint(bsp, face, i);
const vec_t *norm = GetSurfaceVertexNormal(bsp, face, i);
logprint("%s %3d (%3.3f, %3.3f, %3.3f) :: normal (%3.3f, %3.3f, %3.3f) :: edge %d\n",
i ? " " : " verts ", vert,
point[0], point[1], point[2],
@ -397,17 +397,7 @@ WarnBadMidpoint(const vec3_t point)
#endif
}
/* small helper that just retrieves the correct vertex from face->surfedge->edge lookups */
static int GetSurfaceVertex(const bsp2_t *bsp, const bsp2_dface_t *f, int v)
{
int edge = f->firstedge + v;
edge = bsp->dsurfedges[edge];
if (edge < 0)
return bsp->dedges[-edge].v[1];
return bsp->dedges[edge].v[0];
}
vec_t *GetSurfaceVertexPoint(const bsp2_t *bsp, const bsp2_dface_t *f, int v)
const vec_t *GetSurfaceVertexPoint(const bsp2_t *bsp, const bsp2_dface_t *f, int v)
{
return bsp->dvertexes[GetSurfaceVertex(bsp, f, v)].point;
}

View File

@ -166,8 +166,6 @@ MakeTnodes_r(int nodenum, const bsp2_t *bsp)
}
}
vec_t *GetSurfaceVertexPoint(const bsp2_t *bsp, const bsp2_dface_t *f, int v);
static void GetFaceNormal(const bsp2_t *bsp, const bsp2_dface_t *face, plane_t *plane)
{
const dplane_t *dplane = &bsp->dplanes[face->planenum];