diff options
author | Kevin Rushforth <[email protected]> | 2005-04-01 00:02:28 +0000 |
---|---|---|
committer | Kevin Rushforth <[email protected]> | 2005-04-01 00:02:28 +0000 |
commit | 46cb80a0363025c330baea513b0224fbbdf35de3 (patch) | |
tree | 2d9ed0768bb271a873266253704733e4e4ded3fb /www/j3d1_4/stencil.html | |
parent | 6a4504426cc054b5e033ba4c2ed31d3ea8c959f4 (diff) |
Updates to proposed Java 3D API changes
git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@183 ba19aa83-45c5-6ac9-afd3-db810772062c
Diffstat (limited to 'www/j3d1_4/stencil.html')
-rw-r--r-- | www/j3d1_4/stencil.html | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/www/j3d1_4/stencil.html b/www/j3d1_4/stencil.html index 0b51ac8..dfa706c 100644 --- a/www/j3d1_4/stencil.html +++ b/www/j3d1_4/stencil.html @@ -8,29 +8,51 @@ <body> <h2>Java 3D<sup><font size="-2">TM</font></sup> 1.4: Stencil Buffer</h2> -<h3><span style="color: rgb(0, 153, 0);"><i>ROUGH DRAFT: This API -is a Work in Progress</i></span></h3> -<hr> +<p><span style="color: rgb(204, 0, 0);"><i>NOTE: THIS DOES NOT INCLUDE +ANY MULTIPASS SUPPORT </i></span> +</p> <p>This page describes the proposed API changes for stencil buffer support in Java 3D -1.4... +1.4. The GraphicsConfigTemplate3D class is used to find a +GraphicsConfiguration object with the desired attributes. These +attributes include number of color bits (red, green, and blue size), +depth buffer size, and whether or not double-buffering, stereo, or +antialiasing is needed. The GraphicsConfiguration is used in turn used +to create a Canvas3D into which Java 3D can render.<br> +</p> +<p>We propose to add a +new StencilSize attribute to GraphicsConfigTemplate3D that will allow +an application to create a Canvas3D (on-screen or off-screen) with a +stencil buffer. We also propose to add new attributes to the +RenderingAttributes object that will allow an application to control +the stencil test and update. These will work in a similar manner to the +equivalent OpenGL methods. Note that since multipass support is not yet +available, applications wishing to use stencil will need to make use of +OrderedGroup (or use mixed-mode / immediate-mode rendering).<br> </p> -<p>NOTE: THIS WILL NOT INCLUDE ANY MULTIPASS SUPPORT in 1.4 +<p>The proposed API changes are:<br> </p> -<p>The proposed API is:</p> <ul> - <li>New classes</li> - <ul> - <pre>public class XXXXX extends YYYYY<br> method: setXxxxx()<br></pre> - </ul> <li>New methods in existing classes:<br> </li> <ul> - <pre>XXXXX<br> method: setXxxxx()<br></pre> + <pre>GraphicsConfigTemplate3D<br> method: setStencilSize(int) // default=0<br><br>RenderingAttributes<br> method: setStencilEnable(boolean enable)<br> method: setStencilOp(int fail, int zfail, int zpass)<br> method: setStencilFunc(int func, int ref, int mask)<br> method: setStencilMask(int mask)<br></pre> </ul> </ul> -<p>More info here... +<p>Issues:<br> </p> +<ol> + <li>How/when is the stencil buffer cleared? Implicitly at the start +of a frame? Explicitly? The latter seems problematic.<br> + <span style="font-style: italic;">[Current plan is to clear +implicitly +at the start of each frame and not provide explicit control]</span><br> + </li> + <li>Does the OpenGL stencil functionality map cleanly to DirectX? If +not, then stencil support may not be available for the D3D version of +Java 3D.<br> + </li> +</ol> <p><font color="gray">Page last updated — $Date$ </font></p> |