|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Canvas
javax.media.j3d.Canvas3D
public class Canvas3D
The Canvas3D class provides a drawing canvas for 3D rendering. It is used either for on-screen rendering or off-screen rendering. Canvas3D is an extension of the AWT Canvas class that users may further subclass to implement additional functionality.
The Canvas3D object extends the Canvas object to include 3D-related information such as the size of the canvas in pixels, the Canvas3D's location, also in pixels, within a Screen3D object, and whether or not the canvas has stereo enabled.
Because all Canvas3D objects contain a reference to a Screen3D object and because Screen3D objects define the size of a pixel in physical units, Java 3D can convert a Canvas3D size in pixels to a physical world size in meters. It can also determine the Canvas3D's position and orientation in the physical world.
On-screen Rendering vs. Off-screen Rendering
The Canvas3D class is used either for on-screen rendering or off-screen rendering. On-screen Canvas3Ds are added to AWT or Swing Container objects like any other canvas. Java 3D automatically and continuously renders to all on-screen canvases that are attached to an active View object. On-screen Canvas3Ds can be either single or double buffered and they can be either stereo or monoscopic.
Off-screen Canvas3Ds must not be added to any Container. Java 3D
renders to off-screen canvases in response to the
renderOffScreenBuffer
method. Off-screen Canvas3Ds
are single buffered. However, on many systems, the actual
rendering is done to an off-screen hardware buffer or to a 3D
library-specific buffer and only copied to the off-screen buffer of
the Canvas when the rendering is complete, at "buffer swap" time.
Off-screen Canvas3Ds are monoscopic.
The setOffScreenBuffer method sets the off-screen buffer for this Canvas3D. The specified image is written into by the Java 3D renderer. The size of the specified ImageComponent determines the size, in pixels, of this Canvas3D - the size inherited from Component is ignored. Note that the size, physical width, and physical height of the associated Screen3D must be set explicitly prior to rendering. Failure to do so will result in an exception.
The getOffScreenBuffer method retrieves the off-screen buffer for this Canvas3D.
The renderOffScreenBuffer method schedules the rendering of a frame into this Canvas3D's off-screen buffer. The rendering is done from the point of view of the View object to which this Canvas3D has been added. No rendering is performed if this Canvas3D object has not been added to an active View. This method does not wait for the rendering to actually happen. An application that wishes to know when the rendering is complete must either subclass Canvas3D and override the postSwap method, or call waitForOffScreenRendering.
The setOfScreenLocation methods set the location of this off-screen Canvas3D. The location is the upper-left corner of the Canvas3D relative to the upper-left corner of the corresponding off-screen Screen3D. The function of these methods is similar to that of Component.setLocation for on-screen Canvas3D objects. The default location is (0,0).
Accessing and Modifying an Eye's Image Plate Position
A Canvas3D object provides sophisticated applications with access to the eye's position information in head-tracked, room-mounted runtime environments. It also allows applications to manipulate the position of an eye relative to an image plate in non-head-tracked runtime environments.
The setLeftManualEyeInImagePlate and setRightManualEyeInImagePlate methods set the position of the manual left and right eyes in image plate coordinates. These values determine eye placement when a head tracker is not in use and the application is directly controlling the eye position in image plate coordinates. In head-tracked mode or when the windowEyepointPolicy is RELATIVE_TO_FIELD_OF_VIEW or RELATIVE_TO_COEXISTENCE, this value is ignored. When the windowEyepointPolicy is RELATIVE_TO_WINDOW, only the Z value is used.
The getLeftEyeInImagePlate, getRightEyeInImagePlate, and getCenterEyeInImagePlate methods retrieve the actual position of the left eye, right eye, and center eye in image plate coordinates and copy that value into the object provided. The center eye is the fictional eye half-way between the left and right eye. These three values are a function of the windowEyepointPolicy, the tracking enable flag, and the manual left, right, and center eye positions.
Monoscopic View Policy
The setMonoscopicViewPolicy and getMonoscopicViewPolicy methods set and retrieve the policy regarding how Java 3D generates monoscopic view. If the policy is set to View.LEFT_EYE_VIEW, the view generated corresponds to the view as seen from the left eye. If set to View.RIGHT_EYE_VIEW, the view generated corresponds to the view as seen from the right eye. If set to View.CYCLOPEAN_EYE_VIEW, the view generated corresponds to the view as seen from the "center eye," the fictional eye half-way between the left and right eye. The default monoscopic view policy is View.CYCLOPEAN_EYE_VIEW.
Immediate Mode Rendering
Pure immediate-mode rendering provides for those applications and applets that do not want Java 3D to do any automatic rendering of the scene graph. Such applications may not even wish to build a scene graph to represent their graphical data. However, they use Java 3D's attribute objects to set graphics state and Java 3D's geometric objects to render geometry.
A pure immediate mode application must create a minimal set of Java 3D objects before rendering. In addition to a Canvas3D object, the application must create a View object, with its associated PhysicalBody and PhysicalEnvironment objects, and the following scene graph elements: a VirtualUniverse object, a high-resolution Locale object, a BranchGroup node object, a TransformGroup node object with associated transform, and a ViewPlatform leaf node object that defines the position and orientation within the virtual universe that generates the view.
In immediate mode, all rendering is done completely under user
control. It is necessary for the user to clear the 3D canvas,
render all geometry, and swap the buffers. Additionally,
rendering the right and left eye for stereo viewing becomes the
sole responsibility of the application. In pure immediate mode,
the user must stop the Java 3D renderer, via the
Canvas3D object stopRenderer
method, prior to adding the
Canvas3D object to an active View object (that is, one that is
attached to a live ViewPlatform object).
Other Canvas3D methods related to immediate mode rendering are:
getGraphicsContext3D
retrieves the immediate-mode
3D graphics context associated with this Canvas3D. It creates a
new graphics context if one does not already exist.
getGraphics2D
retrieves the
2D graphics object associated with this Canvas3D. It creates a
new 2D graphics object if one does not already exist.
swap
synchronizes and swaps buffers on a
double-buffered canvas for this Canvas3D object. This method
should only be called if the Java 3D renderer has been stopped.
In the normal case, the renderer automatically swaps
the buffer.
Mixed Mode Rendering
Mixing immediate mode and retained or compiled-retained mode requires more structure than pure immediate mode. In mixed mode, the Java 3D renderer is running continuously, rendering the scene graph into the canvas.
Canvas3D methods related to mixed mode rendering are:
preRender
called by the Java 3D rendering loop after
clearing the canvas and before any rendering has been done for
this frame.
postRender
called by the Java 3D rendering loop after
completing all rendering to the canvas for this frame and before
the buffer swap.
postSwap
called by the Java 3D rendering loop after
completing all rendering to the canvas, and all other canvases
associated with this view, for this frame following the
buffer swap.
renderField
called by the Java 3D rendering loop
during the execution of the rendering loop. It is called once
for each field (i.e., once per frame on a mono system or once
each for the right eye and left eye on a two-pass stereo system.
The above callback methods are called by the Java 3D rendering system and should not be called by an application directly.
The basic Java 3D stereo rendering loop, executed for each Canvas3D, is as follows:
clear canvas (both eyes) call preRender() // user-supplied method set left eye view render opaque scene graph objects call renderField(FIELD_LEFT) // user-supplied method render transparent scene graph objects set right eye view render opaque scene graph objects again call renderField(FIELD_RIGHT) // user-supplied method render transparent scene graph objects again call postRender() // user-supplied method synchronize and swap buffers call postSwap() // user-supplied method
The basic Java 3D monoscopic rendering loop is as follows:
clear canvas call preRender() // user-supplied method set view render opaque scene graph objects call renderField(FIELD_ALL) // user-supplied method render transparent scene graph objects call postRender() // user-supplied method synchronize and swap buffers call postSwap() // user-supplied method
In both cases, the entire loop, beginning with clearing the canvas and ending with swapping the buffers, defines a frame. The application is given the opportunity to render immediate-mode geometry at any of the clearly identified spots in the rendering loop. A user specifies his or her own rendering methods by extending the Canvas3D class and overriding the preRender, postRender, postSwap, and/or renderField methods. Updates to live Geometry, Texture, and ImageComponent objects in the scene graph are not allowed from any of these callback methods.
Serialization
Canvas3D does not support serialization. An attempt to serialize a Canvas3D object will result in an UnsupportedOperationException being thrown.
Additional Information
For more information, see the Introduction to the Java 3D API and View Model documents.
Screen3D
,
View
,
GraphicsContext3D
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from class java.awt.Canvas |
---|
java.awt.Canvas.AccessibleAWTCanvas |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
(package private) boolean |
active
|
(package private) int |
actualStencilSize
|
(package private) boolean |
added
|
private boolean |
addNotifyCalled
|
(package private) static int |
AMBIENTLIGHT_DIRTY
|
(package private) float |
anisotropicDegreeMax
|
(package private) boolean |
antialiasingSet
|
(package private) AppearanceRetained |
appearance
|
(package private) java.lang.Object |
appHandle
|
(package private) AttributeBin |
attributeBin
|
(package private) static int |
ATTRIBUTEBIN_BIT
|
(package private) static int |
ATTRIBUTEBIN_DIRTY
|
(package private) static int |
BACKGROUND_DIRTY
|
(package private) static int |
BACKGROUND_IMAGE_DIRTY
|
(package private) int |
canvasBit
|
(package private) int |
canvasDirty
Dirty bit to determine if the NodeComponent needs to be re-sent down to the underlying API |
(package private) int |
canvasId
|
private boolean |
canvasIdAlloc
|
(package private) CanvasViewCache |
canvasViewCache
|
(package private) CanvasViewCache |
canvasViewCacheFrustum
|
private CanvasViewEventCatcher |
canvasViewEventCatcher
|
(package private) ColoringAttributesRetained |
coloringAttributes
|
(package private) static int |
COLORINGATTRS_DIRTY
|
private java.util.LinkedList<java.awt.Container> |
containerParentList
|
(package private) Context |
ctx
|
(package private) boolean |
ctxChanged
|
(package private) boolean |
ctxEyeLightingEnable
|
(package private) boolean |
ctxReset
|
(package private) long |
ctxTimeStamp
|
(package private) AppearanceRetained |
currentAppear
|
(package private) LightRetained[] |
currentLights
The list of lights that are currently being represented in the native graphics context. |
(package private) MaterialRetained |
currentMaterial
|
(package private) java.lang.Object[] |
curStateToUpdate
|
(package private) int[] |
cvDirtyMask
|
(package private) java.lang.Object |
cvLock
|
private static java.awt.GraphicsConfiguration |
defaultGcfg
|
(package private) boolean |
depthBufferEnableOverride
Flag to override RenderAttributes.depthBufferEnable |
(package private) boolean |
depthBufferWriteEnable
|
(package private) boolean |
depthBufferWriteEnableOverride
Flag to override RenderAttributes.depthBufferWriteEnable |
(package private) boolean |
dirtyDisplayList
|
(package private) java.util.ArrayList |
dirtyDlistPerRinfoList
|
(package private) java.lang.Object |
dirtyMaskLock
|
(package private) java.util.ArrayList |
dirtyRenderAtomList
|
(package private) java.util.ArrayList |
dirtyRenderMoleculeList
|
(package private) java.util.ArrayList |
displayListResourceFreeList
|
(package private) boolean |
doubleBufferAvailable
|
(package private) boolean |
doubleBufferEnable
|
(package private) Drawable |
drawable
|
(package private) DrawingSurfaceObject |
drawingSurfaceObject
|
(package private) boolean |
enableLighting
|
(package private) long |
enableMask
|
(package private) static int |
ENV_STATE_MASK
|
(package private) EnvironmentSet |
environmentSet
|
(package private) static int |
ENVIRONMENTSET_BIT
|
(package private) java.lang.Object |
evaluateLock
|
(package private) EventCatcher |
eventCatcher
|
(package private) static int |
EXT_ABGR
|
(package private) static int |
EXT_BGR
|
(package private) int |
extensionsSupported
|
(package private) static int |
EYE_IN_IMAGE_PLATE_DIRTY
|
private boolean |
fatalError
|
(package private) long |
fbConfig
|
static int |
FIELD_ALL
Specifies a single-field rendering loop. |
static int |
FIELD_LEFT
Specifies the left field of a field-sequential stereo rendering loop. |
static int |
FIELD_RIGHT
Specifies the right field of a field-sequential stereo rendering loop. |
(package private) boolean |
firstPaintCalled
|
(package private) FogRetained |
fog
|
(package private) static int |
FOG_DIRTY
|
(package private) int |
fogOn
|
(package private) int[] |
frameCount
|
(package private) int |
fullscreenHeight
|
(package private) boolean |
fullScreenMode
|
(package private) int |
fullscreenWidth
|
(package private) java.lang.Object |
gfxCreationLock
|
(package private) J3DGraphics2DImpl |
graphics2D
|
(package private) static java.util.Hashtable<java.awt.GraphicsConfiguration,GraphicsConfigInfo> |
graphicsConfigTable
|
(package private) java.awt.GraphicsConfiguration |
graphicsConfiguration
|
(package private) GraphicsContext3D |
graphicsContext3D
|
(package private) boolean |
imageReady
|
(package private) boolean |
isRunning
|
(package private) boolean |
isRunningStatus
|
(package private) int |
lastActiveTexUnit
|
(package private) Point3d |
leftManualEyeInImagePlate
|
(package private) LightBin |
lightBin
The RenderBin bundle references used to decide what the underlying context contains. |
(package private) static int |
LIGHTBIN_BIT
|
(package private) static int |
LIGHTBIN_DIRTY
|
(package private) boolean |
lightChanged
|
(package private) static int |
LIGHTENABLES_DIRTY
|
(package private) LightRetained[] |
lights
cached RenderBin states for lazy native states update |
(package private) LineAttributesRetained |
lineAttributes
|
(package private) static int |
LINEATTRS_DIRTY
|
(package private) boolean |
manualRendering
|
(package private) MaterialRetained |
material
|
(package private) static int |
MATERIAL_DIRTY
|
(package private) int |
maxAvailableTextureUnits
|
(package private) int |
maxCombinedTextureImageUnits
|
(package private) int |
maxTexCoordSets
|
(package private) int |
maxTextureImageUnits
|
(package private) int |
maxTextureUnits
|
(package private) int |
maxVertexAttrs
|
(package private) int |
maxVertexTextureImageUnits
|
(package private) ModelClipRetained |
modelClip
|
(package private) static int |
MODELCLIP_DIRTY
|
(package private) Transform3D |
modelMatrix
|
(package private) static int |
MONOSCOPIC_VIEW_POLICY_DIRTY
|
(package private) int |
monoscopicViewPolicy
|
(package private) static int |
MOVED_OR_RESIZED_DIRTY
|
(package private) static int |
MULTISAMPLE
|
(package private) boolean |
multiTexAccelerated
|
(package private) java.lang.String |
nativeGraphicsRenderer
|
(package private) java.lang.String |
nativeGraphicsVendor
|
(package private) java.lang.String |
nativeGraphicsVersion
|
(package private) boolean |
needToRebuildDisplayList
|
(package private) java.awt.Point |
newPosition
|
(package private) java.awt.Dimension |
newSize
|
(package private) static int |
NOCHANGE
|
(package private) int |
numActiveTexUnit
|
(package private) boolean |
offScreen
|
(package private) ImageComponent2D |
offScreenBuffer
|
(package private) long |
offScreenBufferInfo
|
(package private) boolean |
offScreenBufferPending
|
(package private) java.awt.Point |
offScreenCanvasLoc
|
(package private) java.awt.Dimension |
offScreenCanvasSize
|
(package private) boolean |
offScreenRendering
|
(package private) View |
pendingView
|
(package private) PointAttributesRetained |
pointAttributes
|
(package private) static int |
POINTATTRS_DIRTY
|
(package private) PolygonAttributesRetained |
polygonAttributes
|
(package private) static int |
POLYGONATTRS_DIRTY
|
(package private) Transform3D |
projTrans
|
(package private) J3dQueryProps |
queryProps
|
(package private) RenderAtom |
ra
|
(package private) boolean |
raIsVisible
|
(package private) static int |
RECREATEDDRAW
|
(package private) int |
reEvaluateCanvasCmd
|
(package private) static int |
RENDER_BIN_DIRTY_IDX
|
(package private) static int |
RENDERER_DIRTY_IDX
|
(package private) RenderingAttributesRetained |
renderingAttrs
|
(package private) RenderMolecule |
renderMolecule
|
(package private) static int |
RENDERMOLECULE_BIT
|
(package private) static int |
RENDERMOLECULE_DIRTY
|
(package private) int |
requestedStencilSize
|
(package private) static int |
RESETSURFACE
|
(package private) static int |
RESIZE
|
(package private) boolean |
resizeGraphics2D
|
(package private) Point3d |
rightManualEyeInImagePlate
|
(package private) boolean |
rightStereoPass
|
(package private) Color3f |
sceneAmbient
|
(package private) boolean |
sceneAntialiasingAvailable
|
(package private) boolean |
sceneAntialiasingMultiSamplesAvailable
|
(package private) Screen3D |
screen
|
(package private) ShaderBin |
shaderBin
|
(package private) static int |
SHADERBIN_BIT
|
(package private) ShaderProgramRetained |
shaderProgram
|
(package private) boolean |
shadingLanguageCg
|
(package private) boolean |
shadingLanguageGLSL
|
(package private) int |
stateUpdateMask
|
(package private) static int |
STEREO_DIRTY
|
(package private) boolean |
stereoAvailable
|
(package private) boolean |
stereoEnable
|
(package private) static int |
SUN_GLOBAL_ALPHA
|
(package private) boolean |
swapDone
|
(package private) boolean |
systemStencilAvailable
|
(package private) TextureAttributesRetained |
texAttrs
|
(package private) TexCoordGenerationRetained |
texCoordGeneration
|
(package private) boolean |
texLinearMode
Set to true when any one of texture state use Texture Generation linear mode. |
(package private) TextureRetained |
texture
These cached values are only used in Pure Immediate and Mixed Mode rendering |
(package private) static int |
TEXTURE_3D
|
(package private) static int |
TEXTURE_ANISOTROPIC_FILTER
|
(package private) static int |
TEXTURE_AUTO_MIPMAP_GENERATION
|
(package private) static int |
TEXTURE_COLOR_TABLE
|
(package private) static int |
TEXTURE_COMBINE
|
(package private) static int |
TEXTURE_COMBINE_DOT3
|
(package private) static int |
TEXTURE_COMBINE_SUBTRACT
|
(package private) static int |
TEXTURE_CUBE_MAP
|
(package private) static int |
TEXTURE_DETAIL
|
(package private) static int |
TEXTURE_FILTER4
|
(package private) static int |
TEXTURE_LERP
|
(package private) static int |
TEXTURE_LOD_OFFSET
|
(package private) static int |
TEXTURE_LOD_RANGE
|
(package private) static int |
TEXTURE_MULTI_TEXTURE
|
(package private) static int |
TEXTURE_NON_POWER_OF_TWO
|
(package private) static int |
TEXTURE_REGISTER_COMBINERS
|
(package private) static int |
TEXTURE_SHARPEN
|
(package private) int |
texture3DDepthMax
|
(package private) int |
texture3DHeightMax
|
(package private) int |
texture3DWidthMax
|
(package private) static int |
TEXTUREATTRIBUTES_DIRTY
|
(package private) TextureBin |
textureBin
|
(package private) static int |
TEXTUREBIN_BIT
|
(package private) static int |
TEXTUREBIN_DIRTY
|
(package private) int |
textureBoundaryWidthMax
|
(package private) int |
textureColorTableSize
|
(package private) int |
textureExtendedFeatures
|
(package private) int |
textureHeightMax
|
(package private) java.util.ArrayList |
textureIdResourceFreeList
|
(package private) java.util.ArrayList |
textureIDResourceTable
|
(package private) int |
textureWidthMax
|
(package private) TextureUnitStateRetained[] |
texUnitState
|
(package private) static int |
TOGGLEFULLSCREEN
|
(package private) TransparencyAttributesRetained |
transparency
|
(package private) static int |
TRANSPARENCY_BIT
|
(package private) static int |
TRANSPARENCYATTRS_DIRTY
|
(package private) boolean |
useDoubleBuffer
|
(package private) boolean |
userStencilAvailable
|
(package private) boolean |
useSharedCtx
|
(package private) boolean |
useStereo
|
(package private) boolean |
validCanvas
|
(package private) boolean |
validCtx
|
(package private) boolean |
vfPlanesValid
|
(package private) View |
view
|
(package private) static int |
VIEW_INFO_DIRTY
|
(package private) static int |
VIEW_MATRIX_DIRTY
|
(package private) CachedFrustum |
viewFrustum
The object used for View Frustum Culling |
(package private) boolean |
visible
|
(package private) Transform3D |
vpcToEc
|
(package private) Transform3D |
vworldToEc
|
(package private) boolean |
waiting
|
private java.awt.Window |
windowParent
|
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
|
Canvas3D(java.awt.GraphicsConfiguration graphicsConfiguration)
Constructs and initializes a new Canvas3D object that Java 3D can render into. |
|
Canvas3D(java.awt.GraphicsConfiguration graphicsConfiguration,
boolean offScreen)
Constructs and initializes a new Canvas3D object that Java 3D can render into. |
private |
Canvas3D(java.lang.Object dummyObj1,
java.awt.GraphicsConfiguration graphicsConfiguration,
boolean offScreen)
|
private |
Canvas3D(java.lang.Object dummyObj1,
java.awt.GraphicsConfiguration graphicsConfiguration,
java.awt.GraphicsConfiguration graphicsConfiguration2,
boolean offScreen)
|
Method Summary | |
---|---|
(package private) void |
accum(Context ctx,
float value)
|
(package private) void |
accumReturn(Context ctx)
|
(package private) void |
activeTextureUnit(Context ctx,
int texUnitIndex)
|
void |
addNotify()
Canvas3D uses the addNotify callback to track when it is added to a container. |
(package private) void |
addTextureResource(int id,
java.lang.Object obj)
obj is either TextureRetained or DetailTextureImage if obj is DetailTextureImage then we just clear the resourceCreationMask of all the formats no matter it is create or not since we don't remember the format information for simplicity. |
(package private) void |
allocateCanvasId()
|
(package private) void |
beginScene()
|
private void |
beginScene(Context ctx)
|
(package private) void |
callDisplayList(Context ctx,
int id,
boolean isNonUniformScale)
|
private static java.awt.GraphicsConfiguration |
checkForValidGraphicsConfig(java.awt.GraphicsConfiguration gconfig,
boolean offScreen)
|
(package private) void |
clear(BackgroundRetained bg,
int winWidth,
int winHeight)
|
(package private) void |
clear(Context ctx,
float r,
float g,
float b,
boolean clearStencil)
|
(package private) void |
clearAccum(Context ctx)
|
(package private) void |
computeViewCache()
|
(package private) Context |
createNewContext(Context shareCtx,
boolean isSharedCtx)
Wrapper for native createNewContext method. |
private Context |
createNewContext(long display,
Drawable drawable,
long fbConfig,
Context shareCtx,
boolean isSharedCtx,
boolean offScreen,
boolean glslLibraryAvailable,
boolean cgLibraryAvailable)
|
(package private) Drawable |
createOffScreenBuffer(Context ctx,
long display,
long fbConfig,
int width,
int height)
|
(package private) void |
createQueryContext()
|
private void |
createQueryContext(long display,
Drawable drawable,
long fbConfig,
boolean offScreen,
int width,
int height,
boolean glslLibraryAvailable,
boolean cgLibraryAvailable)
|
private void |
createQueryProps()
Creates the query properties for this Canvas. |
(package private) void |
createTexUnitState()
|
(package private) void |
ctxUpdateEyeLightingEnable(Context ctx,
boolean localEyeLightingEnable)
|
(package private) void |
d3dResize()
|
(package private) void |
d3dToggle()
|
(package private) boolean |
decal1stChildSetup(Context ctx)
|
(package private) void |
decalNthChildSetup(Context ctx)
|
(package private) void |
decalReset(Context ctx,
boolean depthBufferEnable)
|
private static java.awt.GraphicsConfiguration |
defaultGraphicsConfiguration()
|
(package private) static void |
destroyContext(long display,
Drawable drawable,
Context ctx)
|
(package private) void |
destroyOffScreenBuffer(Context ctx,
long display,
long fbConfig,
Drawable drawable)
|
(package private) void |
disableFog(Context ctx)
|
(package private) void |
disableModelClip(Context ctx)
|
(package private) void |
doSwap()
|
(package private) void |
enableSeparateSpecularColor()
Enable separate specular color if it is not overriden by the property j3d.disableSeparateSpecular. |
(package private) void |
endDisplayList(Context ctx)
|
(package private) void |
endOffScreenRendering()
|
(package private) void |
endScene()
|
private void |
endScene(Context ctx)
|
(package private) void |
evaluateActive()
|
(package private) void |
evaluateVisiblilty()
|
(package private) void |
executeRasterDepth(Context ctx,
float posX,
float posY,
float posZ,
int srcOffsetX,
int srcOffsetY,
int rasterWidth,
int rasterHeight,
int depthWidth,
int depthHeight,
int depthType,
java.lang.Object depthData)
|
(package private) void |
freeAllDisplayListResources(Context ctx)
|
(package private) void |
freeCanvasId()
|
(package private) void |
freeContextResources(Renderer rdr,
boolean freeBackground,
Context ctx)
|
(package private) static void |
freeDisplayList(Context ctx,
int id)
|
(package private) void |
freeResourcesInFreeList(Context ctx)
|
(package private) static void |
freeTexture(Context ctx,
int id)
|
java.awt.Rectangle |
getBounds()
|
java.awt.Rectangle |
getBounds(java.awt.Rectangle rv)
|
void |
getCenterEyeInImagePlate(Point3d position)
Retrieves the actual position of the center eye in image-plate coordinates and copies that value into the object provided. |
boolean |
getDoubleBufferAvailable()
Returns a status flag indicating whether or not double buffering is available. |
boolean |
getDoubleBufferEnable()
Returns a status flag indicating whether or not double buffering is enabled. |
J3DGraphics2D |
getGraphics2D()
Get the 2D graphics object associated with this Canvas3D. |
private static java.awt.GraphicsConfiguration |
getGraphicsConfig(java.awt.GraphicsConfiguration gconfig)
|
GraphicsContext3D |
getGraphicsContext3D()
Get the immediate mode 3D graphics context associated with this Canvas3D. |
int |
getHeight()
|
void |
getImagePlateToVworld(Transform3D t)
Retrieves the current ImagePlate coordinates to Virtual World coordinates transform and places it into the specified object. |
void |
getInverseVworldProjection(Transform3D leftInverseProjection,
Transform3D rightInverseProjection)
Copies the inverse of the current Vworld projection transform for each eye into the specified Transform3D objects. |
(package private) int |
getLastActiveTexUnit()
|
(package private) void |
getLastVworldToImagePlate(Transform3D t)
|
void |
getLeftEyeInImagePlate(Point3d position)
Retrieves the actual position of the left eye in image-plate coordinates and copies that value into the object provided. |
void |
getLeftManualEyeInImagePlate(Point3d position)
Retrieves the position of the user-specified, manual left eye in image-plate coordinates and copies that value into the object provided. |
java.awt.Point |
getLocation()
|
java.awt.Point |
getLocation(java.awt.Point rv)
|
java.awt.Point |
getLocationOnScreen()
|
int |
getMonoscopicViewPolicy()
Returns policy on how Java 3D generates monoscopic view. |
(package private) int |
getNumActiveTexUnit()
|
(package private) int |
getNumCtxLights(Context ctx)
|
ImageComponent2D |
getOffScreenBuffer()
Retrieves the off-screen buffer for this Canvas3D. |
java.awt.Point |
getOffScreenLocation()
Retrieves the location of this off-screen Canvas3D. |
java.awt.Point |
getOffScreenLocation(java.awt.Point rv)
Retrieves the location of this off-screen Canvas3D and stores it in the specified Point object. |
double |
getPhysicalHeight()
Retrieves the physical height of this canvas window in meters. |
double |
getPhysicalWidth()
Retrieves the physical width of this canvas window in meters. |
void |
getPixelLocationFromImagePlate(Point3d imagePlatePoint,
Point2d pixelLocation)
Projects the specified point from image plate coordinates into AWT pixel coordinates. |
(package private) void |
getPixelLocationInImagePlate(double x,
double y,
double z,
Point3d imagePlatePoint)
|
void |
getPixelLocationInImagePlate(int x,
int y,
Point3d imagePlatePoint)
Computes the position of the specified AWT pixel value in image-plate coordinates and copies that value into the object provided. |
void |
getPixelLocationInImagePlate(Point2d pixelLocation,
Point3d imagePlatePoint)
Computes the position of the specified AWT pixel value in image-plate coordinates and copies that value into the object provided. |
void |
getRightEyeInImagePlate(Point3d position)
Retrieves the actual position of the right eye in image-plate coordinates and copies that value into the object provided. |
void |
getRightManualEyeInImagePlate(Point3d position)
Retrieves the position of the user-specified, manual right eye in image-plate coordinates and copies that value into the object provided. |
boolean |
getSceneAntialiasingAvailable()
Returns a status flag indicating whether or not scene antialiasing is available. |
Screen3D |
getScreen3D()
Retrieve the Screen3D object that this Canvas3D is attached to. |
java.awt.Dimension |
getSize()
|
java.awt.Dimension |
getSize(java.awt.Dimension rv)
|
(package private) int |
getStencilSize()
|
boolean |
getStereoAvailable()
Returns a status flag indicating whether or not stereo is available. |
boolean |
getStereoEnable()
Returns a status flag indicating whether or not stereo is enabled. |
View |
getView()
Gets view that points to this Canvas3D. |
void |
getVworldProjection(Transform3D leftProjection,
Transform3D rightProjection)
Copies the current Vworld projection transform for each eye into the specified Transform3D objects. |
void |
getVworldToImagePlate(Transform3D t)
Retrieves the current Virtual World coordinates to ImagePlate coordinates transform and places it into the specified object. |
int |
getWidth()
|
int |
getX()
|
int |
getY()
|
(package private) boolean |
hasDoubleBuffer()
|
(package private) boolean |
hasSceneAntialiasingAccum()
|
(package private) boolean |
hasSceneAntialiasingMultisample()
|
(package private) boolean |
hasStereo()
|
(package private) boolean |
initTexturemapping(Context ctx,
int texWidth,
int texHeight,
int objectId)
|
(package private) boolean |
isFatalError()
|
private boolean |
isIconified()
Method to return whether the top-level Window parent is iconified |
boolean |
isOffScreen()
Retrieves a flag indicating whether this Canvas3D is an off-screen canvas. |
private boolean |
isRecursivelyVisible()
Method to return whether or not the Canvas3D is recursively visible; that is, whether the Canas3D is currently visible on the screen. |
boolean |
isRendererRunning()
Retrieves the state of the renderer for this Canvas3D object. |
boolean |
isShadingLanguageSupported(int shadingLanguage)
Returns a flag indicating whether or not the specified shading language is supported. |
private static boolean |
isValidConfig(java.awt.GraphicsConfiguration gconfig)
|
(package private) void |
makeCtxCurrent()
Make the context associated with the specified canvas current. |
(package private) void |
makeCtxCurrent(Context ctx)
Make the specified context current. |
(package private) void |
makeCtxCurrent(Context ctx,
long dpy,
Drawable drawable)
|
(package private) void |
newDisplayList(Context ctx,
int displayListId)
|
(package private) void |
notifyD3DPeer(int cmd)
|
void |
paint(java.awt.Graphics g)
Canvas3D uses the paint callback to track when it is possible to render into the canvas. |
void |
postRender()
This routine is called by the Java 3D rendering loop after completing all rendering to the canvas for this frame and before the buffer swap. |
void |
postSwap()
This routine is called by the Java 3D rendering loop after completing all rendering to the canvas, and all other canvases associated with this view, for this frame following the buffer swap. |
void |
preRender()
This routine is called by the Java 3D rendering loop after clearing the canvas and before any rendering has been done for this frame. |
java.util.Map |
queryProperties()
Returns a read-only Map object containing key-value pairs that define various properties for this Canvas3D. |
private void |
readObject(java.io.ObjectInputStream in)
Serialization of Canvas3D objects is not supported. |
private void |
readOffScreenBuffer(Context ctx,
int format,
int type,
java.lang.Object data,
int width,
int height)
|
(package private) void |
redraw()
This version looks for the view and notifies it. |
(package private) void |
releaseCtx()
|
private boolean |
releaseCtx(Context ctx,
long dpy)
|
private void |
removeCtx()
|
void |
removeNotify()
Canvas3D uses the removeNotify callback to track when it is removed from a container. |
void |
renderField(int fieldDesc)
This routine is called by the Java 3D rendering loop during the execution of the rendering loop. |
void |
renderOffScreenBuffer()
Schedules the rendering of a frame into this Canvas3D's off-screen buffer. |
(package private) void |
reset()
|
(package private) void |
resetColoringAttributes(Context ctx,
float r,
float g,
float b,
float a,
boolean enableLight)
|
(package private) void |
resetImmediateRendering(int status)
|
(package private) void |
resetLineAttributes(Context ctx)
|
(package private) void |
resetPointAttributes(Context ctx)
|
(package private) void |
resetPolygonAttributes(Context ctx)
|
(package private) void |
resetRendering(int status)
|
(package private) void |
resetRenderingAttributes(Context ctx,
boolean depthBufferWriteEnableOverride,
boolean depthBufferEnableOverride)
|
(package private) void |
resetTexCoordGeneration(Context ctx)
|
(package private) void |
resetTexture(Context ctx,
int texUnitIndex)
|
(package private) void |
resetTextureAttributes(Context ctx)
|
(package private) void |
resetTextureBin()
|
(package private) void |
resetTextureNative(Context ctx,
int texUnitIndex)
|
(package private) void |
resetTransparency(Context ctx,
int geometryType,
int polygonMode,
boolean lineAA,
boolean pointAA)
|
private int |
resizeD3DCanvas(Context ctx)
|
(package private) void |
restoreTextureBin()
|
private void |
sendAllocateCanvasId()
|
private void |
sendCreateOffScreenBuffer()
|
private void |
sendDestroyCtxAndOffScreenBuffer()
|
(package private) void |
sendEventToBehaviorScheduler(java.awt.AWTEvent evt)
This method overrides AWT's handleEvent class... |
private void |
sendFreeCanvasId()
|
(package private) void |
setBlendColor(Context ctx,
float red,
float green,
float blue,
float alpha)
|
(package private) void |
setBlendFunc(Context ctx,
int src,
int dst)
|
(package private) void |
setDepthBufferEnableOverride(boolean flag)
Set depthBufferEnableOverride flag |
(package private) void |
setDepthBufferWriteEnable(boolean mode)
|
(package private) void |
setDepthBufferWriteEnable(Context ctx,
boolean mode)
|
(package private) void |
setDepthBufferWriteEnableOverride(boolean flag)
Set depthBufferWriteEnableOverride flag |
void |
setDoubleBufferEnable(boolean flag)
Turns double buffering on or off. |
(package private) void |
setFatalError()
|
(package private) void |
setFogEnableFlag(Context ctx,
boolean enableFlag)
|
(package private) void |
setFrustumPlanes(Vector4d[] planes)
|
(package private) void |
setFullSceneAntialiasing(Context ctx,
boolean enable)
|
(package private) void |
setGlobalAlpha(Context ctx,
float alpha)
|
(package private) void |
setLastActiveTexUnit(int n)
|
void |
setLeftManualEyeInImagePlate(Point3d position)
Sets the position of the manual left eye in image-plate coordinates. |
(package private) void |
setLightEnables(Context ctx,
long enableMask,
int maxLights)
|
(package private) void |
setModelViewMatrix(Context ctx,
double[] viewMatrix,
double[] modelMatrix)
|
(package private) void |
setModelViewMatrix(Context ctx,
double[] viewMatrix,
Transform3D mTrans)
|
void |
setMonoscopicViewPolicy(int policy)
Specifies how Java 3D generates monoscopic view. |
(package private) void |
setNumActiveTexUnit(int n)
|
void |
setOffScreenBuffer(ImageComponent2D buffer)
Sets the off-screen buffer for this Canvas3D. |
void |
setOffScreenLocation(int x,
int y)
Sets the location of this off-screen Canvas3D. |
void |
setOffScreenLocation(java.awt.Point p)
Sets the location of this off-screen Canvas3D. |
(package private) void |
setProjectionMatrix(Context ctx,
double[] projMatrix)
|
(package private) void |
setProjectionMatrix(Context ctx,
Transform3D projTrans)
|
(package private) void |
setRenderMode(Context ctx,
int mode,
boolean doubleBuffer)
|
void |
setRightManualEyeInImagePlate(Point3d position)
Sets the position of the manual right eye in image-plate coordinates. |
(package private) void |
setSceneAmbient(Context ctx,
float red,
float green,
float blue)
|
(package private) void |
setStateIsUpdated(int bit)
|
(package private) void |
setStateToUpdate(int bit,
java.lang.Object bin)
|
void |
setStereoEnable(boolean flag)
Turns stereo on or off. |
(package private) void |
setView(View view)
Sets view that points to this Canvas3D. |
(package private) void |
setViewport(Context ctx,
int x,
int y,
int width,
int height)
|
void |
startRenderer()
Start the Java 3D renderer on this Canvas3D object. |
void |
stopRenderer()
Stop the Java 3D renderer on this Canvas3D object. |
(package private) boolean |
supportGlobalAlpha()
|
void |
swap()
Synchronize and swap buffers on a double buffered canvas for this Canvas3D object. |
(package private) int |
swapBuffers(Context ctx,
long dpy,
Drawable drawable)
|
(package private) void |
syncRender(Context ctx,
boolean wait)
This native method makes sure that the rendering for this canvas gets done now. |
(package private) void |
textureFill(BackgroundRetained bg,
int winWidth,
int winHeight)
|
(package private) void |
textureFill(RasterRetained raster,
Point2d winCoord,
float mapZ,
float alpha)
|
(package private) void |
textureFillBackground(Context ctx,
float texMinU,
float texMaxU,
float texMinV,
float texMaxV,
float mapMinX,
float mapMaxX,
float mapMinY,
float mapMaxY,
boolean useBiliearFilter)
|
(package private) void |
textureFillRaster(Context ctx,
float texMinU,
float texMaxU,
float texMinV,
float texMaxV,
float mapMinX,
float mapMaxX,
float mapMinY,
float mapMaxY,
float mapZ,
float alpha,
boolean useBiliearFilter)
|
(package private) void |
texturemapping(Context ctx,
int px,
int py,
int xmin,
int ymin,
int xmax,
int ymax,
int texWidth,
int texHeight,
int rasWidth,
int format,
int objectId,
byte[] image,
int winWidth,
int winHeight)
|
private int |
toggleFullScreenMode(Context ctx)
|
(package private) void |
updateEnvState()
|
(package private) void |
updateMaterial(Context ctx,
float r,
float g,
float b,
float a)
|
(package private) void |
updateSeparateSpecularColorEnable(Context ctx,
boolean control)
|
(package private) void |
updateState(int dirtyBits)
update state if neccessary according to the stateUpdatedMask |
(package private) void |
updateTextureForRaster(Texture2DRetained texture)
|
(package private) void |
updateViewCache(boolean flag,
CanvasViewCache cvc,
BoundingBox frustumBBox,
boolean doInfinite)
Update the view cache associated with this canvas. |
(package private) static boolean |
useCtx(Context ctx,
long display,
Drawable drawable)
|
private boolean |
validGraphicsMode()
|
void |
waitForOffScreenRendering()
Waits for this Canvas3D's off-screen rendering to be done. |
private void |
writeObject(java.io.ObjectOutputStream out)
Serialization of Canvas3D objects is not supported. |
Methods inherited from class java.awt.Canvas |
---|
createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, update |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int FIELD_LEFT
public static final int FIELD_RIGHT
public static final int FIELD_ALL
static final int POLYGONATTRS_DIRTY
static final int LINEATTRS_DIRTY
static final int POINTATTRS_DIRTY
static final int MATERIAL_DIRTY
static final int TRANSPARENCYATTRS_DIRTY
static final int COLORINGATTRS_DIRTY
static final int LIGHTBIN_DIRTY
static final int LIGHTENABLES_DIRTY
static final int AMBIENTLIGHT_DIRTY
static final int ATTRIBUTEBIN_DIRTY
static final int TEXTUREBIN_DIRTY
static final int TEXTUREATTRIBUTES_DIRTY
static final int RENDERMOLECULE_DIRTY
static final int FOG_DIRTY
static final int MODELCLIP_DIRTY
static final int VIEW_MATRIX_DIRTY
static final int RESIZE
static final int TOGGLEFULLSCREEN
static final int NOCHANGE
static final int RESETSURFACE
static final int RECREATEDDRAW
boolean offScreen
boolean manualRendering
java.awt.Point offScreenCanvasLoc
java.awt.Dimension offScreenCanvasSize
volatile boolean offScreenRendering
volatile boolean offScreenBufferPending
ImageComponent2D offScreenBuffer
boolean useSharedCtx
boolean stereoAvailable
boolean stereoEnable
boolean useStereo
boolean rightStereoPass
int monoscopicViewPolicy
int requestedStencilSize
int actualStencilSize
boolean userStencilAvailable
boolean systemStencilAvailable
boolean doubleBufferAvailable
boolean doubleBufferEnable
boolean useDoubleBuffer
boolean sceneAntialiasingAvailable
boolean sceneAntialiasingMultiSamplesAvailable
boolean antialiasingSet
int textureColorTableSize
int numActiveTexUnit
int lastActiveTexUnit
boolean shadingLanguageGLSL
boolean shadingLanguageCg
J3dQueryProps queryProps
private boolean fatalError
Point3d leftManualEyeInImagePlate
Point3d rightManualEyeInImagePlate
View view
View pendingView
CanvasViewCache canvasViewCache
CanvasViewCache canvasViewCacheFrustum
boolean raIsVisible
RenderAtom ra
static final int STEREO_DIRTY
static final int MONOSCOPIC_VIEW_POLICY_DIRTY
static final int EYE_IN_IMAGE_PLATE_DIRTY
static final int MOVED_OR_RESIZED_DIRTY
static final int BACKGROUND_DIRTY
static final int BACKGROUND_IMAGE_DIRTY
static final int VIEW_INFO_DIRTY
static final int RENDERER_DIRTY_IDX
static final int RENDER_BIN_DIRTY_IDX
int[] cvDirtyMask
boolean resizeGraphics2D
volatile boolean isRunning
volatile boolean isRunningStatus
boolean active
boolean visible
boolean ctxReset
Screen3D screen
boolean imageReady
int fogOn
GraphicsContext3D graphicsContext3D
boolean waiting
boolean swapDone
java.awt.GraphicsConfiguration graphicsConfiguration
J3DGraphics2DImpl graphics2D
java.lang.Object gfxCreationLock
Transform3D vworldToEc
Transform3D vpcToEc
Drawable drawable
long fbConfig
long offScreenBufferInfo
static java.util.Hashtable<java.awt.GraphicsConfiguration,GraphicsConfigInfo> graphicsConfigTable
java.lang.String nativeGraphicsVersion
java.lang.String nativeGraphicsVendor
java.lang.String nativeGraphicsRenderer
boolean firstPaintCalled
boolean added
private boolean addNotifyCalled
Context ctx
volatile long ctxTimeStamp
boolean ctxEyeLightingEnable
AppearanceRetained currentAppear
MaterialRetained currentMaterial
CachedFrustum viewFrustum
LightBin lightBin
EnvironmentSet environmentSet
AttributeBin attributeBin
ShaderBin shaderBin
RenderMolecule renderMolecule
PolygonAttributesRetained polygonAttributes
LineAttributesRetained lineAttributes
PointAttributesRetained pointAttributes
MaterialRetained material
boolean enableLighting
TransparencyAttributesRetained transparency
ColoringAttributesRetained coloringAttributes
Transform3D modelMatrix
Transform3D projTrans
TextureBin textureBin
LightRetained[] lights
int[] frameCount
long enableMask
FogRetained fog
ModelClipRetained modelClip
Color3f sceneAmbient
TextureUnitStateRetained[] texUnitState
TextureRetained texture
TextureAttributesRetained texAttrs
TexCoordGenerationRetained texCoordGeneration
RenderingAttributesRetained renderingAttrs
AppearanceRetained appearance
ShaderProgramRetained shaderProgram
java.lang.Object appHandle
boolean texLinearMode
int canvasDirty
boolean dirtyDisplayList
java.util.ArrayList dirtyRenderMoleculeList
java.util.ArrayList dirtyRenderAtomList
java.util.ArrayList dirtyDlistPerRinfoList
java.util.ArrayList displayListResourceFreeList
java.util.ArrayList textureIdResourceFreeList
int canvasBit
int canvasId
private boolean canvasIdAlloc
java.lang.Object cvLock
java.lang.Object evaluateLock
java.lang.Object dirtyMaskLock
boolean fullScreenMode
int fullscreenWidth
int fullscreenHeight
boolean needToRebuildDisplayList
int reEvaluateCanvasCmd
static final int TEXTURE_3D
static final int TEXTURE_COLOR_TABLE
static final int TEXTURE_MULTI_TEXTURE
static final int TEXTURE_COMBINE
static final int TEXTURE_COMBINE_DOT3
static final int TEXTURE_COMBINE_SUBTRACT
static final int TEXTURE_REGISTER_COMBINERS
static final int TEXTURE_CUBE_MAP
static final int TEXTURE_SHARPEN
static final int TEXTURE_DETAIL
static final int TEXTURE_FILTER4
static final int TEXTURE_ANISOTROPIC_FILTER
static final int TEXTURE_LOD_RANGE
static final int TEXTURE_LOD_OFFSET
static final int TEXTURE_LERP
static final int TEXTURE_NON_POWER_OF_TWO
static final int TEXTURE_AUTO_MIPMAP_GENERATION
int textureExtendedFeatures
static final int SUN_GLOBAL_ALPHA
static final int EXT_ABGR
static final int EXT_BGR
static final int MULTISAMPLE
int extensionsSupported
float anisotropicDegreeMax
int textureBoundaryWidthMax
boolean multiTexAccelerated
int maxTexCoordSets
int maxTextureUnits
int maxTextureImageUnits
int maxVertexTextureImageUnits
int maxCombinedTextureImageUnits
int maxVertexAttrs
int maxAvailableTextureUnits
int textureWidthMax
int textureHeightMax
int texture3DWidthMax
int texture3DHeightMax
int texture3DDepthMax
java.awt.Point newPosition
java.awt.Dimension newSize
java.util.ArrayList textureIDResourceTable
static final int LIGHTBIN_BIT
static final int ENVIRONMENTSET_BIT
static final int ATTRIBUTEBIN_BIT
static final int TEXTUREBIN_BIT
static final int RENDERMOLECULE_BIT
static final int TRANSPARENCY_BIT
static final int SHADERBIN_BIT
int stateUpdateMask
java.lang.Object[] curStateToUpdate
LightRetained[] currentLights
boolean depthBufferWriteEnableOverride
boolean depthBufferEnableOverride
boolean depthBufferWriteEnable
boolean vfPlanesValid
EventCatcher eventCatcher
private CanvasViewEventCatcher canvasViewEventCatcher
private java.awt.Window windowParent
private java.util.LinkedList<java.awt.Container> containerParentList
boolean lightChanged
DrawingSurfaceObject drawingSurfaceObject
boolean validCtx
boolean validCanvas
boolean ctxChanged
private static java.awt.GraphicsConfiguration defaultGcfg
static int ENV_STATE_MASK
Constructor Detail |
---|
public Canvas3D(java.awt.GraphicsConfiguration graphicsConfiguration)
graphicsConfiguration
- a valid GraphicsConfiguration object that
will be used to create the canvas. This object should not be null and
should be created using a GraphicsConfigTemplate3D or the
getPreferredConfiguration() method of the SimpleUniverse utility. For
backward compatibility with earlier versions of Java 3D, a null or
default GraphicsConfiguration will still work when used to create a
Canvas3D on the default screen, but an error message will be printed.
A NullPointerException or IllegalArgumentException will be thrown in a
subsequent release.
java.lang.IllegalArgumentException
- if the specified
GraphicsConfiguration does not support 3D renderingpublic Canvas3D(java.awt.GraphicsConfiguration graphicsConfiguration, boolean offScreen)
graphicsConfiguration
- a valid GraphicsConfiguration object
that will be used to create the canvas. This must be created either
with a GraphicsConfigTemplate3D or by using the
getPreferredConfiguration() method of the SimpleUniverse utility.offScreen
- a flag that indicates whether this canvas is
an off-screen 3D rendering canvas. Note that if offScreen
is set to true, this Canvas3D object cannot be used for normal
rendering; it should not be added to any Container object.
java.lang.NullPointerException
- if the GraphicsConfiguration
is null.
java.lang.IllegalArgumentException
- if the specified
GraphicsConfiguration does not support 3D renderingprivate Canvas3D(java.lang.Object dummyObj1, java.awt.GraphicsConfiguration graphicsConfiguration, boolean offScreen)
private Canvas3D(java.lang.Object dummyObj1, java.awt.GraphicsConfiguration graphicsConfiguration, java.awt.GraphicsConfiguration graphicsConfiguration2, boolean offScreen)
Method Detail |
---|
private static java.awt.GraphicsConfiguration defaultGraphicsConfiguration()
private static boolean isValidConfig(java.awt.GraphicsConfiguration gconfig)
private static java.awt.GraphicsConfiguration checkForValidGraphicsConfig(java.awt.GraphicsConfiguration gconfig, boolean offScreen)
private static java.awt.GraphicsConfiguration getGraphicsConfig(java.awt.GraphicsConfiguration gconfig)
void sendEventToBehaviorScheduler(java.awt.AWTEvent evt)
private boolean isRecursivelyVisible()
private boolean isIconified()
void evaluateVisiblilty()
void redraw()
public void paint(java.awt.Graphics g)
paint
in class java.awt.Canvas
g
- the graphics contextpublic void addNotify()
addNotify
in class java.awt.Canvas
public void removeNotify()
removeNotify
in class java.awt.Component
void allocateCanvasId()
void freeCanvasId()
void evaluateActive()
void setFrustumPlanes(Vector4d[] planes)
public Screen3D getScreen3D()
public GraphicsContext3D getGraphicsContext3D()
public J3DGraphics2D getGraphics2D()
public void preRender()
Updates to live Geometry, Texture, and ImageComponent objects in the scene graph are not allowed from this method.
NOTE: Applications should not call this method.
public void postRender()
Updates to live Geometry, Texture, and ImageComponent objects in the scene graph are not allowed from this method.
NOTE: Applications should not call this method.
public void postSwap()
Updates to live Geometry, Texture, and ImageComponent objects in the scene graph are not allowed from this method.
NOTE: Applications should not call this method.
public void renderField(int fieldDesc)
Updates to live Geometry, Texture, and ImageComponent objects in the scene graph are not allowed from this method.
NOTE: Applications should not call this method.
fieldDesc
- field description, one of: FIELD_LEFT, FIELD_RIGHT or
FIELD_ALL. Applications that wish to work correctly in stereo mode
should render the same image for both FIELD_LEFT and FIELD_RIGHT calls.
If Java 3D calls the renderer with FIELD_ALL then the immediate mode
rendering only needs to be done once.public final void stopRenderer()
java.lang.IllegalStateException
- if this Canvas3D is in
off-screen mode.public final void startRenderer()
public final boolean isRendererRunning()
boolean isFatalError()
void setFatalError()
public boolean isOffScreen()
true
if this Canvas3D is an off-screen canvas;
false
if this is an on-screen canvas.public void setOffScreenBuffer(ImageComponent2D buffer)
NOTE: the size, physical width, and physical height of the associated Screen3D must be set explicitly prior to rendering. Failure to do so will result in an exception.
buffer
- the image component that will be rendered into by
subsequent calls to renderOffScreenBuffer. The image component must not
be part of a live scene graph, nor may it subsequently be made part of a
live scene graph while being used as an off-screen buffer; an
IllegalSharingException is thrown in such cases. The buffer may be null,
indicating that the previous off-screen buffer is released without a new
buffer being set.
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode.
RestrictedAccessException
- if an off-screen rendering
is in process for this Canvas3D.
IllegalSharingException
- if the specified ImageComponent2D
is part of a live scene graph
IllegalSharingException
- if the specified ImageComponent2D is
being used by an immediate mode context, or by another Canvas3D as
an off-screen buffer.
java.lang.IllegalArgumentException
- if the image class of the specified
ImageComponent2D is not ImageClass.BUFFERED_IMAGE.
java.lang.IllegalArgumentException
- if the specified
ImageComponent2D is in by-reference mode and its
RenderedImage is null.
java.lang.IllegalArgumentException
- if the ImageComponent2D format
is not a 3-component format (e.g., FORMAT_RGB)
or a 4-component format (e.g., FORMAT_RGBA).renderOffScreenBuffer()
,
Screen3D.setSize(int, int)
,
Screen3D.setSize(Dimension)
,
Screen3D.setPhysicalScreenWidth(double)
,
Screen3D.setPhysicalScreenHeight(double)
public ImageComponent2D getOffScreenBuffer()
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode.public void renderOffScreenBuffer()
postSwap
method, or call
waitForOffScreenRendering
.
java.lang.NullPointerException
- if the off-screen buffer is null.
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode, or if either the width or the height of
the associated Screen3D's size is <= 0, or if the associated
Screen3D's physical width or height is <= 0.
RestrictedAccessException
- if an off-screen rendering
is already in process for this Canvas3D or if the Java 3D renderer
is stopped.setOffScreenBuffer(javax.media.j3d.ImageComponent2D)
,
Screen3D.setSize(int, int)
,
Screen3D.setSize(Dimension)
,
Screen3D.setPhysicalScreenWidth(double)
,
Screen3D.setPhysicalScreenHeight(double)
,
waitForOffScreenRendering()
,
postSwap()
public void waitForOffScreenRendering()
postSwap
method of this
off-screen Canvas3D has completed. If this Canvas3D has not
been added to an active view or if the renderer is stopped for this
Canvas3D, then this method will return
immediately. This method must not be called from a render
callback method of an off-screen Canvas3D.
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode, or if this method is called from a render
callback method of an off-screen Canvas3D.renderOffScreenBuffer()
,
postSwap()
public void setOffScreenLocation(int x, int y)
Component.setLocation
for on-screen Canvas3D
objects. The default location is (0,0).
x
- the x coordinate of the upper-left corner of
the new location.y
- the y coordinate of the upper-left corner of
the new location.
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode.public void setOffScreenLocation(java.awt.Point p)
Component.setLocation
for on-screen Canvas3D
objects. The default location is (0,0).
p
- the point defining the upper-left corner of the new
location.
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode.public java.awt.Point getOffScreenLocation()
Component.getLocation
for on-screen Canvas3D
objects.
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode.public java.awt.Point getOffScreenLocation(java.awt.Point rv)
Component.getLocation
for on-screen Canvas3D
objects. This version of getOffScreenLocation
is
useful if the caller wants to avoid allocating a new Point
object on the heap.
rv
- Point object into which the upper-left corner of the
location of this off-screen Canvas3D is copied.
If rv
is null, a new Point is allocated.
rv
java.lang.IllegalStateException
- if this Canvas3D is not in
off-screen mode.void endOffScreenRendering()
public void swap()
flush(true)
methods of the
associated 2D and 3D graphics contexts, if they have been allocated.
RestrictedAccessException
- if the Java 3D renderer is
running.
java.lang.IllegalStateException
- if this Canvas3D is in
off-screen mode.stopRenderer()
,
GraphicsContext3D.flush(boolean)
,
J3DGraphics2D.flush(boolean)
void doSwap()
Context createNewContext(Context shareCtx, boolean isSharedCtx)
final void makeCtxCurrent()
final void makeCtxCurrent(Context ctx)
final void makeCtxCurrent(Context ctx, long dpy, Drawable drawable)
void releaseCtx()
public void setLeftManualEyeInImagePlate(Point3d position)
position
- the new manual left eye positionpublic void setRightManualEyeInImagePlate(Point3d position)
position
- the new manual right eye positionpublic void getLeftManualEyeInImagePlate(Point3d position)
position
- the object that will receive the positionpublic void getRightManualEyeInImagePlate(Point3d position)
position
- the object that will receive the positionpublic void getLeftEyeInImagePlate(Point3d position)
position
- the object that will receive the positionpublic void getRightEyeInImagePlate(Point3d position)
position
- the object that will receive the positionpublic void getCenterEyeInImagePlate(Point3d position)
position
- the object that will receive the positionsetMonoscopicViewPolicy(int)
public void getImagePlateToVworld(Transform3D t)
t
- the Transform3D object that will receive the
transformpublic void getPixelLocationInImagePlate(int x, int y, Point3d imagePlatePoint)
x
- the X coordinate of the pixel relative to the upper-left
hand corner of the window.y
- the Y coordinate of the pixel relative to the upper-left
hand corner of the window.imagePlatePoint
- the object that will receive the position in
physical image plate coordinates (relative to the lower-left
corner of the screen).void getPixelLocationInImagePlate(double x, double y, double z, Point3d imagePlatePoint)
public void getPixelLocationInImagePlate(Point2d pixelLocation, Point3d imagePlatePoint)
pixelLocation
- the coordinates of the pixel relative to
the upper-left hand corner of the window.imagePlatePoint
- the object that will receive the position in
physical image plate coordinates (relative to the lower-left
corner of the screen).public void getPixelLocationFromImagePlate(Point3d imagePlatePoint, Point2d pixelLocation)
imagePlatePoint
- the position in
physical image plate coordinates (relative to the lower-left
corner of the screen).pixelLocation
- the object that will receive the coordinates
of the pixel relative to the upper-left hand corner of the window.public void getVworldProjection(Transform3D leftProjection, Transform3D rightProjection)
leftProjection
- the Transform3D object that will receive
a copy of the current projection transform for the left eye.rightProjection
- the Transform3D object that will receive
a copy of the current projection transform for the right eye.public void getInverseVworldProjection(Transform3D leftInverseProjection, Transform3D rightInverseProjection)
leftInverseProjection
- the Transform3D object that will
receive a copy of the current inverse projection transform for
the left eye.rightInverseProjection
- the Transform3D object that will
receive a copy of the current inverse projection transform for
the right eye.public double getPhysicalWidth()
public double getPhysicalHeight()
public void getVworldToImagePlate(Transform3D t)
t
- the Transform3D object that will receive the
transformvoid getLastVworldToImagePlate(Transform3D t)
void setView(View view)
view
- view object that points to this Canvas3Dvoid computeViewCache()
public View getView()
public boolean getStereoAvailable()
((Boolean)queryProperties().
get("stereoAvailable")).
booleanValue()
public void setStereoEnable(boolean flag)
flag
- enables or disables the display of stereoqueryProperties()
public boolean getStereoEnable()
public void setMonoscopicViewPolicy(int policy)
NOTE: for backward compatibility with Java 3D 1.1, if this attribute is set to its default value of View.CYCLOPEAN_EYE_VIEW, the monoscopic view policy in the View object will be used. An application should not use both the deprecated View method and this Canvas3D method at the same time.
policy
- one of View.LEFT_EYE_VIEW, View.RIGHT_EYE_VIEW, or
View.CYCLOPEAN_EYE_VIEW.
java.lang.IllegalStateException
- if the specified
policy is CYCLOPEAN_EYE_VIEW, the canvas is a stereo canvas,
and the viewPolicy for the associated view is HMD_VIEWpublic int getMonoscopicViewPolicy()
public boolean getDoubleBufferAvailable()
((Boolean)queryProperties().
get("doubleBufferAvailable")).
booleanValue()
public void setDoubleBufferEnable(boolean flag)
flag
- enables or disables double buffering.queryProperties()
public boolean getDoubleBufferEnable()
public boolean getSceneAntialiasingAvailable()
((Boolean)queryProperties().
get("sceneAntialiasingAvailable")).
booleanValue()
public boolean isShadingLanguageSupported(int shadingLanguage)
shadingLanguage
- the shading language being queried, one of:
Shader.SHADING_LANGUAGE_GLSL
or
Shader.SHADING_LANGUAGE_CG
.
public final java.util.Map queryProperties()
The currently defined keys are:
Key (String) | Value Type |
shadingLanguageCg |
Boolean |
shadingLanguageGLSL |
Boolean |
doubleBufferAvailable |
Boolean |
stereoAvailable |
Boolean |
sceneAntialiasingAvailable |
Boolean |
sceneAntialiasingNumPasses |
Integer |
stencilSize |
Integer |
texture3DAvailable |
Boolean |
textureColorTableSize |
Integer |
textureLodRangeAvailable |
Boolean |
textureLodOffsetAvailable |
Boolean |
textureWidthMax |
Integer |
textureHeightMax |
Integer |
textureBoundaryWidthMax |
Integer |
textureEnvCombineAvailable |
Boolean |
textureCombineDot3Available |
Boolean |
textureCombineSubtractAvailable |
Boolean |
textureCoordSetsMax |
Integer |
textureUnitStateMax |
Integer |
textureImageUnitsMax |
Integer |
textureImageUnitsVertexMax |
Integer |
textureImageUnitsCombinedMax |
Integer |
textureCubeMapAvailable |
Boolean |
textureDetailAvailable |
Boolean |
textureSharpenAvailable |
Boolean |
textureFilter4Available |
Boolean |
textureAnisotropicFilterDegreeMax |
Float |
textureNonPowerOfTwoAvailable |
Boolean |
vertexAttrsMax |
Integer |
compressedGeometry.majorVersionNumber |
Integer |
compressedGeometry.minorVersionNumber |
Integer |
compressedGeometry.minorMinorVersionNumber |
Integer |
native.version |
String |
The descriptions of the values returned for each key are as follows:
shadingLanguageCg
shadingLanguageGLSL
doubleBufferAvailable
stereoAvailable
sceneAntialiasingAvailable
sceneAntialiasingNumPasses
stencilSize
texture3DAvailable
textureColorTableSize
textureLodRangeAvailable
textureLodOffsetAvailable
textureWidthMax
textureHeightMax
textureBoundaryWidthMax
textureEnvCombineAvailable
textureCombineDot3Available
textureCombineSubtractAvailable
textureCoordSetsMax
textureUnitStateMax
textureImageUnitsMax
textureImageUnitsVertexMax
textureImageUnitsCombinedMax
textureCubeMapAvailable
textureDetailAvailable
textureSharpenAvailable
textureFilter4Available
textureAnisotropicFilterDegreeMax
textureNonPowerOfTwoAvailable
vertexAttrsMax
compressedGeometry.majorVersionNumber
compressedGeometry.minorVersionNumber
compressedGeometry.minorMinorVersionNumber
native.version
void createQueryContext()
private void createQueryProps()
void updateViewCache(boolean flag, CanvasViewCache cvc, BoundingBox frustumBBox, boolean doInfinite)
void setDepthBufferWriteEnableOverride(boolean flag)
void setDepthBufferEnableOverride(boolean flag)
void resetTexture(Context ctx, int texUnitIndex)
void resetTextureBin()
void d3dResize()
void d3dToggle()
void notifyD3DPeer(int cmd)
void resetRendering(int status)
void reset()
void resetImmediateRendering(int status)
public java.awt.Dimension getSize()
getSize
in class java.awt.Component
public java.awt.Dimension getSize(java.awt.Dimension rv)
getSize
in class java.awt.Component
public java.awt.Point getLocationOnScreen()
getLocationOnScreen
in class java.awt.Component
public int getX()
getX
in class java.awt.Component
public int getY()
getY
in class java.awt.Component
public int getWidth()
getWidth
in class java.awt.Component
public int getHeight()
getHeight
in class java.awt.Component
public java.awt.Point getLocation(java.awt.Point rv)
getLocation
in class java.awt.Component
public java.awt.Point getLocation()
getLocation
in class java.awt.Component
public java.awt.Rectangle getBounds()
getBounds
in class java.awt.Component
public java.awt.Rectangle getBounds(java.awt.Rectangle rv)
getBounds
in class java.awt.Component
void setProjectionMatrix(Context ctx, Transform3D projTrans)
void setModelViewMatrix(Context ctx, double[] viewMatrix, Transform3D mTrans)
void setDepthBufferWriteEnable(boolean mode)
void setNumActiveTexUnit(int n)
int getNumActiveTexUnit()
void setLastActiveTexUnit(int n)
int getLastActiveTexUnit()
void createTexUnitState()
boolean supportGlobalAlpha()
void enableSeparateSpecularColor()
final void beginScene()
final void endScene()
private void sendCreateOffScreenBuffer()
private void sendDestroyCtxAndOffScreenBuffer()
private void sendAllocateCanvasId()
private void sendFreeCanvasId()
private void removeCtx()
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException
java.lang.UnsupportedOperationException
- this method is not supported
java.io.IOException
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
java.lang.UnsupportedOperationException
- this method is not supported
java.io.IOException
java.lang.ClassNotFoundException
void setStateIsUpdated(int bit)
void setStateToUpdate(int bit, java.lang.Object bin)
void updateEnvState()
void updateState(int dirtyBits)
void updateTextureForRaster(Texture2DRetained texture)
void restoreTextureBin()
void textureFill(RasterRetained raster, Point2d winCoord, float mapZ, float alpha)
void textureFill(BackgroundRetained bg, int winWidth, int winHeight)
void clear(BackgroundRetained bg, int winWidth, int winHeight)
void addTextureResource(int id, java.lang.Object obj)
void freeResourcesInFreeList(Context ctx)
void freeContextResources(Renderer rdr, boolean freeBackground, Context ctx)
void freeAllDisplayListResources(Context ctx)
private Context createNewContext(long display, Drawable drawable, long fbConfig, Context shareCtx, boolean isSharedCtx, boolean offScreen, boolean glslLibraryAvailable, boolean cgLibraryAvailable)
private void createQueryContext(long display, Drawable drawable, long fbConfig, boolean offScreen, int width, int height, boolean glslLibraryAvailable, boolean cgLibraryAvailable)
Drawable createOffScreenBuffer(Context ctx, long display, long fbConfig, int width, int height)
void destroyOffScreenBuffer(Context ctx, long display, long fbConfig, Drawable drawable)
private void readOffScreenBuffer(Context ctx, int format, int type, java.lang.Object data, int width, int height)
int swapBuffers(Context ctx, long dpy, Drawable drawable)
private int resizeD3DCanvas(Context ctx)
private int toggleFullScreenMode(Context ctx)
void updateMaterial(Context ctx, float r, float g, float b, float a)
static void destroyContext(long display, Drawable drawable, Context ctx)
void accum(Context ctx, float value)
void accumReturn(Context ctx)
void clearAccum(Context ctx)
int getNumCtxLights(Context ctx)
boolean decal1stChildSetup(Context ctx)
void decalNthChildSetup(Context ctx)
void decalReset(Context ctx, boolean depthBufferEnable)
void ctxUpdateEyeLightingEnable(Context ctx, boolean localEyeLightingEnable)
void setBlendColor(Context ctx, float red, float green, float blue, float alpha)
void setBlendFunc(Context ctx, int src, int dst)
void setFogEnableFlag(Context ctx, boolean enableFlag)
void setFullSceneAntialiasing(Context ctx, boolean enable)
void setGlobalAlpha(Context ctx, float alpha)
void updateSeparateSpecularColorEnable(Context ctx, boolean control)
private void beginScene(Context ctx)
private void endScene(Context ctx)
private boolean validGraphicsMode()
void setLightEnables(Context ctx, long enableMask, int maxLights)
void setSceneAmbient(Context ctx, float red, float green, float blue)
void disableFog(Context ctx)
void disableModelClip(Context ctx)
void resetRenderingAttributes(Context ctx, boolean depthBufferWriteEnableOverride, boolean depthBufferEnableOverride)
void resetTextureNative(Context ctx, int texUnitIndex)
void activeTextureUnit(Context ctx, int texUnitIndex)
void resetTexCoordGeneration(Context ctx)
void resetTextureAttributes(Context ctx)
void resetPolygonAttributes(Context ctx)
void resetLineAttributes(Context ctx)
void resetPointAttributes(Context ctx)
void resetTransparency(Context ctx, int geometryType, int polygonMode, boolean lineAA, boolean pointAA)
void resetColoringAttributes(Context ctx, float r, float g, float b, float a, boolean enableLight)
void syncRender(Context ctx, boolean wait)
static boolean useCtx(Context ctx, long display, Drawable drawable)
private boolean releaseCtx(Context ctx, long dpy)
void clear(Context ctx, float r, float g, float b, boolean clearStencil)
void textureFillBackground(Context ctx, float texMinU, float texMaxU, float texMinV, float texMaxV, float mapMinX, float mapMaxX, float mapMinY, float mapMaxY, boolean useBiliearFilter)
void textureFillRaster(Context ctx, float texMinU, float texMaxU, float texMinV, float texMaxV, float mapMinX, float mapMaxX, float mapMinY, float mapMaxY, float mapZ, float alpha, boolean useBiliearFilter)
void executeRasterDepth(Context ctx, float posX, float posY, float posZ, int srcOffsetX, int srcOffsetY, int rasterWidth, int rasterHeight, int depthWidth, int depthHeight, int depthType, java.lang.Object depthData)
void setModelViewMatrix(Context ctx, double[] viewMatrix, double[] modelMatrix)
void setProjectionMatrix(Context ctx, double[] projMatrix)
void setViewport(Context ctx, int x, int y, int width, int height)
void newDisplayList(Context ctx, int displayListId)
void endDisplayList(Context ctx)
void callDisplayList(Context ctx, int id, boolean isNonUniformScale)
static void freeDisplayList(Context ctx, int id)
static void freeTexture(Context ctx, int id)
void texturemapping(Context ctx, int px, int py, int xmin, int ymin, int xmax, int ymax, int texWidth, int texHeight, int rasWidth, int format, int objectId, byte[] image, int winWidth, int winHeight)
boolean initTexturemapping(Context ctx, int texWidth, int texHeight, int objectId)
void setRenderMode(Context ctx, int mode, boolean doubleBuffer)
void setDepthBufferWriteEnable(Context ctx, boolean mode)
boolean hasDoubleBuffer()
boolean hasStereo()
int getStencilSize()
boolean hasSceneAntialiasingMultisample()
boolean hasSceneAntialiasingAccum()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |