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<h2>Description</h2> 17<P>This example demo tests the cartoon outline functionality of the Wii. 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> 18 19<h2>Coverage</h2> 20<p>This list doesn't contain settings for drawing other than outlines.</p> 21<TABLE border="1" cellpadding="3" cellspacing="0.1" width="640"> 22 <tr> 23<TD width="30%" bgcolor="#C0C0C0"><EM><STRONG>Functions</STRONG></EM></TD> 24<TD width="25%" bgcolor="#C0C0C0"><EM><STRONG>Parameters</STRONG></EM></TD> 25<TD width="45%" bgcolor="#C0C0C0"><EM><STRONG>Description</STRONG></EM></TD> 26 </tr> 27 <tr> 28<TD width="30%"><a href="../../../gx/Framebuffer/GXSetTexCopySrc.html"><code>GXSetTexCopySrc</code></a></TD> 29<TD width="25%"><SPAN class="argument">Left, top, width, height</SPAN></TD> 30<TD width="45%">0, 0, <CODE>SCREEN_WD</CODE>, <CODE>SCREEN_HT</CODE></TD> 31 </tr> 32 <tr> 33<TD width="30%" rowspan="4"><a href="../../../gx/Framebuffer/GXSetTexCopyDst.html"><code>GXSetTexCopyDst</code></a></TD> 34<TD width="25%"><SPAN class="argument">Width</SPAN></TD> 35<TD width="45%">Constant (<CODE>SCREEN_WD</CODE>)</TD> 36 </tr> 37 <tr> 38<TD width="25%"><SPAN class="argument">height</SPAN></TD> 39<TD width="45%">Constant (<CODE>SCREEN_HT</CODE>)</TD> 40 </tr> 41 <tr> 42<TD width="25%"><SPAN class="argument">Texture Format</SPAN></TD> 43<TD width="45%"><CODE>GX_TF_A8</CODE></TD> 44 </tr> 45 <tr> 46<TD width="25%"><SPAN class="argument">Mipmap filter</SPAN></TD> 47<TD width="45%"><CODE>GX_DISABLE</CODE></TD> 48 </tr> 49 50 <tr> 51<TD width="30%" rowspan="2"><a href="../../../gx/Framebuffer/GXCopyTex.html"><code>GXCopyTex</code></a></TD> 52<TD width="25%"><SPAN class="argument">Copy buffer</SPAN></TD> 53<TD width="45%">Appropriate buffer</TD> 54 </tr> 55 <tr> 56<TD width="25%"><SPAN class="argument">Clear copy</SPAN></TD> 57<TD width="45%"><CODE>GX_DISABLE</CODE></TD> 58 </tr> 59 <tr> 60<TD width="30%" rowspan="7"><code><a href="../../../gx/Texture/GXInitTexObj.html">GXInitTexObj</a></code></TD> 61<TD width="25%"><SPAN class="argument">Texture object pointer</SPAN></TD> 62<TD width="45%">For output</TD> 63 </tr> 64 <tr> 65<TD width="25%"><SPAN class="argument">Pointer to bitmap</SPAN></TD> 66<TD width="45%">Gets data through <CODE>GXCopyTex</CODE></TD> 67 </tr> 68 <tr> 69<TD width="25%"><SPAN class="argument">Width</SPAN></TD> 70<TD width="45%"><CODE>SCREEN_WD</CODE></TD> 71 </tr> 72 <tr> 73<TD width="25%"><SPAN class="argument">height</SPAN></TD> 74<TD width="45%"><CODE>SCREEN_HT</CODE></TD> 75 </tr> 76 <tr> 77<TD width="25%"><SPAN class="argument">Texture format</TD> 78<TD width="45%"><CODE>GX_TF_I8</CODE></TD> 79 </tr> 80 <tr> 81<TD width="25%"><SPAN class="argument">Clamp_s, clamp_t</SPAN></TD> 82<TD width="45%"><CODE>GX_CLAMP</CODE>, <CODE>GX_CLAMP</CODE></TD> 83 </tr> 84 <tr> 85<TD width="25%"><SPAN class="argument">Mipmap enable</SPAN></TD> 86<TD width="45%"><CODE>GX_DISABLE</CODE></TD> 87 </tr> 88 <tr> 89<TD width="30%" rowspan="6"><code><a href="../../../gx/Texture/GXInitTexObjLOD.html"><CODE>GXInitTexObjLOD</CODE></a></code></TD> 90<TD width="25%"><SPAN class="argument">Texture object pointer</SPAN></TD> 91<TD width="45%">Same as <CODE>GXInitTexObj</CODE></TD> 92 </tr> 93 <tr> 94<TD width="25%"><SPAN class="argument">min_filter</SPAN></TD> 95<TD width="45%"><CODE>GX_NEAR</CODE></TD> 96 </tr> 97 <tr> 98<TD width="25%"><SPAN class="argument">max_filter</SPAN></TD> 99<TD width="45%"><CODE>GX_NEAR</CODE></TD> 100 </tr> 101 <tr> 102<TD width="25%"><SPAN class="argument">min_lod, max_lod, lod_bias</SPAN></TD> 103<TD width="45%">0.0f, 0.0f, 0.0f (don't care)</TD> 104 </tr> 105 <tr> 106<TD width="25%"><SPAN class="argument">bias_clamp, do_edge_lod</SPAN></TD> 107<TD width="45%"><CODE>GX_DISABLE</CODE>, <CODE>GX_DISABLE</CODE> ( don't care )</TD> 108 </tr> 109 <tr> 110<TD width="25%"><SPAN class="argument"><STRONG><EM><CODE>max_aniso</CODE></EM></STRONG></SPAN></TD> 111<TD width="45%"><CODE>GX_ANISO_1</CODE> ( don't care )</TD> 112 </tr> 113 <tr> 114<TD width="30%"><a href="../../../gx/TexCoordGen/GXSetNumTexGens.html"><code>GXSetNumTexGens</code></a></TD> 115<TD width="25%"><SPAN class="argument">Number of texture coordinates to generate</SPAN></TD> 116 <TD width="45%">2</TD> 117 </tr> 118 <tr> 119<TD width="30%" rowspan="4"><code><a href="../../../gx/TexCoordGen/GXSetTexCoordGen.html">GXSetTexCoordGen</a></code></TD> 120<TD width="25%"><SPAN class="argument">Name of the texture coordinate to be generated</SPAN></TD> 121<TD width="45%"><CODE>GX_TEXCOORD0</CODE> / <CODE>GX_TEXCOORD1</CODE></TD> 122 </tr> 123 <tr> 124<TD width="25%"><SPAN class="argument">Function type</SPAN></TD> 125<TD width="45%"><CODE>GX_TG_MTX2x4</CODE></TD> 126 </tr> 127 <tr> 128<TD width="25%"><SPAN class="argument">Source attribute</SPAN></TD> 129<TD width="45%"><CODE>GX_TG_TEX0</CODE></TD> 130 </tr> 131 <tr> 132<TD width="25%"><SPAN class="argument">Texture matrix select</SPAN></TD> 133<TD width="45%">Appropriate value.</TD> 134 </tr> 135 <tr> 136<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevColorIn.html"><CODE>GXSetTevColorIn</CODE></a></code></TD> 137<TD width="25%"><SPAN class="argument">Each argument</SPAN></TD> 138<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 139 </tr> 140 <tr> 141<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevColorOp.html"><CODE>GXSetTevColorOp</CODE></a></code></TD> 142<TD width="25%"><SPAN class="argument">Each argument</SPAN></TD> 143<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 144 </tr> 145 <tr> 146<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevAlphaIn.html"><CODE>GXSetTevAlphaIn</CODE></a></code></TD> 147<TD width="25%"><SPAN class="argument">Each argument</SPAN></TD> 148<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 149 </tr> 150 <tr> 151<TD width="30%"><code><a href="../../../gx/Tev/GXSetTevAlphaOp.html"><CODE>GXSetTevAlphaOp</CODE></a></code></TD> 152<TD width="25%"><SPAN class="argument">Each argument</SPAN></TD> 153<TD width="45%"><A href="#Algorithm Details">See Algorithm Details</A>.</TD> 154 </tr> 155 <tr> 156<TD width="30%" rowspan="5"><code><a href="../../../gx/Tev/GXSetAlphaCompare.html"><CODE>GXSetAlphaCompare</CODE></a></code></TD> 157<TD width="25%"><SPAN class="argument"><STRONG><EM><CODE>comp0</CODE></EM></STRONG></SPAN></TD> 158<TD width="45%"><CODE>GX_GREATER</CODE></TD> 159 </tr> 160 <tr> 161<TD width="25%"><SPAN class="argument"><STRONG><EM><CODE>ref0</CODE></EM></STRONG></SPAN></TD> 162<TD width="45%">Appropriate tolerance value</TD> 163 </tr> 164 <tr> 165<TD width="25%"><SPAN class="argument"><STRONG><EM><CODE>op</CODE></EM></STRONG></SPAN></TD> 166<TD width="45%"><CODE>GX_AOP_AND</CODE></TD> 167 </tr> 168 <tr> 169<TD width="25%"><SPAN class="argument"><STRONG><EM><CODE>comp1</CODE></EM></STRONG></SPAN></TD> 170<TD width="45%"><CODE>GX_LESS</CODE></TD> 171 </tr> 172 <tr> 173<TD width="25%"><SPAN class="argument"><STRONG><EM><CODE>ref1</CODE></EM></STRONG></SPAN></TD> 174<TD width="45%">Appropriate tolerance value</TD> 175 </tr> 176</TABLE> 177 178<h2>Using the Demo</h2> 179<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.<BR>START exits the demo.</P> 180 181<h2>Snapshot</h2> 182<P><IMG src="./images/tev-outline-1.jpg" alt="tev-outline-1.jpg" WIDTH="642" HEIGHT="482"></p> 183 184<h2>Required Data Files</h2> 185<p>None.</p> 186 187<H2><a name="Algorithm Details">Algorithm Details</a></H2> 188<P>(Under Construction)</P> 189 190<H2>Revision History</H2> 191<P> 1922006/03/01 Initial version.<br> 193</P> 194 195<hr><p>CONFIDENTIAL</p></body> 196</html>