| java.lang.Object javax.media.j3d.TextureBin
TextureBin | class TextureBin extends Object implements ObjectUpdate(Code) | | The TextureBin manages a collection of TextureSetting objects.
All objects in the TextureBin share the same Texture reference.
|
Method Summary | |
RenderMolecule | addAll(HashMap renderMoleculeMap, HashMap addRMs, RenderMolecule startList, boolean opaqueList) Each list of renderMoledule with the same localToVworld
is connect by rm.next and rm.prev.
At the end of the list (i.e. | void | addRenderMolecule(RenderMolecule r, RenderBin rb) | void | changeLists(RenderMolecule r) | void | clear() | void | decrActiveRenderMolecule() | boolean | equals(TextureUnitStateRetained state, RenderAtom ra) | void | incrActiveRenderMolecule() | RenderMolecule | insertRenderMolecule(RenderMolecule r, RenderMolecule renderMoleculeList) | void | markDlistAsDirty(RenderMolecule r) | RenderMolecule | removeOneRM(RenderMolecule r, HashMap allMap, RenderMolecule list) | void | removeRenderMolecule(RenderMolecule r) | void | render(Canvas3D cv) | void | render(Canvas3D cv, Object rlist) | void | renderList(Canvas3D cv, int pass, Object rlist) | void | renderList(Canvas3D cv, int pass, RenderMolecule rlist) | void | renderList(Canvas3D cv, int pass, TransparentRenderingInfo tinfo) | void | reset(TextureUnitStateRetained[] state, AppearanceRetained app) | void | resetTextureState(TextureUnitStateRetained[] state) | void | updateAttributes(Canvas3D cv) This method is called to update the state for this
TextureBin. | public void | updateNodeComponent() | public void | updateObject() |
CONTIGUOUS_ACTIVE_UNITS | final static int CONTIGUOUS_ACTIVE_UNITS(Code) | | |
ON_RENDER_BIN_LIST | final static int ON_RENDER_BIN_LIST(Code) | | |
ON_UPDATE_CHECK_LIST | final static int ON_UPDATE_CHECK_LIST(Code) | | |
ON_UPDATE_LIST | final static int ON_UPDATE_LIST(Code) | | |
RESORT | final static int RESORT(Code) | | |
SOLE_USER | final static int SOLE_USER(Code) | | |
SOLE_USER_DIRTY_REF | final static int SOLE_USER_DIRTY_REF(Code) | | |
SOLE_USER_DIRTY_TA | final static int SOLE_USER_DIRTY_TA(Code) | | |
SOLE_USER_DIRTY_TC | final static int SOLE_USER_DIRTY_TC(Code) | | |
SOLE_USER_DIRTY_TEXTURE | final static int SOLE_USER_DIRTY_TEXTURE(Code) | | |
SOLE_USER_DIRTY_TUS | final static int SOLE_USER_DIRTY_TUS(Code) | | |
USE_DISPLAYLIST | final static int USE_DISPLAYLIST(Code) | | |
USE_VERTEXARRAY | final static int USE_VERTEXARRAY(Code) | | |
addOpaqueRMs | HashMap addOpaqueRMs(Code) | | The hashMap of RenderMolecules in this TextureBin
this is used in rendering, the key used is localToVworld
|
app | AppearanceRetained app(Code) | | 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. Otherwise, app is null
|
attributeBin | AttributeBin attributeBin(Code) | | The AttributeBin that this TextureBin resides
|
equivalent | int equivalent(Code) | | Oring of the equivalence bits for all appearance attrs under
this renderBin
|
next | TextureBin next(Code) | | The references to the next and previous TextureBins in the
list.
|
numEditingRenderMolecules | int numEditingRenderMolecules(Code) | | |
numRenderMolecules | int numRenderMolecules(Code) | | |
shaderBin | ShaderBin shaderBin(Code) | | The ShaderBin that this TextureBin resides
|
soleUserCompDirty | int soleUserCompDirty(Code) | | Sole user node component dirty mask. The first bit is reserved
for node component reference dirty bit. It is set if any of the
texture related node component reference in the appearance is
being modified. The second bit onwords are for the individual
TextureUnitState dirty bit. The ith bit set means the (i-1)
texture unit state is modified. Note, this mask only supports
30 texture unit states. If the appearance uses more than 31
texture unit states, then the modification of the 32nd texture
unit state and up will have the first bit set, that means
the TextureBin will be reset, rather than only the particular
texture unit state will be reset.
|
transparentRenderMoleculeMap | HashMap transparentRenderMoleculeMap(Code) | | |
addAll | RenderMolecule addAll(HashMap renderMoleculeMap, HashMap addRMs, RenderMolecule startList, boolean opaqueList)(Code) | | Each list of renderMoledule with the same localToVworld
is connect by rm.next and rm.prev.
At the end of the list (i.e. rm.next = null) the field
rm.nextMap is link to another list (with the same
localToVworld). So during rendering it will traverse
rm.next until this is null, then follow the .nextMap
to access another list and use rm.next to continue
until both rm.next and rm.nextMap are null.
renderMoleculeMap is use to assist faster location of
renderMolecule List with the same localToVWorld. The
start of renderMolecule in the list with same
localToVworld is insert in renderMoleculeMap. This
map is clean up at removeRenderMolecule(). TextureBin
also use the map for quick location of renderMolecule
with the same localToVworld and attributes in
findRenderMolecule().
|
clear | void clear()(Code) | | The TextureBin is to be removed from RenderBin,
do the proper unsetting of any references
|
decrActiveRenderMolecule | void decrActiveRenderMolecule()(Code) | | |
incrActiveRenderMolecule | void incrActiveRenderMolecule()(Code) | | |
removeRenderMolecule | void removeRenderMolecule(RenderMolecule r)(Code) | | Removes the given RenderMolecule from this TextureBin
|
updateAttributes | void updateAttributes(Canvas3D cv)(Code) | | This method is called to update the state for this
TextureBin. This is only applicable in the single-pass case.
Multi-pass render will have to take care of its own
state update.
|
updateNodeComponent | public void updateNodeComponent()(Code) | | 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
|
updateObject | public void updateObject()(Code) | | |
|
|