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>geo-vtx-fmt</title> 10</head> 11 12<body> 13 14<h1 align="left">geo-vtx-fmt</h1> 15 16<h2>Description</h2> 17<P><font face="Courier New">geo-vtx-fmt</font> tests many of the basic functionalities of the graphics pipeline. This test uses the vertex coordinate, color, texture coordinate 0, and geometry (for example, a normal line) attributes. These four attributes are tested with the<CODE>GXVertex</CODE>, <CODE>GXSetArray</CODE>, <CODE>GXSetVtxDesc</CODE>, and <CODE>GXSetVtxAttrFmt</CODE> functions. This demo also tests alpha blending (all cubes have an alpha gradient on one face when the color is valid) and all possible geometric primitives.</P> 18 19<h2>Coverage</h2> 20<TABLE border="1" cellpadding="3" cellspacing="0.1" width="640"> 21 <tr> 22<TD width="30%" bgcolor="#C0C0C0"><em><strong>Functions</strong></em></TD> 23<TD width="25%" bgcolor="#C0C0C0"><em><strong>Parameters</strong></em></TD> 24<TD width="45%" bgcolor="#C0C0C0"><em><strong>Description</strong></em></TD> 25 </tr> 26 <tr> 27 <TD width="30%" rowspan="2"> 28<a href="../../../gx/Geometry/GXPosition.html"><CODE>GXPosition</CODE></a><br> <a href="../../../gx/Geometry/GXColor.html"><CODE>GXColor</CODE></a><br> <a href="../../../gx/Geometry/GXNormal.html"><CODE>GXNormal</CODE></a><br> <a href="../../../gx/Geometry/GXTexCoord.html"><CODE>GXTexCoord</CODE></a></TD> 29<TD width="25%"><SPAN class="argument">vertex attribute</SPAN></TD> 30<TD width="45%"><CODE>GX_VA_POS</CODE>, <CODE>GX_VA_NRM</CODE>, <CODE>GX_VA_CLR0</CODE>, <CODE>GX_VA_TEX0</CODE></TD> 31 </tr> 32 <tr> 33<TD width="25%"><SPAN class="argument">data</SPAN></TD> 34<TD valign="top" align="left" width="45%">16-bit index, 8-bit index, or direct data</TD> 35 </tr> 36 <tr> 37 <TD width="30%" rowspan="2"> 38<a href="../../../gx/Geometry/GXSetArray.html"><CODE><CODE>GXSetArray</CODE></CODE></a></TD> 39<TD width="25%"><SPAN class="argument">vertex attribute</SPAN></TD> 40<TD valign="top" align="left" width="45%"><CODE>GX_VA_POS</CODE>, <CODE>GX_VA_NRM</CODE>, <CODE>GX_VA_CLR0</CODE>, <CODE>GX_VA_TEX0</CODE></TD> 41 </tr> 42 <tr> 43<TD width="25%"><SPAN class="argument">data</SPAN></TD> 44<TD valign="top" align="left" width="45%">Pointer to corresponding array.</TD> 45 </tr> 46 <tr> 47 <TD width="30%" rowspan="2"> 48<a href="../../../gx/Geometry/GXSetVtxDesc.html"><CODE><CODE>GXSetVtxDesc</CODE></CODE></a></TD> 49<TD width="25%"><SPAN class="argument">vertex attribute</SPAN></TD> 50<TD valign="top" align="left" width="45%"><CODE>GX_VA_POS</CODE>, <CODE>GX_VA_NRM</CODE>, <CODE>GX_VA_CLR0</CODE>, <CODE>GX_VA_TEX0</CODE></TD> 51 </tr> 52 <tr> 53<TD width="25%"><SPAN class="argument">Attribute type to reference</SPAN></TD> 54<TD valign="top" align="left" width="45%"><CODE>GX_INDEX16</CODE>, <CODE>GX_INDEX8</CODE>, <CODE>GX_DIRECT</CODE>.</TD> 55 </tr> 56 <tr> 57<TD width="30%" rowspan="5"><a href="../../../gx/Geometry/GXSetVtxAttrFmt.html"><CODE><CODE>GXSetVtxAttrFmt</CODE></CODE></a></TD> 58<TD width="25%"><SPAN class="argument">VAT number</SPAN></TD> 59<TD valign="top" align="left" width="45%">Always <CODE>GX_VTXFMT0</CODE>.</TD> 60 </tr> 61 <tr> 62<TD width="25%"><SPAN class="argument">vertex attribute</SPAN></TD> 63<TD valign="top" align="left" width="45%"><CODE>GX_VA_POS</CODE>, <CODE>GX_VA_NRM</CODE>, <CODE>GX_VA_CLR0</CODE>, <CODE>GX_VA_TEX0</CODE></TD> 64 </tr> 65 <tr> 66<TD width="25%"><SPAN class="argument">Data type</SPAN></TD> 67<TD valign="top" align="left" width="45%"><CODE>GX_POS_XYZ</CODE>, <CODE>GX_NRM_XYZ</CODE>, <CODE>GX_CLR_RGBA</CODE>, <CODE>GX_TEX_ST</CODE></TD> 68 </tr> 69 <tr> 70<TD width="25%"><SPAN class="argument">Attribute component type</SPAN></TD> 71<TD valign="top" align="left" width="45%"><CODE>GX_U8</CODE>, <CODE>GX_S8</CODE>, <CODE>GX_U16</CODE>, <CODE>GX_S16</CODE>, <CODE>GX_F32</CODE>, <CODE>GX_RGB565</CODE>, <CODE>GX_RGB8</CODE>, <CODE>GX_RGBX8</CODE>, <CODE>GX_RGBA4</CODE>, <CODE>GX_RGBA6</CODE>, <CODE>GX_RGBA8</CODE></TD> 72 </tr> 73 <tr> 74<TD width="25%"><SPAN class="argument">Shift</SPAN></TD> 75<TD valign="top" align="left" width="45%">0 through 16 for position, normal, and texture coordinates.</TD> 76 </tr> 77 <tr> 78<TD width="30%"><a href="../../../gx/Geometry/GXBegin.html"><CODE>GXBegin</CODE></a></TD> 79<TD width="25%"><SPAN class="argument">Primitive Type</SPAN></TD> 80<TD valign="top" align="left" width="45%"><CODE>GX_POINTS</CODE>, <CODE>GX_LINES</CODE>, <CODE>GX_LINESTRIP</CODE>, <CODE>GX_TRIANGLES</CODE>, <CODE>GX_TRIANGLESTRIP</CODE>, <CODE>GX_TRIANGLEFAN</CODE>, <CODE>GX_QUADS</CODE></TD> 81 </tr> 82 <tr> 83<TD width="30%" rowspan="4"><a href="../../../gx/PixelProc/GXSetBlendMode.html"><CODE><CODE>GXSetBlendMode</CODE></CODE></a></TD> 84<TD width="25%"><SPAN class="argument">Types</SPAN></TD> 85<TD valign="top" align="left" width="45%"><CODE>GX_BM_BLEND</CODE></TD> 86 </tr> 87 <tr> 88<TD width="25%"><SPAN class="argument">src factor</SPAN></TD> 89<TD valign="top" align="left" width="45%"><CODE>GX_BL_SRCALPHA</CODE></TD> 90 </tr> 91 <tr> 92<TD width="25%"><SPAN class="argument">dst factor</SPAN></TD> 93<TD valign="top" align="left" width="45%"><CODE>GX_BL_INVSRCALPHA</CODE></TD> 94 </tr> 95 <tr> 96<TD width="25%"><SPAN class="argument">Logic calculations</SPAN></TD> 97<TD valign="top" align="left" width="45%"><CODE>GX_LO_CLEAR</CODE></TD> 98 </tr> 99</TABLE> 100 101<h2>Using the Demo</h2> 102<P>START ends the test.</P> 103<P>X button toggles the control mode.</P> 104<p> <u><strong>Vertex Coordinate Control</strong></u> 105<ul> 106<li><SPAN>B button changes the position reference method (Index16, Index8, Direct, None).</SPAN></li> 107</ul> 108 109<p> <u><strong>Color Control</strong></u> 110<ul> 111<li><SPAN>B button changes the color reference method (Index16, Index8, Direct, None).</SPAN></li> 112</ul> 113 114<p> <u><strong>Normal Control</strong></u> 115<ul> 116<li><SPAN>B button changes the normal reference method (Index16, Index8, Direct, None).</SPAN></li> 117</ul> 118 119<p> <u><strong>Texture Coordinate Control</strong></u> 120<ul> 121<li><SPAN>B button changes the texture coordinate reference method (Index16, Index8, Direct, None).</SPAN></li> 122</ul> 123 124<p> <u><strong>Vertex Coordinate Shift Control</strong></u> 125<ul> 126<li><SPAN>B button changes the position shift value (0 through 16).</SPAN></li> 127</ul> 128 129<p> <u><strong>Normal Shift Control</strong></u> 130<ul> 131<li><SPAN>B button changes the normal shift value (0 through 16).</SPAN></li> 132</ul> 133 134<p> <u><strong>Texture Coordinate Shift Control</strong></u> 135<ul> 136<li><SPAN>B button changes the texture coordinate shift value (0 through 16).</SPAN></li> 137</ul> 138 139<h2>Snapshot</h2> 140<p>Cubes are drawn using the vertex coordinates, color, normal, and texture. All cubes are 16-bit indexed floating point numbers (color is RGB8).</p> 141<P><IMG src="./images/geo-vtx-fmt-1.jpg" alt="geo-vtx-fmt-1.jpg" WIDTH="614" HEIGHT="454"></p> 142 143<p>Cubes are drawn using the vertex coordinates, normal, and texture. All cubes are 16-bit indexed floating point numbers.</p> 144<P><IMG src="./images/geo-vtx-fmt-2.jpg" alt="geo-vtx-fmt-2.jpg" WIDTH="613" HEIGHT="458"></p> 145 146<p>Cubes are drawn using the vertex coordinates, color, and texture. All cubes are 16-bit indexed floating point numbers (color is RGB8).</p> 147<P><IMG src="./images/geo-vtx-fmt-3.jpg" alt="geo-vtx-fmt-3.jpg" WIDTH="614" HEIGHT="454"></p> 148 149<p>Cubes are drawn using the vertex coordinates, color, and normal. All cubes are 16-bit indexed floating point numbers (color is RGB8).</p> 150<P><IMG src="./images/geo-vtx-fmt-4.jpg" alt="geo-vtx-fmt-4.jpg" WIDTH="618" HEIGHT="455"></p> 151 152<h2>Required Data Files</h2> 153<p><CODE>$REVOLUTION_SDK_ROOT/dvddata/gxTextrs.tpl</CODE></p> 154 155<H2>Revision History</H2> 156<P> 1572006/03/01 Initial version.<br> 158</P> 159 160<hr><p>CONFIDENTIAL</p></body> 161</html>