aboutsummaryrefslogtreecommitdiffstats
path: root/www/j3d1_4/stencil.html
diff options
context:
space:
mode:
authorKevin Rushforth <[email protected]>2005-04-01 00:02:28 +0000
committerKevin Rushforth <[email protected]>2005-04-01 00:02:28 +0000
commit46cb80a0363025c330baea513b0224fbbdf35de3 (patch)
tree2d9ed0768bb271a873266253704733e4e4ded3fb /www/j3d1_4/stencil.html
parent6a4504426cc054b5e033ba4c2ed31d3ea8c959f4 (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.html46
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&nbsp;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&nbsp;</i></span>
+</p>
<p>This page describes the proposed API changes for stencil buffer
support in Java&nbsp;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&nbsp;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&nbsp;3D.<br>
+ </li>
+</ol>
<p><font color="gray">Page last updated &#8212;
$Date$
</font></p>