1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 6<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<LINK rel="stylesheet" type="text/css" href="../../../CSS/revolution.css"> 9<title>tev-outline</title> 10</head> 11 12<body> 13 14<h1 align="left">tev-outline</h1> 15 16 17 18<h2>Description</h2> 19 20<P>This example demo tests the cartoon outline functionality of the Revolution. Outlines are drawn by a two-pass rendering algorithm. In the first pass, the object ID number is written into the alpha plane. The alpha plane is then copied and used as a texture. The second pass determines which part should be outlined from that texture information. The alpha comparison feature assists in this processing. (For details, see <A href="#Algorithm Details">Algorithm Details</A>.)</P> 21<h2>Coverage</h2> 22 23<p>This list doesn't contain settings for drawing other than outlines.</p> 24<TABLE border="1" cellpadding="3" cellspacing="0.1" width="640"> 25 <tr> 26<TD width="30%" bgcolor="#C0C0C0"><EM><STRONG>Function</STRONG></EM></TD> 27<TD width="25%" bgcolor="#C0C0C0"><EM><STRONG>Parameters</STRONG></EM></TD> 28<TD width="45%" bgcolor="#C0C0C0"><EM><STRONG>Description</STRONG></EM></TD> 29 </tr> 30 <tr> 31<TD width="30%"><a href="../../../gx/Framebuffer/GXSetTexCopySrc.html"><code>GXSetTexCopySrc</code></a></TD> 32<TD width="25%">Left, top, width, height</TD> 33<TD width="45%">0, 0, <FONT face="Courier New">SCREEN_WD</FONT>, <FONT face="Courier New">SCREEN_HT</FONT></TD> 34 </tr> 35 <tr> 36<TD width="30%" rowspan="4"><a href="../../../gx/Framebuffer/GXSetTexCopyDst.html"><code>GXSetTexCopyDst</code></a></TD> 37<TD width="25%">Width</TD> 38<TD width="45%">Constant (<code>SCREEN_WD</code>)</TD> 39 </tr> 40 <tr> 41<TD width="25%">Height</TD> 42<TD width="45%">Constant (<code>SCREEN_HT</code>)</TD> 43 </tr> 44 <tr> 45<TD width="25%">Texture Format</TD> 46<TD width="45%"><FONT face="Courier New">GX_TF_A8</FONT></TD> 47 </tr> 48 <tr> 49<TD width="25%">Mipmap filter</TD> 50<TD width="45%"><FONT face="Courier New">GX_DISABLE</FONT></TD> 51 </tr> 52 53 <tr> 54<TD width="30%" rowspan="2"><a href="../../../gx/Framebuffer/GXCopyTex.html"><code>GXCopyTex</code></a></TD> 55<TD width="25%">Copy buffer</TD> 56<TD width="45%">Appropriate buffer</TD> 57 </tr> 58 <tr> 59<TD width="25%">Clear copy</TD> 60<TD width="45%"><FONT face="Courier New">GX_DISABLE</FONT></TD> 61 </tr> 62 <tr> 63<TD width="30%" rowspan="7"><code><a href="../../../gx/Texture/GXInitTexObj.html">GXInitTexObj</a></code></TD> 64<TD width="25%">Texture object pointer</TD> 65<TD width="45%">For output</TD> 66 </tr> 67 <tr> 68<TD width="25%">Pointer to bitmap</TD> 69<TD width="45%">Gets data through <CODE>GXCopyTex</CODE></TD> 70 </tr> 71 <tr> 72<TD width="25%">Width</TD> 73<TD width="45%"><FONT face="Courier New">SCREEN_WD</FONT></TD> 74 </tr> 75 <tr> 76<TD width="25%">Height</TD> 77<TD width="45%"><FONT face="Courier New">SCREEN_HT</FONT></TD> 78 </tr> 79 <tr> 80<TD width="25%">Texture Format</TD> 81<TD width="45%"><FONT face="Courier New">GX_TF_I8</FONT></TD> 82 </tr> 83 <tr> 84<TD width="25%">Clamp_s, clamp_t</TD> 85<TD width="45%">GX_CLAMP, GX_CLAMP</TD> 86 </tr> 87 <tr> 88<TD width="25%">Mipmap enable</TD> 89<TD width="45%"><FONT face="Courier New">GX_DISABLE</FONT></TD> 90 </tr> 91 <tr> 92<TD width="30%" rowspan="6"><code><a href="../../../gx/Texture/GXInitTexObjLOD.html">GXInitTexObjLOD</a></code></TD> 93<TD width="25%">Texture object pointer</TD> 94<TD width="45%">Same as <CODE>GXInitTexObj</CODE></TD> 95 </tr> 96 <tr> 97<TD width="25%">min_filter</TD> 98<TD width="45%"><FONT face="Courier New">GX_NEAR</FONT></TD> 99 </tr> 100 <tr> 101<TD width="25%">max_filter</TD> 102<TD width="45%"><FONT face="Courier New">GX_NEAR</FONT></TD> 103 </tr> 104 <tr> 105<TD width="25%">min_lod, max_lod, lod_bias</TD> 106<TD width="45%">0.0f, 0.0f, 0.0f (don't care)</TD> 107 </tr> 108 <tr> 109<TD width="25%">bias_clamp, do_edge_lod</TD> 110<TD width="45%">GX_DISABLE, GX_DISABLE (don't care)</TD> 111 </tr> 112 <tr> 113<TD width="25%">max_aniso</TD> 114<TD width="45%">GX_ANISO_1 (don't care)</TD> 115 </tr> 116 <tr> 117<TD width="30%"><a href="../../../gx/TexCoordGen/GXSetNumTexGens.html"><code>GXSetNumTexGens</code></a></TD> 118<TD width="25%">Number of texture coordinates to generate</TD> 119 <TD width="45%">2</TD> 120 </tr> 121 <tr> 122<TD width="30%" rowspan="4"><code><a href="../../../gx/TexCoordGen/GXSetTexCoordGen.html">GXSetTexCoordGen</a></code></TD> 123<TD width="25%">Name of the texture coordinate to be generated</TD> 124<TD width="45%">GX_TEXCOORD0 / GX_TEXCOORD1</TD> 125 </tr> 126 <tr> 127<TD width="25%">Function type</TD> 128<TD width="45%"><FONT face="Courier New">GX_TG_MTX2x4</FONT></TD> 129 </tr> 130 <tr> 131<TD width="25%">Source attribute</TD> 132<TD width="45%"><FONT face="Courier New">GX_TG_TEX0</FONT></TD> 133 </tr> 134 <tr> 135<TD width="25%">Texture matrix select</TD> 136<TD width="45%">Appropriate value.</TD> 137 </tr> 138 <tr> 139<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevColorIn.html">GXSetTevColorIn</a></code></TD> 140<TD width="25%">Each argument</TD> 141<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 142 </tr> 143 <tr> 144<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevColorOp.html">GXSetTevColorOp</a></code></TD> 145<TD width="25%">Each argument</TD> 146<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 147 </tr> 148 <tr> 149<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevAlphaIn.html">GXSetTevAlphaIn</a></code></TD> 150<TD width="25%">Each argument</TD> 151<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 152 </tr> 153 <tr> 154<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevAlphaOp.html">GXSetTevAlphaOp</a></code></TD> 155<TD width="25%">Each argument</TD> 156<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 157 </tr> 158 <tr> 159<TD width="30%" rowspan="5"><code><a href="../../../gx/Tev/GXSetAlphaCompare.html">GXSetAlphaCompare</a></code></TD> 160<TD width="25%"><STRONG><EM><CODE>comp0</CODE></EM></STRONG></TD> 161<TD width="45%"><FONT face="Courier New">GX_GREATER</FONT></TD> 162 </tr> 163 <tr> 164<TD width="25%"><STRONG><EM><CODE>ref0</CODE></EM></STRONG></TD> 165<TD width="45%">Appropriate tolerance value</TD> 166 </tr> 167 <tr> 168<TD width="25%"><STRONG><EM><CODE>op</CODE></EM></STRONG></TD> 169<TD width="45%"><FONT face="Courier New">GX_AOP_AND</FONT></TD> 170 </tr> 171 <tr> 172<TD width="25%"><STRONG><EM><CODE>comp1</CODE></EM></STRONG></TD> 173<TD width="45%"><FONT face="Courier New">GX_LESS</FONT></TD> 174 </tr> 175 <tr> 176<TD width="25%"><STRONG><EM><CODE>ref1</CODE></EM></STRONG></TD> 177<TD width="45%">Appropriate tolerance value</TD> 178 </tr> 179</TABLE> 180<h2>Operation Method</h2> 181 182<P>The Control Stick rotates the object. The C Stick controls the zoom parameter of the camera. The L and R Buttons stretch and bend the object. START exits the demo.</P> 183<h2>Snapshot</h2> 184 185<P><IMG src="./images/tev-outline-1.jpg" alt="tev-outline-1.jpg" WIDTH="642" HEIGHT="482"></p> 186 187<h2>Required Data Files</h2> 188 189<p>None.</p> 190<H2><a name="Algorithm Details">Algorithm Details</a></H2> 191<P>(Under Construction)</P> 192<H2>Revision History</H2> 193<P>03/01/2006 Initial version.</P> 194</body> 195</html>