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&nbsp;&nbsp; (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>