class TextureBin extends java.lang.Object implements ObjectUpdate
| Modifier and Type | Field and Description |
|---|---|
(package private) java.util.HashMap |
addOpaqueRMs
The hashMap of RenderMolecules in this TextureBin
this is used in rendering, the key used is localToVworld
|
(package private) java.util.HashMap |
addTransparentRMs |
(package private) AppearanceRetained |
app
If any of the texture reference in an appearance is frequently
changable, then a separate TextureBin will be created for this
appearance, and this TextureBin is marked as the sole user of
this appearance, and app will be pointing to the appearance
being referenced by this TextureBin.
|
(package private) AttributeBin |
attributeBin
The AttributeBin that this TextureBin resides
|
(package private) static int |
CONTIGUOUS_ACTIVE_UNITS |
(package private) EnvironmentSet |
environmentSet
The EnvironmentSet that this TextureBin resides
|
(package private) int |
equivalent
Oring of the equivalence bits for all appearance attrs under
this renderBin
|
private int |
lastActiveTexUnitIndex |
(package private) TextureBin |
next
The references to the next and previous TextureBins in the
list.
|
private int |
numActiveTexUnit |
(package private) int |
numEditingRenderMolecules |
(package private) int |
numRenderMolecules |
(package private) static int |
ON_RENDER_BIN_LIST |
(package private) static int |
ON_UPDATE_CHECK_LIST |
(package private) static int |
ON_UPDATE_LIST |
(package private) java.util.HashMap |
opaqueRenderMoleculeMap |
(package private) RenderMolecule |
opaqueRMList |
(package private) TransparentRenderingInfo |
parentTInfo |
(package private) TextureBin |
prev |
(package private) RenderBin |
renderBin
The RenderBin for this object
|
(package private) static int |
RESORT |
(package private) ShaderBin |
shaderBin
The ShaderBin that this TextureBin resides
|
(package private) static int |
SOLE_USER |
(package private) static int |
SOLE_USER_DIRTY_REF |
(package private) static int |
SOLE_USER_DIRTY_TA |
(package private) static int |
SOLE_USER_DIRTY_TC |
(package private) static int |
SOLE_USER_DIRTY_TEXTURE |
(package private) static int |
SOLE_USER_DIRTY_TUS |
(package private) int |
soleUserCompDirty
Sole user node component dirty mask.
|
(package private) int |
tbFlag |
(package private) TextureUnitStateRetained[] |
texUnitState |
(package private) java.util.HashMap |
transparentRenderMoleculeMap |
(package private) RenderMolecule |
transparentRMList |
(package private) static int |
USE_DISPLAYLIST |
(package private) static int |
USE_VERTEXARRAY |
| Constructor and Description |
|---|
TextureBin(TextureUnitStateRetained[] state,
AppearanceRetained app,
RenderBin rb) |
| Modifier and Type | Method and Description |
|---|---|
(package private) RenderMolecule |
addAll(java.util.HashMap renderMoleculeMap,
java.util.HashMap addRMs,
RenderMolecule startList,
boolean opaqueList)
Each list of renderMoledule with the same localToVworld
is connect by rm.next and rm.prev.
|
(package private) void |
addRenderMolecule(RenderMolecule r,
RenderBin rb)
Adds the given RenderMolecule to this TextureBin
|
(package private) void |
changeLists(RenderMolecule r) |
(package private) void |
clear()
The TextureBin is to be removed from RenderBin,
do the proper unsetting of any references
|
(package private) void |
decrActiveRenderMolecule() |
(package private) boolean |
equals(TextureUnitStateRetained[] state,
RenderAtom ra)
This tests if the qiven textureUnitState matches this TextureBin
|
(package private) void |
incrActiveRenderMolecule() |
(package private) RenderMolecule |
insertRenderMolecule(RenderMolecule r,
RenderMolecule renderMoleculeList) |
(package private) void |
markDlistAsDirty(RenderMolecule r) |
(package private) RenderMolecule |
removeOneRM(RenderMolecule r,
java.util.HashMap allMap,
RenderMolecule list) |
(package private) void |
removeRenderMolecule(RenderMolecule r)
Removes the given RenderMolecule from this TextureBin
|
(package private) void |
render(Canvas3D cv)
Renders this TextureBin
|
(package private) void |
render(Canvas3D cv,
java.lang.Object rlist) |
(package private) void |
renderList(Canvas3D cv,
int pass,
java.lang.Object rlist)
render a render list
|
(package private) void |
renderList(Canvas3D cv,
int pass,
RenderMolecule rlist)
render list of RenderMolecule
|
(package private) void |
renderList(Canvas3D cv,
int pass,
TransparentRenderingInfo tinfo)
render sorted transparent list
|
(package private) void |
reset(TextureUnitStateRetained[] state,
AppearanceRetained app)
For now, clone everything just like the other NodeComponent
|
(package private) void |
resetTextureState(TextureUnitStateRetained[] state) |
(package private) void |
updateAttributes(Canvas3D cv)
This method is called to update the state for this
TextureBin.
|
void |
updateNodeComponent()
updateNodeComponent is called from RenderBin to update the
clone copy of the sole user node component in TextureBin when the
corresponding node component is being modified
|
void |
updateObject()
The actual update function.
|
TextureUnitStateRetained[] texUnitState
private int lastActiveTexUnitIndex
private int numActiveTexUnit
RenderBin renderBin
EnvironmentSet environmentSet
AttributeBin attributeBin
ShaderBin shaderBin
TextureBin next
TextureBin prev
int equivalent
AppearanceRetained app
int soleUserCompDirty
static final int SOLE_USER_DIRTY_REF
static final int SOLE_USER_DIRTY_TA
static final int SOLE_USER_DIRTY_TC
static final int SOLE_USER_DIRTY_TEXTURE
static final int SOLE_USER_DIRTY_TUS
java.util.HashMap addOpaqueRMs
java.util.HashMap addTransparentRMs
java.util.HashMap opaqueRenderMoleculeMap
java.util.HashMap transparentRenderMoleculeMap
RenderMolecule opaqueRMList
RenderMolecule transparentRMList
TransparentRenderingInfo parentTInfo
int numRenderMolecules
int numEditingRenderMolecules
int tbFlag
static final int ON_RENDER_BIN_LIST
static final int ON_UPDATE_LIST
static final int SOLE_USER
static final int CONTIGUOUS_ACTIVE_UNITS
static final int RESORT
static final int ON_UPDATE_CHECK_LIST
static final int USE_DISPLAYLIST
static final int USE_VERTEXARRAY
TextureBin(TextureUnitStateRetained[] state, AppearanceRetained app, RenderBin rb)
void reset(TextureUnitStateRetained[] state, AppearanceRetained app)
void resetTextureState(TextureUnitStateRetained[] state)
void clear()
boolean equals(TextureUnitStateRetained[] state, RenderAtom ra)
public void updateNodeComponent()
public void updateObject()
ObjectUpdateupdateObject in interface ObjectUpdateRenderMolecule addAll(java.util.HashMap renderMoleculeMap, java.util.HashMap addRMs, RenderMolecule startList, boolean opaqueList)
RenderMolecule insertRenderMolecule(RenderMolecule r, RenderMolecule renderMoleculeList)
void addRenderMolecule(RenderMolecule r, RenderBin rb)
void removeRenderMolecule(RenderMolecule r)
void updateAttributes(Canvas3D cv)
void render(Canvas3D cv)
void render(Canvas3D cv, java.lang.Object rlist)
void renderList(Canvas3D cv, int pass, java.lang.Object rlist)
void renderList(Canvas3D cv, int pass, RenderMolecule rlist)
void renderList(Canvas3D cv, int pass, TransparentRenderingInfo tinfo)
void changeLists(RenderMolecule r)
RenderMolecule removeOneRM(RenderMolecule r, java.util.HashMap allMap, RenderMolecule list)
void markDlistAsDirty(RenderMolecule r)
void decrActiveRenderMolecule()
void incrActiveRenderMolecule()
Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.