⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 canvas3d.html

📁 JAVA多媒体开发类库说明
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_06) on Wed Dec 13 16:20:00 PST 2006 --><TITLE>Canvas3D (Java 3D 1.5.0)</TITLE><META NAME="keywords" CONTENT="javax.media.j3d.Canvas3D class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){    parent.document.title="Canvas3D (Java 3D 1.5.0)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../javax/media/j3d/BranchGroup.html" title="class in javax.media.j3d"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../javax/media/j3d/CapabilityNotSetException.html" title="class in javax.media.j3d"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../index.html?javax/media/j3d/Canvas3D.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="Canvas3D.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;&nbsp;<SCRIPT type="text/javascript">  <!--  if(window==top) {    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');  }  //--></SCRIPT><NOSCRIPT>  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.awt.Canvas">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">javax.media.j3d</FONT><BR>Class Canvas3D</H2><PRE>java.lang.Object  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Component      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Canvas          <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>javax.media.j3d.Canvas3D</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD>java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible</DD></DL><HR><DL><DT><PRE>public class <B>Canvas3D</B><DT>extends java.awt.Canvas</DL></PRE><P>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. <p> 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. <p> 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. <p> <b>On-screen Rendering vs. Off-screen Rendering</b> <p> 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. <p> Off-screen Canvas3Ds must not be added to any Container.  Java 3D renders to off-screen canvases in response to the <code>renderOffScreenBuffer</code> 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. <p> 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. <p> The getOffScreenBuffer method retrieves the off-screen  buffer for this Canvas3D. <p> 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. <p> 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). <p> <b>Accessing and Modifying an Eye's Image Plate Position</b> <p> 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. <p> 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. <p> 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. <p> <b>Monoscopic View Policy</b> <p> 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. <p> <b>Immediate Mode Rendering</b> <p> 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. <p> 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. <p> 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 <code>stopRenderer</code> method, prior to adding the  Canvas3D object to an active View object (that is, one that is  attached to a live ViewPlatform object). <p> Other Canvas3D methods related to immediate mode rendering are: <p> <ul> <code>getGraphicsContext3D</code> retrieves the immediate-mode  3D graphics context associated with this Canvas3D. It creates a  new graphics context if one does not already exist. <p> <code>getGraphics2D</code> retrieves the  2D graphics object associated with this Canvas3D. It creates a  new 2D graphics object if one does not already exist. <p> <code>swap</code> 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. </ul> <p> <b>Mixed Mode Rendering</b> <p> 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. <p> Canvas3D methods related to mixed mode rendering are: <p> <ul> <code>preRender</code> called by the Java 3D rendering loop after  clearing the canvas and before any rendering has been done for  this frame.  <p> <code>postRender</code> called by the Java 3D rendering loop after completing all rendering to the canvas for this frame and before  the buffer swap. <p> <code>postSwap</code> 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. <p> <code>renderField</code> 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. 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -