Package org.jmol.util
Class Shader
java.lang.Object
org.jmol.util.Shader
All functions. Implements the shading of RGB values to support shadow and lighting highlights.
Each RGB value has 64 shades. shade[0] represents ambient lighting. shade[63] is white ... a full specular highlight.
- Author:
- Miguel, miguel@jmol.org, Bob Hanson, hansonr@stolaf.edu, N David Brown -- cel shading
-
Field Summary
FieldsModifier and TypeFieldDescriptionbyte[][][]static final intintintstatic final intstatic final bytestatic final bytebyte[]int[][] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidintgetEllipsoidShade(float x, float y, float z, int radius, M4 mDeriv) bytegetShadeB(float x, float y, float z) intgetShadeFp8(float x, float y, float z) intgetShadeIndex(float x, float y, float z) bytegetShadeN(float x, float y, float z, float r) intImplements RANDU algorithm for random noise in lighting/shading.voidsetLastColix(int argb, boolean asGrey)
-
Field Details
-
SHADE_INDEX_LAST
public static final int SHADE_INDEX_LAST- See Also:
-
SHADE_INDEX_NORMAL
public static final byte SHADE_INDEX_NORMAL- See Also:
-
SHADE_INDEX_NOISY_LIMIT
public static final byte SHADE_INDEX_NOISY_LIMIT- See Also:
-
sphereShadeIndexes
public byte[] sphereShadeIndexes -
maxSphereCache
public static final int maxSphereCache- See Also:
-
sphereShapeCache
public int[][] sphereShapeCache -
ellipsoidShades
public byte[][][] ellipsoidShades -
nOut
public int nOut -
nIn
public int nIn
-
-
Constructor Details
-
Shader
public Shader()
-
-
Method Details
-
setLastColix
public void setLastColix(int argb, boolean asGrey) -
getShadeIndex
public int getShadeIndex(float x, float y, float z) -
getShadeB
public byte getShadeB(float x, float y, float z) -
getShadeFp8
public int getShadeFp8(float x, float y, float z) -
getShadeN
public byte getShadeN(float x, float y, float z, float r) -
nextRandom8Bit
public int nextRandom8Bit()Implements RANDU algorithm for random noise in lighting/shading.
RANDU is the classic example of a poor random number generator. But it is very cheap to calculate and is good enough for our purposes.
- Returns:
- Next random
-
getEllipsoidShade
-
createEllipsoidShades
public void createEllipsoidShades()
-