mirror of
https://git.coom.tech/drummyfish/small3dlib.git
synced 2024-11-21 20:39:57 +01:00
DrawTriangle update
This commit is contained in:
parent
526dc5f60d
commit
cca1c2fcd4
1 changed files with 11 additions and 9 deletions
20
small3dlib.h
20
small3dlib.h
|
@ -1928,13 +1928,13 @@ void S3L_drawTriangle(
|
||||||
velues can be computed. See
|
velues can be computed. See
|
||||||
http://www.lysator.liu.se/~mikaelk/doc/perspectivetexture/ */
|
http://www.lysator.liu.se/~mikaelk/doc/perspectivetexture/ */
|
||||||
|
|
||||||
#if S3L_PERSPECTIVE_CORRECTION == 1
|
#if S3L_PERSPECTIVE_CORRECTION == 1
|
||||||
#define Z_RECIP_NUMERATOR\
|
#define Z_RECIP_NUMERATOR\
|
||||||
(S3L_FRACTIONS_PER_UNIT * S3L_FRACTIONS_PER_UNIT * S3L_FRACTIONS_PER_UNIT)
|
(S3L_FRACTIONS_PER_UNIT * S3L_FRACTIONS_PER_UNIT * S3L_FRACTIONS_PER_UNIT)
|
||||||
#elif S3L_PERSPECTIVE_CORRECTION == 2
|
#elif S3L_PERSPECTIVE_CORRECTION == 2
|
||||||
#define Z_RECIP_NUMERATOR\
|
#define Z_RECIP_NUMERATOR\
|
||||||
(S3L_FRACTIONS_PER_UNIT * S3L_FRACTIONS_PER_UNIT)
|
(S3L_FRACTIONS_PER_UNIT * S3L_FRACTIONS_PER_UNIT)
|
||||||
#endif
|
#endif
|
||||||
/* ^ This numerator is a number by which we divide values for the
|
/* ^ This numerator is a number by which we divide values for the
|
||||||
reciprocals. For PC == 2 it has to be lower because linear interpolation
|
reciprocals. For PC == 2 it has to be lower because linear interpolation
|
||||||
scaling would make it overflow -- this results in lower depth precision
|
scaling would make it overflow -- this results in lower depth precision
|
||||||
|
@ -2251,16 +2251,18 @@ void S3L_drawTriangle(
|
||||||
} // inner loop
|
} // inner loop
|
||||||
} // y clipping
|
} // y clipping
|
||||||
|
|
||||||
|
#if !S3L_FLAT
|
||||||
S3L_stepFastLerp(lSideFLS);
|
S3L_stepFastLerp(lSideFLS);
|
||||||
S3L_stepFastLerp(rSideFLS);
|
S3L_stepFastLerp(rSideFLS);
|
||||||
|
|
||||||
#if S3L_COMPUTE_LERP_DEPTH
|
#if S3L_COMPUTE_LERP_DEPTH
|
||||||
S3L_stepFastLerp(lDepthFLS);
|
S3L_stepFastLerp(lDepthFLS);
|
||||||
S3L_stepFastLerp(rDepthFLS);
|
S3L_stepFastLerp(rDepthFLS);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
++currentY;
|
++currentY;
|
||||||
}
|
} // row drawing
|
||||||
|
|
||||||
#undef manageSplit
|
#undef manageSplit
|
||||||
#undef initPC
|
#undef initPC
|
||||||
|
|
Loading…
Reference in a new issue