class Triangle3D
extends java.lang.Object
currently only renders flat triangles
will probably need performance tuning
Modifier and Type | Field and Description |
---|---|
(package private) int[] |
ax |
(package private) int[] |
axE |
(package private) int[] |
axW |
(package private) int[] |
ay |
(package private) int[] |
az |
(package private) int[] |
azE |
(package private) int[] |
azW |
private static int |
DEFAULT |
(package private) Graphics3D |
g3d |
(package private) Line3D |
line3d |
(package private) Rgb16[] |
rgb16sE |
(package private) Rgb16[] |
rgb16sGouraud |
(package private) Rgb16[] |
rgb16sW |
(package private) Rgb16 |
rgb16t1 |
(package private) Rgb16 |
rgb16t2 |
private static boolean |
VERIFY |
Constructor and Description |
---|
Triangle3D(Graphics3D g3d) |
Modifier and Type | Method and Description |
---|---|
private 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 useGouraud,
boolean isClipped,
int correction) |
private void |
fillTriangle(boolean useGouraud) |
(package private) void |
fillTriangle(int xScreenA,
int yScreenA,
int zScreenA,
int xScreenB,
int yScreenB,
int zScreenB,
int xScreenC,
int yScreenC,
int zScreenC,
boolean useGouraud) |
(package private) void |
fillTriangle(javax.vecmath.Point3f screenA,
javax.vecmath.Point3f screenB,
javax.vecmath.Point3f screenC,
boolean useGouraud) |
(package private) void |
fillTriangle(javax.vecmath.Point3i screenA,
javax.vecmath.Point3i screenB,
javax.vecmath.Point3i screenC,
boolean useGouraud) |
(package private) void |
fillTriangle(javax.vecmath.Point3i screenA,
javax.vecmath.Point3i screenB,
javax.vecmath.Point3i screenC,
float factor,
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 Line3D line3d
int[] ax
int[] ay
int[] az
Rgb16[] rgb16sGouraud
private static final boolean VERIFY
final Rgb16 rgb16t1
final Rgb16 rgb16t2
private static final int DEFAULT
int[] axW
int[] azW
int[] axE
int[] azE
Rgb16[] rgb16sW
Rgb16[] rgb16sE
Triangle3D(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 fillTriangle(int xScreenA, int yScreenA, int zScreenA, int xScreenB, int yScreenB, int zScreenB, int xScreenC, int yScreenC, int zScreenC, boolean useGouraud)
void fillTriangle(javax.vecmath.Point3i screenA, javax.vecmath.Point3i screenB, javax.vecmath.Point3i screenC, boolean useGouraud)
void fillTriangle(javax.vecmath.Point3f screenA, javax.vecmath.Point3f screenB, javax.vecmath.Point3f screenC, boolean useGouraud)
void fillTriangle(javax.vecmath.Point3i screenA, javax.vecmath.Point3i screenB, javax.vecmath.Point3i screenC, float factor, boolean useGouraud)
private void adjustVertex(int[] t, float factor)
private void fillTriangle(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 useGouraud, boolean isClipped, int correction)