1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../css/manpage.css" type="text/css" /> 7<title>glStencilOp</title> 8 </head> 9 <body> 10<h1><CODE>glStencilOp</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14GL_APICALL void GL_APIENTRY glStencilOp( 15 GLenum fail, 16 GLenum zfail, 17 GLenum zpass 18); 19</pre> 20 </div> 21<h2>Arguments</h2> 22 <div class="section"> 23 <table class="arguments"> 24 <thead> 25 <tr> 26 <td width="15" /> 27<th>Name</th> 28<td>Description</td> 29 </tr> 30 </thead> 31 <tr> 32<td>in</td> 33<th>fail</th> 34<td>Action when the stencil test fails</td> 35 </tr> 36 <tr> 37<td>in</td> 38<th>zfail</th> 39<td>Action when the stencil test passes but the depth test fails</td> 40 </tr> 41 <tr> 42<td>in</td> 43<th>zpass</th> 44<td>Action when the stencil and depth tests both pass</td> 45 </tr> </table> 46 </div> 47<h2>Return Values</h2> 48<div class="section">No values are returned. </div> 49<h2>Description</h2> 50 <div class="section"> 51<p>Configures the actions to take on stencil buffer values.</p><P> 52When the stencil test fails, the action specified by <span class="argument">fail</span> is taken on that stencil buffer value. When the stencil test passes and the depth test fails, the action specified by <span class="argument">zfail</span> is taken on that stencil buffer value. When the stencil and depth tests both pass, the action specified by <span class="argument">zpass</span> is taken on that stencil buffer value. 53 </P><P> 54Set <span class="argument">func</span>, <span class="argument">zfail</span>, and <span class="argument">zpass</span> using the following values. 55<TABLE><TR><TH>GL_KEEP</TH><TD>Keep the current stencil value.</TD></TR><TR><TH>GL_ZERO</TH><TD>Replace the stencil value with 0.</TD></TR><TR><TH>GL_REPLACE</TH><TD>Replace the stencil value with the value specified by <span class="argument">ref</span> in <CODE>glStencilFunc</CODE>.</TD></TR><TR><TH>GL_INCR</TH><TD>Increment the stencil value by one.</TD></TR><TR><TH>GL_DECR</TH><TD>Decrement the stencil value by one.</TD></TR><TR><TH>GL_INVERT</TH><TD>Invert the stencil value bitwise.</TD></TR><TR><TH>GL_INCR_WRAP</TH><TD>Increment the stencil value by one.</TD></TR><TR><TH>GL_DECR_WRAP</TH><TD>Decrement the stencil value by one.</TD></TR></TABLE><!-- source fail、zfail、zpassにはGL_KEEP、GL_ZERO、GL_REPLACE、GL_INCR、GL_DECR、GL_INVERT、GL_INCR_WRAP、GL_DECR_WRAPを指定します。 GL_KEEPを指定した場合、ステンシル値は現在の値を保持します。 GL_ZEROを指定した場合、ステンシル値は0で置き換えられます。 GL_REPLACEを指定した場合、ステンシル値はglStencilFuncのrefで指定した値で置き換えられます。 GL_INCRを指定した場合、ステンシル値は1加算されます。現在の値が最大値である場合、それ以上加算されません。 GL_DECRを指定した場合、ステンシル値は1減算されます。現在の値が0である場合、それ以上減算されません。 GL_INVERTを指定した場合、ステンシル値はビット反転します。 GL_INCR_WRAPを指定した場合、ステンシル値は1加算されます。現在の値が最大値である場合、0に置き換えられます。 GL_DECR_WRAPを指定した場合、ステンシル値は1減算されます。現在の値が0である場合、最大値に置き換えられます。 --></P><P> 56This function generates the following errors. 57<TABLE><TR><TH>GL_INVALID_ENUM</TH><TD>The <span class="argument">fail</span>, <span class="argument">zfail</span>, or <span class="argument">zpass</span> argument was set to an invalid value.</TD></TR><TR><TH>GL_INVALID_OPERATION</TH><TD>This function was called without any command-list objects bound.</TD></TR></TABLE><!-- source fail、zfail、zpassに不正な値を指定した場合エラーGL_INVALID_ENUMを生成します。 コマンドリストオブジェクトをバインドしていない状態で呼び出すとエラーGL_INVALID_OPERATIONを生成します。 --></P></div> 58<h2>Revision History</h2> 59 <div class="section"> 60 <dl class="history"> 61 <dt>2010/01/07</dt> 62<dd>Initial version.<br /> 63 </dd> 64 </dl> 65 </div> 66 <hr><p>CONFIDENTIAL</p></body> 67</html>