Go to the documentation of this file.
40 the complex cases add
new polys on most lines, so dont optimize
for keeping them the same
41 have multiple free span
lists to
try to get better coherence?
42 low depth complexity -- 1 to 3 or so
44 have a sentinal at both ends?
161 next_edge = edgestoadd->
next;
163 if (edgelist->
u >= edgestoadd->
u)
165 edgelist=edgelist->
next;
166 if (edgelist->
u >= edgestoadd->
u)
168 edgelist=edgelist->
next;
169 if (edgelist->
u >= edgestoadd->
u)
171 edgelist=edgelist->
next;
172 if (edgelist->
u >= edgestoadd->
u)
174 edgelist=edgelist->
next;
179 edgestoadd->
next = edgelist;
182 edgelist->
prev = edgestoadd;
183 }
while ((edgestoadd = next_edge) !=
NULL);
218 edge_t *pnext_edge, *pwedge;
224 if (pedge->
u < pedge->
prev->
u)
229 if (pedge->
u < pedge->
prev->
u)
234 if (pedge->
u < pedge->
prev->
u)
239 if (pedge->
u < pedge->
prev->
u)
250 pnext_edge = pedge->
next;
259 while (pwedge->
u > pedge->
u)
261 pwedge = pwedge->
prev;
266 pedge->
prev = pwedge;
268 pwedge->
next = pedge;
298 span->
count = iu - span->
u;
334 if (surf->
key > surf2->
key)
351 }
while (surf->
key < surf2->
key);
353 if (surf->
key == surf2->
key)
358 goto continue_search;
374 span->
count = iu - span->
u;
416 span->
count = iu - span->
u;
444 float fu, newzi, testzi, newzitop, newzibottom;
458 if (surf->
key < surf2->
key)
466 fu = (float)(edge->
u - 0xFFFFF) * (1.0 / 0x100000);
469 newzibottom = newzi * 0.99;
474 if (newzibottom >= testzi)
479 newzitop = newzi * 1.01;
480 if (newzitop >= testzi)
494 }
while (surf->
key > surf2->
key);
496 if (surf->
key == surf2->
key)
501 goto continue_search;
504 fu = (float)(edge->
u - 0xFFFFF) * (1.0 / 0x100000);
507 newzibottom = newzi * 0.99;
512 if (newzibottom >= testzi)
517 newzitop = newzi * 1.01;
518 if (newzitop >= testzi)
526 goto continue_search;
539 span->
count = iu - span->
u;
786 for (span=surf->
spans ; span ; span=span->
pnext)
791 for ( ;
u <=
u2 ;
u++)
809 mipscale = 1.0 / (float)(1 <<
miplevel);
829 t = 0x10000*mipscale;
1002 if (
s->insubmodel )
vec3_t transformed_modelorg
void R_BeginEdgeFrame(void)
CONST PIXELFORMATDESCRIPTOR int
#define VectorSubtract(a, b, c)
void D_BackgroundSurf(surf_t *s)
void R_SurfacePatch(void)
int D_MipLevelForScale(float scale)
surfcache_t * D_CacheSurface(msurface_t *surface, int miplevel)
void R_TrailingEdge(surf_t *surf, edge_t *edge)
void VectorScale(vec3_t in, vec_t scale, vec3_t out)
static void(* pdrawfunc)(void)
void D_SkySurf(surf_t *s)
void R_LeadingEdgeBackwards(edge_t *edge)
void D_DrawSurfaces(void)
GLenum const GLvoid * lists
void D_FlatFillSurface(surf_t *surf, int color)
void D_TurbulentSurf(surf_t *s)
void R_RemoveEdges(edge_t *pedge)
void D_DrawSpans16(espan_t *pspans)
void D_DrawflatSurfaces(void)
void R_RotateBmodel(void)
struct edge_s * nextremove
void Turbulent8(espan_t *pspan)
void R_GenerateSpansBackward(void)
void R_InsertNewEdges(edge_t *edgestoadd, edge_t *edgelist)
void R_GenerateSpans(void)
void R_EdgeCodeStart(void)
void R_StepActiveU(edge_t *pedge)
edge_t * removeedges[MAXHEIGHT]
void D_SolidSurf(surf_t *s)
edge_t * newedges[MAXHEIGHT]
vec3_t world_transformed_modelorg
#define SURF_DRAWBACKGROUND
void NonTurbulent8(espan_t *pspan)
void D_DrawZSpans(espan_t *pspans)
void R_TransformFrustum(void)
surfcache_t * pcurrentcache
void R_LeadingEdge(edge_t *edge)
void TransformVector(vec3_t in, vec3_t out)
void(APIENTRY *qglAccum)(GLenum op
void D_CalcGradients(msurface_t *pface)