public class TriangleRenderer extends java.lang.Object implements G3DRenderer
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 |
private Graphics3D |
g3d |
private Rgb16[] |
rgb16sE |
private Rgb16[] |
rgb16sGouraud |
private Rgb16[] |
rgb16sW |
(package private) Rgb16 |
rgb16t1 |
(package private) Rgb16 |
rgb16t2 |
Constructor and Description |
---|
TriangleRenderer() |
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(javajs.util.P3 screenA,
javajs.util.P3 screenB,
javajs.util.P3 screenC,
boolean useGouraud) |
(package private) void |
fillTriangleP3i(javajs.util.P3i screenA,
javajs.util.P3i screenB,
javajs.util.P3i screenC,
boolean useGouraud) |
(package private) void |
fillTriangleP3if(javajs.util.P3i screenA,
javajs.util.P3i screenB,
javajs.util.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) |
G3DRenderer |
set(JmolRendererInterface g3d) |
(package private) void |
setGouraud(int rgbA,
int rgbB,
int rgbC) |
private Graphics3D g3d
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
public G3DRenderer set(JmolRendererInterface g3d)
set
in interface G3DRenderer
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 fillTriangleP3i(javajs.util.P3i screenA, javajs.util.P3i screenB, javajs.util.P3i screenC, boolean useGouraud)
void fillTriangleP3f(javajs.util.P3 screenA, javajs.util.P3 screenB, javajs.util.P3 screenC, boolean useGouraud)
void fillTriangleP3if(javajs.util.P3i screenA, javajs.util.P3i screenB, javajs.util.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)