class TriangleRenderer
extends java.lang.Object
currently only renders flat triangles
will probably need performance tuning
Modifier and Type | Field and Description |
---|---|
private int[] |
ax |
private int[] |
axE |
private int[] |
axW |
private int[] |
ay |
private int[] |
az |
private int[] |
azE |
private int[] |
azW |
private static int |
DEFAULT |
(package private) Graphics3D |
g3d |
(package private) LineRenderer |
line3d |
private Rgb16[] |
rgb16sE |
private Rgb16[] |
rgb16sGouraud |
private Rgb16[] |
rgb16sW |
(package private) Rgb16 |
rgb16t1 |
(package private) Rgb16 |
rgb16t2 |
Constructor and Description |
---|
TriangleRenderer(Graphics3D g3d) |
Modifier and Type | Method and Description |
---|---|
private static void |
adjustVertex(int[] t,
float factor) |
(package private) void |
drawfillTriangle(int xA,
int yA,
int zA,
int xB,
int yB,
int zB,
int xC,
int yC,
int zC,
boolean useGouraud) |
private void |
fillRaster(int y,
int numLines,
boolean isClipped,
int correction) |
private void |
fillRasterG(int y,
int numLines,
boolean isClipped,
int correction) |
private void |
fillTriangleB(boolean useGouraud) |
(package private) void |
fillTriangleP3f(P3 screenA,
P3 screenB,
P3 screenC,
boolean useGouraud) |
(package private) void |
fillTriangleP3i(P3i screenA,
P3i screenB,
P3i screenC,
boolean useGouraud) |
(package private) void |
fillTriangleP3if(P3i screenA,
P3i screenB,
P3i screenC,
float factor,
boolean useGouraud) |
(package private) void |
fillTriangleXYZ(int xScreenA,
int yScreenA,
int zScreenA,
int xScreenB,
int yScreenB,
int zScreenB,
int xScreenC,
int yScreenC,
int zScreenC,
boolean useGouraud) |
private void |
generateRaster(int dy,
int iN,
int iS,
int[] axRaster,
int[] azRaster,
int iRaster,
Rgb16[] gouraud) |
private void |
reallocRasterArrays(int n) |
(package private) Rgb16[] |
reallocRgb16s(Rgb16[] rgb16s,
int n) |
(package private) void |
setGouraud(int rgbA,
int rgbB,
int rgbC) |
final Graphics3D g3d
final LineRenderer line3d
private static final int DEFAULT
private int[] ax
private int[] ay
private int[] az
private int[] axW
private int[] azW
private int[] axE
private int[] azE
private Rgb16[] rgb16sW
private Rgb16[] rgb16sE
private Rgb16[] rgb16sGouraud
final Rgb16 rgb16t1
final Rgb16 rgb16t2
TriangleRenderer(Graphics3D g3d)
void setGouraud(int rgbA, int rgbB, int rgbC)
void drawfillTriangle(int xA, int yA, int zA, int xB, int yB, int zB, int xC, int yC, int zC, boolean useGouraud)
void fillTriangleXYZ(int xScreenA, int yScreenA, int zScreenA, int xScreenB, int yScreenB, int zScreenB, int xScreenC, int yScreenC, int zScreenC, boolean useGouraud)
void fillTriangleP3if(P3i screenA, P3i screenB, P3i screenC, float factor, boolean useGouraud)
private static void adjustVertex(int[] t, float factor)
private void fillTriangleB(boolean useGouraud)
private void reallocRasterArrays(int n)
private void generateRaster(int dy, int iN, int iS, int[] axRaster, int[] azRaster, int iRaster, Rgb16[] gouraud)
private void fillRaster(int y, int numLines, boolean isClipped, int correction)
private void fillRasterG(int y, int numLines, boolean isClipped, int correction)