123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
- <title>PowerVR SDK</title>
- <link href="doxygen.css" rel="stylesheet" type="text/css">
- <link href="tabs.css" rel="stylesheet" type="text/css">
- <table width="100%">
- <tr>
- <td width="33%">
- <p align="left"> <a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
- </td>
- <td width="33%">
- <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
- </td>
- <td width="34%">
- <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
- </td>
- </tr>
- </table>
- <hr>
- </head><body>
- <!-- Generated by Doxygen 1.3.6 -->
- <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div>
- <h1>PVRTModelPOD.h</h1><a href="PVRTModelPOD_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/******************************************************************************</span>
- 00002 <span class="comment"></span>
- 00003 <span class="comment"> @File PVRTModelPOD.h</span>
- 00004 <span class="comment"></span>
- 00005 <span class="comment"> @Title PVRTModelPOD</span>
- 00006 <span class="comment"></span>
- 00007 <span class="comment"> @Version </span>
- 00008 <span class="comment"></span>
- 00009 <span class="comment"> @Copyright Copyright (C) Imagination Technologies Limited.</span>
- 00010 <span class="comment"></span>
- 00011 <span class="comment"> @Platform ANSI compatible</span>
- 00012 <span class="comment"></span>
- 00013 <span class="comment"> @Description Code to load POD files - models exported from MAX.</span>
- 00014 <span class="comment"></span>
- 00015 <span class="comment">******************************************************************************/</span>
- 00016 <span class="preprocessor">#ifndef _PVRTMODELPOD_H_</span>
- 00017 <span class="preprocessor"></span><span class="preprocessor">#define _PVRTMODELPOD_H_</span>
- 00018 <span class="preprocessor"></span>
- 00019 <span class="preprocessor">#include "<a class="code" href="PVRTVector_8h.html">PVRTVector.h</a>"</span>
- 00020 <span class="preprocessor">#include "<a class="code" href="PVRTError_8h.html">PVRTError.h</a>"</span>
- 00021 <span class="preprocessor">#include "<a class="code" href="PVRTVertex_8h.html">PVRTVertex.h</a>"</span>
- 00022 <span class="preprocessor">#include "<a class="code" href="PVRTBoneBatch_8h.html">PVRTBoneBatch.h</a>"</span>
- 00023
- 00024 <span class="comment">/****************************************************************************</span>
- 00025 <span class="comment">** Defines</span>
- 00026 <span class="comment">****************************************************************************/</span>
- <a name="l00027"></a><a class="code" href="PVRTModelPOD_8h.html#a0">00027</a> <span class="preprocessor">#define PVRTMODELPOD_VERSION ("AB.POD.2.0") </span>
- 00029 <span class="preprocessor">// PVRTMODELPOD Scene Flags</span>
- 00030 <span class="preprocessor"></span><span class="preprocessor">#define PVRTMODELPODSF_FIXED (0x00000001) </span>
- 00032 <span class="preprocessor"></span><span class="comment">/****************************************************************************</span>
- 00033 <span class="comment">** Enumerations</span>
- 00034 <span class="comment">****************************************************************************/</span>
- 00035 <span class="comment">/*!****************************************************************************</span>
- 00036 <span class="comment"> @Struct EPODLight</span>
- 00037 <span class="comment"> @Brief Enum for the POD format light types</span>
- 00038 <span class="comment">******************************************************************************/</span>
- 00039 <span class="keyword">enum</span> <a class="code" href="structEPODLight.html">EPODLight</a>
- 00040 {
- <a name="l00041"></a><a class="code" href="PVRTModelPOD_8h.html#a55">00041</a> <a class="code" href="PVRTModelPOD_8h.html#a55a2">ePODPoint</a>=0,
- 00042 <a class="code" href="PVRTModelPOD_8h.html#a55a3">ePODDirectional</a>,
- 00043 <a class="code" href="PVRTModelPOD_8h.html#a55a4">ePODSpot</a>
- 00044 };
- 00045
- 00046 <span class="comment">/*!****************************************************************************</span>
- 00047 <span class="comment"> @Struct EPODPrimitiveType</span>
- 00048 <span class="comment"> @Brief Enum for the POD format primitive types</span>
- 00049 <span class="comment">******************************************************************************/</span>
- 00050 <span class="keyword">enum</span> <a class="code" href="structEPODPrimitiveType.html">EPODPrimitiveType</a>
- 00051 {
- <a name="l00052"></a><a class="code" href="PVRTModelPOD_8h.html#a56">00052</a> <a class="code" href="PVRTModelPOD_8h.html#a56a5">ePODTriangles</a>=0,
- 00053 <a class="code" href="PVRTModelPOD_8h.html#a56a6">ePODLines</a>
- 00054 };
- 00055
- 00056 <span class="comment">/*!****************************************************************************</span>
- 00057 <span class="comment"> @Struct EPODAnimationData</span>
- 00058 <span class="comment"> @Brief Enum for the POD format animation types</span>
- 00059 <span class="comment">******************************************************************************/</span>
- 00060 <span class="keyword">enum</span> <a class="code" href="structEPODAnimationData.html">EPODAnimationData</a>
- 00061 {
- <a name="l00062"></a><a class="code" href="PVRTModelPOD_8h.html#a57">00062</a> <a class="code" href="PVRTModelPOD_8h.html#a57a7">ePODHasPositionAni</a> = 0x01,
- 00063 <a class="code" href="PVRTModelPOD_8h.html#a57a8">ePODHasRotationAni</a> = 0x02,
- 00064 <a class="code" href="PVRTModelPOD_8h.html#a57a9">ePODHasScaleAni</a> = 0x04,
- 00065 <a class="code" href="PVRTModelPOD_8h.html#a57a10">ePODHasMatrixAni</a> = 0x08
- 00066 };
- 00067
- 00068 <span class="comment">/*!****************************************************************************</span>
- 00069 <span class="comment"> @Struct EPODMaterialFlags</span>
- 00070 <span class="comment"> @Brief Enum for the material flag options</span>
- 00071 <span class="comment">******************************************************************************/</span>
- 00072 <span class="keyword">enum</span> <a class="code" href="structEPODMaterialFlags.html">EPODMaterialFlags</a>
- 00073 {
- <a name="l00074"></a><a class="code" href="PVRTModelPOD_8h.html#a58">00074</a> <a class="code" href="PVRTModelPOD_8h.html#a58a11">ePODEnableBlending</a> = 0x01,
- 00075 };
- 00076
- 00077 <span class="comment">/*!****************************************************************************</span>
- 00078 <span class="comment"> @Struct EPODBlendFunc</span>
- 00079 <span class="comment"> @Brief Enum for the POD format blend functions</span>
- 00080 <span class="comment">******************************************************************************/</span>
- 00081 <span class="keyword">enum</span> <a class="code" href="structEPODBlendFunc.html">EPODBlendFunc</a>
- 00082 {
- <a name="l00083"></a><a class="code" href="PVRTModelPOD_8h.html#a59">00083</a> <a class="code" href="PVRTModelPOD_8h.html#a59a12">ePODBlendFunc_ZERO</a>=0,
- 00084 <a class="code" href="PVRTModelPOD_8h.html#a59a13">ePODBlendFunc_ONE</a>,
- 00085 <a class="code" href="PVRTModelPOD_8h.html#a59a14">ePODBlendFunc_BLEND_FACTOR</a>,
- 00086 <a class="code" href="PVRTModelPOD_8h.html#a59a15">ePODBlendFunc_ONE_MINUS_BLEND_FACTOR</a>,
- 00087
- 00088 <a class="code" href="PVRTModelPOD_8h.html#a59a16">ePODBlendFunc_SRC_COLOR</a> = 0x0300,
- 00089 <a class="code" href="PVRTModelPOD_8h.html#a59a17">ePODBlendFunc_ONE_MINUS_SRC_COLOR</a>,
- 00090 <a class="code" href="PVRTModelPOD_8h.html#a59a18">ePODBlendFunc_SRC_ALPHA</a>,
- 00091 <a class="code" href="PVRTModelPOD_8h.html#a59a19">ePODBlendFunc_ONE_MINUS_SRC_ALPHA</a>,
- 00092 <a class="code" href="PVRTModelPOD_8h.html#a59a20">ePODBlendFunc_DST_ALPHA</a>,
- 00093 <a class="code" href="PVRTModelPOD_8h.html#a59a21">ePODBlendFunc_ONE_MINUS_DST_ALPHA</a>,
- 00094 <a class="code" href="PVRTModelPOD_8h.html#a59a22">ePODBlendFunc_DST_COLOR</a>,
- 00095 <a class="code" href="PVRTModelPOD_8h.html#a59a23">ePODBlendFunc_ONE_MINUS_DST_COLOR</a>,
- 00096 <a class="code" href="PVRTModelPOD_8h.html#a59a24">ePODBlendFunc_SRC_ALPHA_SATURATE</a>,
- 00097
- 00098 <a class="code" href="PVRTModelPOD_8h.html#a59a25">ePODBlendFunc_CONSTANT_COLOR</a> = 0x8001,
- 00099 <a class="code" href="PVRTModelPOD_8h.html#a59a26">ePODBlendFunc_ONE_MINUS_CONSTANT_COLOR</a>,
- 00100 <a class="code" href="PVRTModelPOD_8h.html#a59a27">ePODBlendFunc_CONSTANT_ALPHA</a>,
- 00101 <a class="code" href="PVRTModelPOD_8h.html#a59a28">ePODBlendFunc_ONE_MINUS_CONSTANT_ALPHA</a>
- 00102 };
- 00103
- 00104 <span class="comment">/*!****************************************************************************</span>
- 00105 <span class="comment"> @Struct EPODBlendOp</span>
- 00106 <span class="comment"> @Brief Enum for the POD format blend operation</span>
- 00107 <span class="comment">******************************************************************************/</span>
- 00108 <span class="keyword">enum</span> <a class="code" href="structEPODBlendOp.html">EPODBlendOp</a>
- 00109 {
- <a name="l00110"></a><a class="code" href="PVRTModelPOD_8h.html#a60">00110</a> <a class="code" href="PVRTModelPOD_8h.html#a60a29">ePODBlendOp_ADD</a> = 0x8006,
- 00111 <a class="code" href="PVRTModelPOD_8h.html#a60a30">ePODBlendOp_MIN</a>,
- 00112 <a class="code" href="PVRTModelPOD_8h.html#a60a31">ePODBlendOp_MAX</a>,
- 00113 <a class="code" href="PVRTModelPOD_8h.html#a60a32">ePODBlendOp_SUBTRACT</a> = 0x800A,
- 00114 <a class="code" href="PVRTModelPOD_8h.html#a60a33">ePODBlendOp_REVERSE_SUBTRACT</a>,
- 00115 };
- 00116
- 00117 <span class="comment">/****************************************************************************</span>
- 00118 <span class="comment">** Structures</span>
- 00119 <span class="comment">****************************************************************************/</span>
- 00120 <span class="comment">/*!****************************************************************************</span>
- 00121 <span class="comment"> @Class CPODData</span>
- 00122 <span class="comment"> @Brief A class for representing POD data</span>
- 00123 <span class="comment">******************************************************************************/</span>
- 00124 <span class="keyword">class </span><a class="code" href="classCPODData.html">CPODData</a> {
- 00125 <span class="keyword">public</span>:
- <a name="l00126"></a><a class="code" href="classCPODData.html">00126</a> <span class="comment">/*!***************************************************************************</span>
- 00127 <span class="comment"> @Function Reset</span>
- 00128 <span class="comment"> @Description Resets the POD Data to NULL</span>
- 00129 <span class="comment"> *****************************************************************************/</span>
- 00130 <span class="keywordtype">void</span> <a class="code" href="classCPODData.html#a0">Reset</a>();
- 00131
- 00132 <span class="keyword">public</span>:
- 00133 <a class="code" href="PVRTVertex_8h.html#a24">EPVRTDataType</a> <a class="code" href="classCPODData.html#o0">eType</a>;
- 00134 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> n;
- 00135 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classCPODData.html#o2">nStride</a>;
- <a name="l00136"></a><a class="code" href="classCPODData.html#o0">00136</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="classCPODData.html#o3">pData</a>;
- <a name="l00137"></a><a class="code" href="classCPODData.html#o1">00137</a> };
- <a name="l00138"></a><a class="code" href="classCPODData.html#o2">00138</a>
- <a name="l00139"></a><a class="code" href="classCPODData.html#o3">00139</a> <span class="comment">/*!****************************************************************************</span>
- 00140 <span class="comment"> @Struct SPODCamera</span>
- 00141 <span class="comment"> @Brief Struct for storing POD camera data</span>
- 00142 <span class="comment">******************************************************************************/</span>
- 00143 <span class="keyword">struct </span><a class="code" href="structSPODCamera.html">SPODCamera</a> {
- 00144 <span class="keywordtype">int</span> nIdxTarget;
- 00145 <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> fFOV;
- <a name="l00146"></a><a class="code" href="structSPODCamera.html">00146</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODCamera.html#o2">fFar</a>;
- <a name="l00147"></a><a class="code" href="structSPODCamera.html#o0">00147</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODCamera.html#o3">fNear</a>;
- <a name="l00148"></a><a class="code" href="structSPODCamera.html#o1">00148</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> *<a class="code" href="structSPODCamera.html#o4">pfAnimFOV</a>;
- <a name="l00149"></a><a class="code" href="structSPODCamera.html#o2">00149</a> };
- <a name="l00150"></a><a class="code" href="structSPODCamera.html#o3">00150</a>
- <a name="l00151"></a><a class="code" href="structSPODCamera.html#o4">00151</a> <span class="comment">/*!****************************************************************************</span>
- 00152 <span class="comment"> @Struct SPODLight</span>
- 00153 <span class="comment"> @Brief Struct for storing POD light data</span>
- 00154 <span class="comment">******************************************************************************/</span>
- 00155 <span class="keyword">struct </span><a class="code" href="structSPODLight.html">SPODLight</a> {
- 00156 <span class="keywordtype">int</span> <a class="code" href="structSPODLight.html#o0">nIdxTarget</a>;
- 00157 <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> pfColour[3];
- <a name="l00158"></a><a class="code" href="structSPODLight.html">00158</a> <a class="code" href="structEPODLight.html">EPODLight</a> eType;
- <a name="l00159"></a><a class="code" href="structSPODLight.html#o0">00159</a> <span class="keywordtype">float</span> <a class="code" href="structSPODLight.html#o3">fConstantAttenuation</a>;
- <a name="l00160"></a><a class="code" href="structSPODLight.html#o1">00160</a> <span class="keywordtype">float</span> <a class="code" href="structSPODLight.html#o4">fLinearAttenuation</a>;
- <a name="l00161"></a><a class="code" href="structSPODLight.html#o2">00161</a> <span class="keywordtype">float</span> <a class="code" href="structSPODLight.html#o5">fQuadraticAttenuation</a>;
- <a name="l00162"></a><a class="code" href="structSPODLight.html#o3">00162</a> <span class="keywordtype">float</span> <a class="code" href="structSPODLight.html#o6">fFalloffAngle</a>;
- <a name="l00163"></a><a class="code" href="structSPODLight.html#o4">00163</a> <span class="keywordtype">float</span> <a class="code" href="structSPODLight.html#o7">fFalloffExponent</a>;
- <a name="l00164"></a><a class="code" href="structSPODLight.html#o5">00164</a> };
- <a name="l00165"></a><a class="code" href="structSPODLight.html#o6">00165</a>
- <a name="l00166"></a><a class="code" href="structSPODLight.html#o7">00166</a> <span class="comment">/*!****************************************************************************</span>
- 00167 <span class="comment"> @Struct SPODMesh</span>
- 00168 <span class="comment"> @Brief Struct for storing POD mesh data</span>
- 00169 <span class="comment">******************************************************************************/</span>
- 00170 <span class="keyword">struct </span><a class="code" href="structSPODMesh.html">SPODMesh</a> {
- 00171 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nNumVertex;
- 00172 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nNumFaces;
- <a name="l00173"></a><a class="code" href="structSPODMesh.html">00173</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODMesh.html#o2">nNumUVW</a>;
- <a name="l00174"></a><a class="code" href="structSPODMesh.html#o0">00174</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o3">sFaces</a>;
- <a name="l00175"></a><a class="code" href="structSPODMesh.html#o1">00175</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *<a class="code" href="structSPODMesh.html#o4">pnStripLength</a>;
- <a name="l00176"></a><a class="code" href="structSPODMesh.html#o2">00176</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nNumStrips;
- <a name="l00177"></a><a class="code" href="structSPODMesh.html#o3">00177</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o6">sVertex</a>;
- <a name="l00178"></a><a class="code" href="structSPODMesh.html#o4">00178</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o7">sNormals</a>;
- <a name="l00179"></a><a class="code" href="structSPODMesh.html#o5">00179</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o8">sTangents</a>;
- <a name="l00180"></a><a class="code" href="structSPODMesh.html#o6">00180</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o9">sBinormals</a>;
- <a name="l00181"></a><a class="code" href="structSPODMesh.html#o7">00181</a> <a class="code" href="classCPODData.html">CPODData</a> *<a class="code" href="structSPODMesh.html#o10">psUVW</a>;
- <a name="l00182"></a><a class="code" href="structSPODMesh.html#o8">00182</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o11">sVtxColours</a>;
- <a name="l00183"></a><a class="code" href="structSPODMesh.html#o9">00183</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o12">sBoneIdx</a>;
- <a name="l00184"></a><a class="code" href="structSPODMesh.html#o10">00184</a> <a class="code" href="classCPODData.html">CPODData</a> <a class="code" href="structSPODMesh.html#o13">sBoneWeight</a>;
- <a name="l00186"></a><a class="code" href="structSPODMesh.html#o12">00186</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structSPODMesh.html#o14">pInterleaved</a>;
- 00188 <a class="code" href="classCPVRTBoneBatches.html">CPVRTBoneBatches</a> <a class="code" href="structSPODMesh.html#o15">sBoneBatches</a>;
- 00190 <a class="code" href="structEPODPrimitiveType.html">EPODPrimitiveType</a> <a class="code" href="structSPODMesh.html#o16">ePrimitiveType</a>;
- 00192 <a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> <a class="code" href="structSPODMesh.html#o17">mUnpackMatrix</a>;
- <a name="l00193"></a><a class="code" href="structSPODMesh.html#o16">00193</a> };
- 00194
- <a name="l00195"></a><a class="code" href="structSPODMesh.html#o17">00195</a> <span class="comment">/*!****************************************************************************</span>
- 00196 <span class="comment"> @Struct SPODNode</span>
- 00197 <span class="comment"> @Brief Struct for storing POD node data</span>
- 00198 <span class="comment">******************************************************************************/</span>
- 00199 <span class="keyword">struct </span><a class="code" href="structSPODNode.html">SPODNode</a> {
- 00200 <span class="keywordtype">int</span> nIdx;
- 00201 <span class="keywordtype">char</span> *pszName;
- <a name="l00202"></a><a class="code" href="structSPODNode.html">00202</a> <span class="keywordtype">int</span> <a class="code" href="structSPODNode.html#o2">nIdxMaterial</a>;
- <a name="l00204"></a><a class="code" href="structSPODNode.html#o1">00204</a> <span class="keywordtype">int</span> <a class="code" href="structSPODNode.html#o3">nIdxParent</a>;
- 00206 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODNode.html#o4">nAnimFlags</a>;
- 00208 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* <a class="code" href="structSPODNode.html#o5">pnAnimPositionIdx</a>;
- <a name="l00209"></a><a class="code" href="structSPODNode.html#o4">00209</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> *<a class="code" href="structSPODNode.html#o6">pfAnimPosition</a>;
- <a name="l00211"></a><a class="code" href="structSPODNode.html#o5">00211</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* <a class="code" href="structSPODNode.html#o7">pnAnimRotationIdx</a>;
- <a name="l00212"></a><a class="code" href="structSPODNode.html#o6">00212</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> *<a class="code" href="structSPODNode.html#o8">pfAnimRotation</a>;
- <a name="l00214"></a><a class="code" href="structSPODNode.html#o7">00214</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* <a class="code" href="structSPODNode.html#o9">pnAnimScaleIdx</a>;
- <a name="l00215"></a><a class="code" href="structSPODNode.html#o8">00215</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> *<a class="code" href="structSPODNode.html#o10">pfAnimScale</a>;
- <a name="l00217"></a><a class="code" href="structSPODNode.html#o9">00217</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* <a class="code" href="structSPODNode.html#o11">pnAnimMatrixIdx</a>;
- <a name="l00218"></a><a class="code" href="structSPODNode.html#o10">00218</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> *<a class="code" href="structSPODNode.html#o12">pfAnimMatrix</a>;
- 00219 };
- <a name="l00220"></a><a class="code" href="structSPODNode.html#o11">00220</a>
- <a name="l00221"></a><a class="code" href="structSPODNode.html#o12">00221</a> <span class="comment">/*!****************************************************************************</span>
- 00222 <span class="comment"> @Struct SPODTexture</span>
- 00223 <span class="comment"> @Brief Struct for storing POD texture data</span>
- 00224 <span class="comment">******************************************************************************/</span>
- 00225 <span class="keyword">struct </span><a class="code" href="structSPODTexture.html">SPODTexture</a> {
- 00226 <span class="keywordtype">char</span> *<a class="code" href="structSPODTexture.html#o0">pszName</a>;
- 00227 };
- <a name="l00228"></a><a class="code" href="structSPODTexture.html">00228</a>
- <a name="l00229"></a><a class="code" href="structSPODTexture.html#o0">00229</a> <span class="comment">/*!****************************************************************************</span>
- 00230 <span class="comment"> @Struct SPODMaterial</span>
- 00231 <span class="comment"> @Brief Struct for storing POD material data</span>
- 00232 <span class="comment">******************************************************************************/</span>
- 00233 <span class="keyword">struct </span><a class="code" href="structSPODMaterial.html">SPODMaterial</a> {
- 00234 <span class="keywordtype">char</span> *pszName;
- 00235 <span class="keywordtype">int</span> nIdxTexDiffuse;
- <a name="l00236"></a><a class="code" href="structSPODMaterial.html">00236</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o2">nIdxTexAmbient</a>;
- <a name="l00237"></a><a class="code" href="structSPODMaterial.html#o0">00237</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o3">nIdxTexSpecularColour</a>;
- <a name="l00238"></a><a class="code" href="structSPODMaterial.html#o1">00238</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o4">nIdxTexSpecularLevel</a>;
- <a name="l00239"></a><a class="code" href="structSPODMaterial.html#o2">00239</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o5">nIdxTexBump</a>;
- <a name="l00240"></a><a class="code" href="structSPODMaterial.html#o3">00240</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o6">nIdxTexEmissive</a>;
- <a name="l00241"></a><a class="code" href="structSPODMaterial.html#o4">00241</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o7">nIdxTexGlossiness</a>;
- <a name="l00242"></a><a class="code" href="structSPODMaterial.html#o5">00242</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o8">nIdxTexOpacity</a>;
- <a name="l00243"></a><a class="code" href="structSPODMaterial.html#o6">00243</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o9">nIdxTexReflection</a>;
- <a name="l00244"></a><a class="code" href="structSPODMaterial.html#o7">00244</a> <span class="keywordtype">int</span> <a class="code" href="structSPODMaterial.html#o10">nIdxTexRefraction</a>;
- <a name="l00245"></a><a class="code" href="structSPODMaterial.html#o8">00245</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODMaterial.html#o11">fMatOpacity</a>;
- <a name="l00246"></a><a class="code" href="structSPODMaterial.html#o9">00246</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODMaterial.html#o12">pfMatAmbient</a>[3];
- <a name="l00247"></a><a class="code" href="structSPODMaterial.html#o10">00247</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODMaterial.html#o13">pfMatDiffuse</a>[3];
- <a name="l00248"></a><a class="code" href="structSPODMaterial.html#o11">00248</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODMaterial.html#o14">pfMatSpecular</a>[3];
- <a name="l00249"></a><a class="code" href="structSPODMaterial.html#o12">00249</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODMaterial.html#o15">fMatShininess</a>;
- <a name="l00250"></a><a class="code" href="structSPODMaterial.html#o13">00250</a> <span class="keywordtype">char</span> *<a class="code" href="structSPODMaterial.html#o16">pszEffectFile</a>;
- <a name="l00251"></a><a class="code" href="structSPODMaterial.html#o14">00251</a> <span class="keywordtype">char</span> *<a class="code" href="structSPODMaterial.html#o17">pszEffectName</a>;
- <a name="l00253"></a><a class="code" href="structSPODMaterial.html#o16">00253</a> <a class="code" href="structEPODBlendFunc.html">EPODBlendFunc</a> <a class="code" href="structSPODMaterial.html#o18">eBlendSrcRGB</a>;
- <a name="l00254"></a><a class="code" href="structSPODMaterial.html#o17">00254</a> <a class="code" href="structEPODBlendFunc.html">EPODBlendFunc</a> <a class="code" href="structSPODMaterial.html#o19">eBlendSrcA</a>;
- 00255 <a class="code" href="structEPODBlendFunc.html">EPODBlendFunc</a> <a class="code" href="structSPODMaterial.html#o20">eBlendDstRGB</a>;
- <a name="l00256"></a><a class="code" href="structSPODMaterial.html#o18">00256</a> <a class="code" href="structEPODBlendFunc.html">EPODBlendFunc</a> <a class="code" href="structSPODMaterial.html#o21">eBlendDstA</a>;
- <a name="l00257"></a><a class="code" href="structSPODMaterial.html#o19">00257</a> <a class="code" href="structEPODBlendOp.html">EPODBlendOp</a> <a class="code" href="structSPODMaterial.html#o22">eBlendOpRGB</a>;
- <a name="l00258"></a><a class="code" href="structSPODMaterial.html#o20">00258</a> <a class="code" href="structEPODBlendOp.html">EPODBlendOp</a> <a class="code" href="structSPODMaterial.html#o23">eBlendOpA</a>;
- <a name="l00259"></a><a class="code" href="structSPODMaterial.html#o21">00259</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODMaterial.html#o24">pfBlendColour</a>[4];
- <a name="l00260"></a><a class="code" href="structSPODMaterial.html#o22">00260</a> <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="structSPODMaterial.html#o25">pfBlendFactor</a>[4];
- <a name="l00262"></a><a class="code" href="structSPODMaterial.html#o24">00262</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFlags;
- <a name="l00263"></a><a class="code" href="structSPODMaterial.html#o25">00263</a> };
- 00264
- <a name="l00265"></a><a class="code" href="structSPODMaterial.html#o26">00265</a> <span class="comment">/*!****************************************************************************</span>
- 00266 <span class="comment"> @Struct SPODScene</span>
- 00267 <span class="comment"> @Brief Struct for storing POD scene data</span>
- 00268 <span class="comment">******************************************************************************/</span>
- 00269 <span class="keyword">struct </span><a class="code" href="structSPODScene.html">SPODScene</a> {
- 00270 <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> pfColourBackground[3];
- 00271 <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> pfColourAmbient[3];
- <a name="l00273"></a><a class="code" href="structSPODScene.html#o0">00273</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o2">nNumCamera</a>;
- <a name="l00274"></a><a class="code" href="structSPODScene.html#o1">00274</a> <a class="code" href="structSPODCamera.html">SPODCamera</a> *<a class="code" href="structSPODScene.html#o3">pCamera</a>;
- <a name="l00276"></a><a class="code" href="structSPODScene.html#o2">00276</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o4">nNumLight</a>;
- <a name="l00277"></a><a class="code" href="structSPODScene.html#o3">00277</a> <a class="code" href="structSPODLight.html">SPODLight</a> *<a class="code" href="structSPODScene.html#o5">pLight</a>;
- <a name="l00279"></a><a class="code" href="structSPODScene.html#o4">00279</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o6">nNumMesh</a>;
- <a name="l00280"></a><a class="code" href="structSPODScene.html#o5">00280</a> <a class="code" href="structSPODMesh.html">SPODMesh</a> *<a class="code" href="structSPODScene.html#o7">pMesh</a>;
- <a name="l00282"></a><a class="code" href="structSPODScene.html#o6">00282</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o8">nNumNode</a>;
- <a name="l00283"></a><a class="code" href="structSPODScene.html#o7">00283</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o9">nNumMeshNode</a>;
- 00284 <a class="code" href="structSPODNode.html">SPODNode</a> *<a class="code" href="structSPODScene.html#o10">pNode</a>;
- <a name="l00286"></a><a class="code" href="structSPODScene.html#o9">00286</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o11">nNumTexture</a>;
- <a name="l00287"></a><a class="code" href="structSPODScene.html#o10">00287</a> <a class="code" href="structSPODTexture.html">SPODTexture</a> *<a class="code" href="structSPODScene.html#o12">pTexture</a>;
- <a name="l00289"></a><a class="code" href="structSPODScene.html#o11">00289</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o13">nNumMaterial</a>;
- <a name="l00290"></a><a class="code" href="structSPODScene.html#o12">00290</a> <a class="code" href="structSPODMaterial.html">SPODMaterial</a> *<a class="code" href="structSPODScene.html#o14">pMaterial</a>;
- <a name="l00292"></a><a class="code" href="structSPODScene.html#o13">00292</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o15">nNumFrame</a>;
- <a name="l00293"></a><a class="code" href="structSPODScene.html#o14">00293</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structSPODScene.html#o16">nFPS</a>;
- <a name="l00295"></a><a class="code" href="structSPODScene.html#o15">00295</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFlags;
- <a name="l00296"></a><a class="code" href="structSPODScene.html#o16">00296</a> };
- 00297
- <a name="l00298"></a><a class="code" href="structSPODScene.html#o17">00298</a> <span class="keyword">struct </span>SPVRTPODImpl; <span class="comment">// Internal implementation data</span>
- 00299
- 00300 <span class="comment">/*!***************************************************************************</span>
- 00301 <span class="comment">@Class CPVRTModelPOD</span>
- 00302 <span class="comment">@Brief A class for loading and storing data from POD files/headers</span>
- 00303 <span class="comment">*****************************************************************************/</span>
- 00304 <span class="keyword">class </span><a class="code" href="classCPVRTModelPOD.html">CPVRTModelPOD</a> : <span class="keyword">public</span> <a class="code" href="structSPODScene.html">SPODScene</a>{
- 00305 <span class="keyword">public</span>:
- 00306 <span class="comment">/*!***************************************************************************</span>
- <a name="l00307"></a><a class="code" href="classCPVRTModelPOD.html">00307</a> <span class="comment"> @Function Constructor</span>
- 00308 <span class="comment"> @Description Constructor for CPVRTModelPOD class</span>
- 00309 <span class="comment"> *****************************************************************************/</span>
- 00310 <a class="code" href="classCPVRTModelPOD.html#a0">CPVRTModelPOD</a>();
- 00311
- 00312 <span class="comment">/*!***************************************************************************</span>
- 00313 <span class="comment"> @Function Destructor</span>
- 00314 <span class="comment"> @Description Destructor for CPVRTModelPOD class</span>
- 00315 <span class="comment"> *****************************************************************************/</span>
- 00316 <a class="code" href="classCPVRTModelPOD.html#a1">~CPVRTModelPOD</a>();
- 00317
- 00318 <span class="comment">/*!***************************************************************************</span>
- 00319 <span class="comment"> @Function ReadFromFile</span>
- 00320 <span class="comment"> @Input pszFileName Filename to load</span>
- 00321 <span class="comment"> @Output pszExpOpt String in which to place exporter options</span>
- 00322 <span class="comment"> @Input count Maximum number of characters to store.</span>
- 00323 <span class="comment"> @Output pszHistory String in which to place the pod file history</span>
- 00324 <span class="comment"> @Input historyCount Maximum number of characters to store.</span>
- 00325 <span class="comment"> @Return PVR_SUCCESS if successful, PVR_FAIL if not</span>
- 00326 <span class="comment"> @Description Loads the specified ".POD" file; returns the scene in</span>
- 00327 <span class="comment"> pScene. This structure must later be destroyed with</span>
- 00328 <span class="comment"> PVRTModelPODDestroy() to prevent memory leaks.</span>
- 00329 <span class="comment"> ".POD" files are exported using the PVRGeoPOD exporters.</span>
- 00330 <span class="comment"> If pszExpOpt is NULL, the scene is loaded; otherwise the</span>
- 00331 <span class="comment"> scene is not loaded and pszExpOpt is filled in. The same</span>
- 00332 <span class="comment"> is true for pszHistory.</span>
- 00333 <span class="comment"> *****************************************************************************/</span>
- 00334 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTModelPOD.html#a2">ReadFromFile</a>(
- 00335 <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> pszFileName,
- 00336 <span class="keywordtype">char</span> * <span class="keyword">const</span> pszExpOpt = NULL,
- 00337 <span class="keyword">const</span> size_t count = 0,
- 00338 <span class="keywordtype">char</span> * <span class="keyword">const</span> pszHistory = NULL,
- 00339 <span class="keyword">const</span> size_t historyCount = 0);
- 00340
- 00341 <span class="comment">/*!***************************************************************************</span>
- 00342 <span class="comment"> @Function ReadFromMemory</span>
- 00343 <span class="comment"> @Input pData Data to load</span>
- 00344 <span class="comment"> @Input i32Size Size of data</span>
- 00345 <span class="comment"> @Output pszExpOpt String in which to place exporter options</span>
- 00346 <span class="comment"> @Input count Maximum number of characters to store.</span>
- 00347 <span class="comment"> @Output pszHistory String in which to place the pod file history</span>
- 00348 <span class="comment"> @Input historyCount Maximum number of characters to store.</span>
- 00349 <span class="comment"> @Return PVR_SUCCESS if successful, PVR_FAIL if not</span>
- 00350 <span class="comment"> @Description Loads the supplied pod data. This data can be exported</span>
- 00351 <span class="comment"> directly to a header using one of the pod exporters.</span>
- 00352 <span class="comment"> If pszExpOpt is NULL, the scene is loaded; otherwise the</span>
- 00353 <span class="comment"> scene is not loaded and pszExpOpt is filled in. The same</span>
- 00354 <span class="comment"> is true for pszHistory.</span>
- 00355 <span class="comment"> *****************************************************************************/</span>
- 00356 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTModelPOD.html#a3">ReadFromMemory</a>(
- 00357 <span class="keyword">const</span> <span class="keywordtype">char</span> * pData,
- 00358 <span class="keyword">const</span> size_t i32Size,
- 00359 <span class="keywordtype">char</span> * <span class="keyword">const</span> pszExpOpt = NULL,
- 00360 <span class="keyword">const</span> size_t count = NULL,
- 00361 <span class="keywordtype">char</span> * <span class="keyword">const</span> pszHistory = NULL,
- 00362 <span class="keyword">const</span> size_t historyCount = NULL);
- 00363
- 00364 <span class="comment">/*!***************************************************************************</span>
- 00365 <span class="comment"> @Function ReadFromMemory</span>
- 00366 <span class="comment"> @Input scene Scene data from the header file</span>
- 00367 <span class="comment"> @Return PVR_SUCCESS if successful, PVR_FAIL if not</span>
- 00368 <span class="comment"> @Description Sets the scene data from the supplied data structure. Use</span>
- 00369 <span class="comment"> when loading from .H files.</span>
- 00370 <span class="comment"> *****************************************************************************/</span>
- 00371 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTModelPOD.html#a3">ReadFromMemory</a>(
- 00372 <span class="keyword">const</span> <a class="code" href="structSPODScene.html">SPODScene</a> &scene);
- 00373
- 00374 <span class="comment">/*!***************************************************************************</span>
- 00375 <span class="comment"> @Function CopyFromMemory</span>
- 00376 <span class="comment"> @Input scene Scene data from the header file</span>
- 00377 <span class="comment"> @Return PVR_SUCCESS if successful, PVR_FAIL if not</span>
- 00378 <span class="comment"> @Description Copies the scene data from the supplied data structure. Use</span>
- 00379 <span class="comment"> when loading from .H files where you want to modify the data.</span>
- 00380 <span class="comment"> *****************************************************************************/</span>
- 00381 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTModelPOD.html#a5">CopyFromMemory</a>(
- 00382 <span class="keyword">const</span> <a class="code" href="structSPODScene.html">SPODScene</a> &scene);
- 00383
- 00384 <span class="preprocessor">#if defined(WIN32) && !defined(__BADA__)</span>
- 00385 <span class="preprocessor"></span> <span class="comment">/*!***************************************************************************</span>
- 00386 <span class="comment"> @Function ReadFromResource</span>
- 00387 <span class="comment"> @Input pszName Name of the resource to load from</span>
- 00388 <span class="comment"> @Return PVR_SUCCESS if successful, PVR_FAIL if not</span>
- 00389 <span class="comment"> @Description Loads the specified ".POD" file; returns the scene in</span>
- 00390 <span class="comment"> pScene. This structure must later be destroyed with</span>
- 00391 <span class="comment"> PVRTModelPODDestroy() to prevent memory leaks.</span>
- 00392 <span class="comment"> ".POD" files are exported from 3D Studio MAX using a</span>
- 00393 <span class="comment"> PowerVR plugin.</span>
- 00394 <span class="comment"> *****************************************************************************/</span>
- 00395 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> ReadFromResource(
- 00396 <span class="keyword">const</span> TCHAR * <span class="keyword">const</span> pszName);
- 00397 <span class="preprocessor">#endif</span>
- 00398 <span class="preprocessor"></span>
- 00399 <span class="comment">/*!***********************************************************************</span>
- 00400 <span class="comment"> @Function InitImpl</span>
- 00401 <span class="comment"> @Description Used by the Read*() fns to initialise implementation</span>
- 00402 <span class="comment"> details. Should also be called by applications which</span>
- 00403 <span class="comment"> manually build data in the POD structures for rendering;</span>
- 00404 <span class="comment"> in this case call it after the data has been created.</span>
- 00405 <span class="comment"> Otherwise, do not call this function.</span>
- 00406 <span class="comment"> *************************************************************************/</span>
- 00407 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTModelPOD.html#a6">InitImpl</a>();
- 00408
- 00409 <span class="comment">/*!***********************************************************************</span>
- 00410 <span class="comment"> @Function DestroyImpl</span>
- 00411 <span class="comment"> @Description Used to free memory allocated by the implementation.</span>
- 00412 <span class="comment"> *************************************************************************/</span>
- 00413 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a7">DestroyImpl</a>();
- 00414
- 00415 <span class="comment">/*!***********************************************************************</span>
- 00416 <span class="comment"> @Function FlushCache</span>
- 00417 <span class="comment"> @Description Clears the matrix cache; use this if necessary when you</span>
- 00418 <span class="comment"> edit the position or animation of a node.</span>
- 00419 <span class="comment"> *************************************************************************/</span>
- 00420 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a8">FlushCache</a>();
- 00421 <span class="comment">/*!***************************************************************************</span>
- 00422 <span class="comment"> @Function Destroy</span>
- 00423 <span class="comment"> @Description Frees the memory allocated to store the scene in pScene.</span>
- 00424 <span class="comment"> *****************************************************************************/</span>
- 00425 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a9">Destroy</a>();
- 00426
- 00427 <span class="comment">/*!***************************************************************************</span>
- 00428 <span class="comment"> @Function SetFrame</span>
- 00429 <span class="comment"> @Input fFrame Frame number</span>
- 00430 <span class="comment"> @Description Set the animation frame for which subsequent Get*() calls</span>
- 00431 <span class="comment"> should return data.</span>
- 00432 <span class="comment"> *****************************************************************************/</span>
- 00433 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a10">SetFrame</a>(
- 00434 <span class="keyword">const</span> VERTTYPE fFrame);
- 00435
- 00436 <span class="comment">/*!***************************************************************************</span>
- 00437 <span class="comment"> @Function GetRotationMatrix</span>
- 00438 <span class="comment"> @Output mOut Rotation matrix</span>
- 00439 <span class="comment"> @Input node Node to get the rotation matrix from</span>
- 00440 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00441 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00442 <span class="comment"> *****************************************************************************/</span>
- 00443 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a11">GetRotationMatrix</a>(
- 00444 <a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> &mOut,
- 00445 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00446
- 00447 <span class="comment">/*!***************************************************************************</span>
- 00448 <span class="comment"> @Function GetRotationMatrix</span>
- 00449 <span class="comment"> @Input node Node to get the rotation matrix from</span>
- 00450 <span class="comment"> @Returns Rotation matrix</span>
- 00451 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00452 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00453 <span class="comment"> *****************************************************************************/</span>
- 00454 <a class="code" href="structPVRTMat4.html">PVRTMat4</a> <a class="code" href="classCPVRTModelPOD.html#a11">GetRotationMatrix</a>(
- 00455 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00456
- 00457 <span class="comment">/*!***************************************************************************</span>
- 00458 <span class="comment"> @Function GetScalingMatrix</span>
- 00459 <span class="comment"> @Output mOut Scaling matrix</span>
- 00460 <span class="comment"> @Input node Node to get the rotation matrix from</span>
- 00461 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00462 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00463 <span class="comment"> *****************************************************************************/</span>
- 00464 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a13">GetScalingMatrix</a>(
- 00465 <a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> &mOut,
- 00466 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00467
- 00468 <span class="comment">/*!***************************************************************************</span>
- 00469 <span class="comment"> @Function GetScalingMatrix</span>
- 00470 <span class="comment"> @Input node Node to get the rotation matrix from</span>
- 00471 <span class="comment"> @Returns Scaling matrix</span>
- 00472 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00473 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00474 <span class="comment"> *****************************************************************************/</span>
- 00475 <a class="code" href="structPVRTMat4.html">PVRTMat4</a> <a class="code" href="classCPVRTModelPOD.html#a13">GetScalingMatrix</a>(
- 00476 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00477
- 00478 <span class="comment">/*!***************************************************************************</span>
- 00479 <span class="comment"> @Function GetTranslation</span>
- 00480 <span class="comment"> @Output V Translation vector</span>
- 00481 <span class="comment"> @Input node Node to get the translation vector from</span>
- 00482 <span class="comment"> @Description Generates the translation vector for the given Mesh</span>
- 00483 <span class="comment"> Instance. Uses animation data.</span>
- 00484 <span class="comment"> *****************************************************************************/</span>
- 00485 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a15">GetTranslation</a>(
- 00486 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &V,
- 00487 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00488
- 00489 <span class="comment">/*!***************************************************************************</span>
- 00490 <span class="comment"> @Function GetTranslation</span>
- 00491 <span class="comment"> @Input node Node to get the translation vector from</span>
- 00492 <span class="comment"> @Returns Translation vector</span>
- 00493 <span class="comment"> @Description Generates the translation vector for the given Mesh</span>
- 00494 <span class="comment"> Instance. Uses animation data.</span>
- 00495 <span class="comment"> *****************************************************************************/</span>
- 00496 <a class="code" href="structPVRTVec3.html">PVRTVec3</a> <a class="code" href="classCPVRTModelPOD.html#a15">GetTranslation</a>(
- 00497 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00498
- 00499 <span class="comment">/*!***************************************************************************</span>
- 00500 <span class="comment"> @Function GetTranslationMatrix</span>
- 00501 <span class="comment"> @Output mOut Translation matrix</span>
- 00502 <span class="comment"> @Input node Node to get the translation matrix from</span>
- 00503 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00504 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00505 <span class="comment"> *****************************************************************************/</span>
- 00506 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a17">GetTranslationMatrix</a>(
- 00507 <a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> &mOut,
- 00508 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00509
- 00510 <span class="comment">/*!***************************************************************************</span>
- 00511 <span class="comment"> @Function GetTranslationMatrix</span>
- 00512 <span class="comment"> @Input node Node to get the translation matrix from</span>
- 00513 <span class="comment"> @Returns Translation matrix</span>
- 00514 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00515 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00516 <span class="comment"> *****************************************************************************/</span>
- 00517 <a class="code" href="structPVRTMat4.html">PVRTMat4</a> <a class="code" href="classCPVRTModelPOD.html#a17">GetTranslationMatrix</a>(
- 00518 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00519
- 00520 <span class="comment">/*!***************************************************************************</span>
- 00521 <span class="comment"> @Function GetTransformationMatrix</span>
- 00522 <span class="comment"> @Output mOut Transformation matrix</span>
- 00523 <span class="comment"> @Input node Node to get the transformation matrix from</span>
- 00524 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00525 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00526 <span class="comment"> *****************************************************************************/</span>
- 00527 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a19">GetTransformationMatrix</a>(<a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> &mOut, <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00528
- 00529 <span class="comment">/*!***************************************************************************</span>
- 00530 <span class="comment"> @Function GetWorldMatrixNoCache</span>
- 00531 <span class="comment"> @Output mOut World matrix</span>
- 00532 <span class="comment"> @Input node Node to get the world matrix from</span>
- 00533 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00534 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00535 <span class="comment"> *****************************************************************************/</span>
- 00536 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a20">GetWorldMatrixNoCache</a>(
- 00537 <a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> &mOut,
- 00538 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00539
- 00540 <span class="comment">/*!***************************************************************************</span>
- 00541 <span class="comment"> @Function GetWorldMatrixNoCache</span>
- 00542 <span class="comment"> @Input node Node to get the world matrix from</span>
- 00543 <span class="comment"> @Returns World matrix</span>
- 00544 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00545 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00546 <span class="comment"> *****************************************************************************/</span>
- 00547 <a class="code" href="structPVRTMat4.html">PVRTMat4</a> <a class="code" href="classCPVRTModelPOD.html#a20">GetWorldMatrixNoCache</a>(
- 00548 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00549
- 00550 <span class="comment">/*!***************************************************************************</span>
- 00551 <span class="comment"> @Function GetWorldMatrix</span>
- 00552 <span class="comment"> @Output mOut World matrix</span>
- 00553 <span class="comment"> @Input node Node to get the world matrix from</span>
- 00554 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00555 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00556 <span class="comment"> *****************************************************************************/</span>
- 00557 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a22">GetWorldMatrix</a>(
- 00558 <a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> &mOut,
- 00559 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &node) <span class="keyword">const</span>;
- 00560
- 00561 <span class="comment">/*!***************************************************************************</span>
- 00562 <span class="comment"> @Function GetWorldMatrix</span>
- 00563 <span class="comment"> @Input node Node to get the world matrix from</span>
- 00564 <span class="comment"> @Returns World matrix</span>
- 00565 <span class="comment"> @Description Generates the world matrix for the given Mesh Instance;</span>
- 00566 <span class="comment"> applies the parent's transform too. Uses animation data.</span>
- 00567 <span class="comment"> *****************************************************************************/</span>
- 00568 <a class="code" href="structPVRTMat4.html">PVRTMat4</a> <a class="code" href="classCPVRTModelPOD.html#a22">GetWorldMatrix</a>(<span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a>& node) <span class="keyword">const</span>;
- 00569
- 00570 <span class="comment">/*!***************************************************************************</span>
- 00571 <span class="comment"> @Function GetBoneWorldMatrix</span>
- 00572 <span class="comment"> @Output mOut Bone world matrix</span>
- 00573 <span class="comment"> @Input NodeMesh Mesh to take the bone matrix from</span>
- 00574 <span class="comment"> @Input NodeBone Bone to take the matrix from</span>
- 00575 <span class="comment"> @Description Generates the world matrix for the given bone.</span>
- 00576 <span class="comment"> *****************************************************************************/</span>
- 00577 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a24">GetBoneWorldMatrix</a>(
- 00578 <a class="code" href="classPVRTMATRIXf.html">PVRTMATRIX</a> &mOut,
- 00579 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &NodeMesh,
- 00580 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &NodeBone);
- 00581
- 00582 <span class="comment">/*!***************************************************************************</span>
- 00583 <span class="comment"> @Function GetBoneWorldMatrix</span>
- 00584 <span class="comment"> @Input NodeMesh Mesh to take the bone matrix from</span>
- 00585 <span class="comment"> @Input NodeBone Bone to take the matrix from</span>
- 00586 <span class="comment"> @Returns Bone world matrix</span>
- 00587 <span class="comment"> @Description Generates the world matrix for the given bone.</span>
- 00588 <span class="comment"> *****************************************************************************/</span>
- 00589 <a class="code" href="structPVRTMat4.html">PVRTMat4</a> <a class="code" href="classCPVRTModelPOD.html#a24">GetBoneWorldMatrix</a>(
- 00590 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &NodeMesh,
- 00591 <span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &NodeBone);
- 00592
- 00593 <span class="comment">/*!***************************************************************************</span>
- 00594 <span class="comment"> @Function GetCamera</span>
- 00595 <span class="comment"> @Output vFrom Position of the camera</span>
- 00596 <span class="comment"> @Output vTo Target of the camera</span>
- 00597 <span class="comment"> @Output vUp Up direction of the camera</span>
- 00598 <span class="comment"> @Input nIdx Camera number</span>
- 00599 <span class="comment"> @Return Camera horizontal FOV</span>
- 00600 <span class="comment"> @Description Calculate the From, To and Up vectors for the given</span>
- 00601 <span class="comment"> camera. Uses animation data.</span>
- 00602 <span class="comment"> Note that even if the camera has a target, *pvTo is not</span>
- 00603 <span class="comment"> the position of that target. *pvTo is a position in the</span>
- 00604 <span class="comment"> correct direction of the target, one unit away from the</span>
- 00605 <span class="comment"> camera.</span>
- 00606 <span class="comment"> *****************************************************************************/</span>
- 00607 <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="classCPVRTModelPOD.html#a26">GetCamera</a>(
- 00608 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &vFrom,
- 00609 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &vTo,
- 00610 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &vUp,
- 00611 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nIdx) <span class="keyword">const</span>;
- 00612
- 00613 <span class="comment">/*!***************************************************************************</span>
- 00614 <span class="comment"> @Function GetCameraPos</span>
- 00615 <span class="comment"> @Output vFrom Position of the camera</span>
- 00616 <span class="comment"> @Output vTo Target of the camera</span>
- 00617 <span class="comment"> @Input nIdx Camera number</span>
- 00618 <span class="comment"> @Return Camera horizontal FOV</span>
- 00619 <span class="comment"> @Description Calculate the position of the camera and its target. Uses</span>
- 00620 <span class="comment"> animation data.</span>
- 00621 <span class="comment"> If the queried camera does not have a target, *pvTo is</span>
- 00622 <span class="comment"> not changed.</span>
- 00623 <span class="comment"> *****************************************************************************/</span>
- 00624 <a class="code" href="PVRTFixedPoint_8h.html#a0">VERTTYPE</a> <a class="code" href="classCPVRTModelPOD.html#a27">GetCameraPos</a>(
- 00625 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &vFrom,
- 00626 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &vTo,
- 00627 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nIdx) <span class="keyword">const</span>;
- 00628
- 00629 <span class="comment">/*!***************************************************************************</span>
- 00630 <span class="comment"> @Function GetLight</span>
- 00631 <span class="comment"> @Output vPos Position of the light</span>
- 00632 <span class="comment"> @Output vDir Direction of the light</span>
- 00633 <span class="comment"> @Input nIdx Light number</span>
- 00634 <span class="comment"> @Description Calculate the position and direction of the given Light.</span>
- 00635 <span class="comment"> Uses animation data.</span>
- 00636 <span class="comment"> *****************************************************************************/</span>
- 00637 <span class="keywordtype">void</span> <a class="code" href="classCPVRTModelPOD.html#a28">GetLight</a>(
- 00638 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &vPos,
- 00639 <a class="code" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> &vDir,
- 00640 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nIdx) <span class="keyword">const</span>;
- 00641
- 00642 <span class="comment">/*!***************************************************************************</span>
- 00643 <span class="comment"> @Function GetLightPosition</span>
- 00644 <span class="comment"> @Input u32Idx Light number</span>
- 00645 <span class="comment"> @Return PVRTVec4 position of light with w set correctly</span>
- 00646 <span class="comment"> @Description Calculate the position the given Light. Uses animation data.</span>
- 00647 <span class="comment"> *****************************************************************************/</span>
- 00648 <a class="code" href="structPVRTVec4.html">PVRTVec4</a> <a class="code" href="classCPVRTModelPOD.html#a29">GetLightPosition</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> u32Idx) <span class="keyword">const</span>;
- 00649
- 00650 <span class="comment">/*!***************************************************************************</span>
- 00651 <span class="comment"> @Function GetLightDirection</span>
- 00652 <span class="comment"> @Input u32Idx Light number</span>
- 00653 <span class="comment"> @Return PVRTVec4 direction of light with w set correctly</span>
- 00654 <span class="comment"> @Description Calculate the direction of the given Light. Uses animation data.</span>
- 00655 <span class="comment"> *****************************************************************************/</span>
- 00656 <a class="code" href="structPVRTVec4.html">PVRTVec4</a> <a class="code" href="classCPVRTModelPOD.html#a30">GetLightDirection</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> u32Idx) <span class="keyword">const</span>;
- 00657
- 00658 <span class="comment">/*!***************************************************************************</span>
- 00659 <span class="comment"> @Function CreateSkinIdxWeight</span>
- 00660 <span class="comment"> @Output pIdx Four bytes containing matrix indices for vertex (0..255) (D3D: use UBYTE4)</span>
- 00661 <span class="comment"> @Output pWeight Four bytes containing blend weights for vertex (0.0 .. 1.0) (D3D: use D3DCOLOR)</span>
- 00662 <span class="comment"> @Input nVertexBones Number of bones this vertex uses</span>
- 00663 <span class="comment"> @Input pnBoneIdx Pointer to 'nVertexBones' indices</span>
- 00664 <span class="comment"> @Input pfBoneWeight Pointer to 'nVertexBones' blend weights</span>
- 00665 <span class="comment"> @Description Creates the matrix indices and blend weights for a boned</span>
- 00666 <span class="comment"> vertex. Call once per vertex of a boned mesh.</span>
- 00667 <span class="comment"> *****************************************************************************/</span>
- 00668 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTModelPOD.html#a31">CreateSkinIdxWeight</a>(
- 00669 <span class="keywordtype">char</span> * <span class="keyword">const</span> pIdx,
- 00670 <span class="keywordtype">char</span> * <span class="keyword">const</span> pWeight,
- 00671 <span class="keyword">const</span> <span class="keywordtype">int</span> nVertexBones,
- 00672 <span class="keyword">const</span> <span class="keywordtype">int</span> * <span class="keyword">const</span> pnBoneIdx,
- 00673 <span class="keyword">const</span> VERTTYPE * <span class="keyword">const</span> pfBoneWeight);
- 00674
- 00675 <span class="comment">/*!***************************************************************************</span>
- 00676 <span class="comment"> @Function SavePOD</span>
- 00677 <span class="comment"> @Input pszFilename Filename to save to</span>
- 00678 <span class="comment"> @Input pszExpOpt A string containing the options used by the exporter</span>
- 00679 <span class="comment"> @Input pszHistory A string containing the history of the exported pod file</span>
- 00680 <span class="comment"> @Description Save a binary POD file (.POD).</span>
- 00681 <span class="comment"> *****************************************************************************/</span>
- 00682 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="classCPVRTModelPOD.html#a32">SavePOD</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> pszFilename, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> pszExpOpt = 0, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> pszHistory = 0);
- 00683
- 00684 <span class="keyword">private</span>:
- 00685 SPVRTPODImpl *m_pImpl;
- 00686 };
- 00687
- 00688 <span class="comment">/****************************************************************************</span>
- 00689 <span class="comment">** Declarations</span>
- 00690 <span class="comment">****************************************************************************/</span>
- 00691
- 00692 <span class="comment">/*!***************************************************************************</span>
- 00693 <span class="comment"> @Function PVRTModelPODDataTypeSize</span>
- 00694 <span class="comment"> @Input type Type to get the size of</span>
- 00695 <span class="comment"> @Return Size of the data element</span>
- 00696 <span class="comment"> @Description Returns the size of each data element.</span>
- 00697 <span class="comment">*****************************************************************************/</span>
- 00698 size_t <a class="code" href="PVRTModelPOD_8h.html#a34">PVRTModelPODDataTypeSize</a>(<span class="keyword">const</span> EPVRTDataType type);
- 00699
- 00700 <span class="comment">/*!***************************************************************************</span>
- 00701 <span class="comment"> @Function PVRTModelPODDataTypeComponentCount</span>
- 00702 <span class="comment"> @Input type Type to get the number of components from</span>
- 00703 <span class="comment"> @Return number of components in the data element</span>
- 00704 <span class="comment"> @Description Returns the number of components in a data element.</span>
- 00705 <span class="comment">*****************************************************************************/</span>
- 00706 size_t <a class="code" href="PVRTModelPOD_8h.html#a35">PVRTModelPODDataTypeComponentCount</a>(<span class="keyword">const</span> EPVRTDataType type);
- 00707
- 00708 <span class="comment">/*!***************************************************************************</span>
- 00709 <span class="comment"> @Function PVRTModelPODDataStride</span>
- 00710 <span class="comment"> @Input data Data elements</span>
- 00711 <span class="comment"> @Return Size of the vector elements</span>
- 00712 <span class="comment"> @Description Returns the size of the vector of data elements.</span>
- 00713 <span class="comment">*****************************************************************************/</span>
- 00714 size_t <a class="code" href="PVRTModelPOD_8h.html#a36">PVRTModelPODDataStride</a>(<span class="keyword">const</span> <a class="code" href="classCPODData.html">CPODData</a> &data);
- 00715
- 00716 <span class="comment">/*!***************************************************************************</span>
- 00717 <span class="comment"> @Function PVRTModelPODGetAnimArraySize</span>
- 00718 <span class="comment"> @Input pAnimDataIdx</span>
- 00719 <span class="comment"> @Input ui32Frames</span>
- 00720 <span class="comment"> @Input ui32Components</span>
- 00721 <span class="comment"> @Return Size of the animation array</span>
- 00722 <span class="comment"> @Description Calculates the size of an animation array</span>
- 00723 <span class="comment">*****************************************************************************/</span>
- 00724 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="PVRTModelPOD_8h.html#a37">PVRTModelPODGetAnimArraySize</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *pAnimDataIdx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ui32Frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ui32Components);
- 00725
- 00726 <span class="comment">/*!***************************************************************************</span>
- 00727 <span class="comment"> @Function PVRTModelPODScaleAndConvertVtxData</span>
- 00728 <span class="comment"> @Modified mesh POD mesh to scale and convert the mesh data</span>
- 00729 <span class="comment"> @Input eNewType The data type to scale and convert the vertex data to</span>
- 00730 <span class="comment"> @Return PVR_SUCCESS on success and PVR_FAIL on failure.</span>
- 00731 <span class="comment"> @Description Scales the vertex data to fit within the range of the requested</span>
- 00732 <span class="comment"> data type and then converts the data to that type. This function</span>
- 00733 <span class="comment"> isn't currently compiled in for fixed point builds of the tools.</span>
- 00734 <span class="comment">*****************************************************************************/</span>
- 00735 <span class="preprocessor">#if !defined(PVRT_FIXED_POINT_ENABLE)</span>
- 00736 <span class="preprocessor"></span><a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="PVRTModelPOD_8h.html#a38">PVRTModelPODScaleAndConvertVtxData</a>(<a class="code" href="structSPODMesh.html">SPODMesh</a> &mesh, <span class="keyword">const</span> EPVRTDataType eNewType);
- 00737 <span class="preprocessor">#endif</span>
- 00738 <span class="preprocessor"></span><span class="comment">/*!***************************************************************************</span>
- 00739 <span class="comment"> @Function PVRTModelPODDataConvert</span>
- 00740 <span class="comment"> @Modified data Data elements to convert</span>
- 00741 <span class="comment"> @Input eNewType New type of elements</span>
- 00742 <span class="comment"> @Input nCnt Number of elements</span>
- 00743 <span class="comment"> @Description Convert the format of the array of vectors.</span>
- 00744 <span class="comment">*****************************************************************************/</span>
- 00745 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a39">PVRTModelPODDataConvert</a>(<a class="code" href="classCPODData.html">CPODData</a> &data, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nCnt, <span class="keyword">const</span> EPVRTDataType eNewType);
- 00746
- 00747 <span class="comment">/*!***************************************************************************</span>
- 00748 <span class="comment"> @Function PVRTModelPODDataShred</span>
- 00749 <span class="comment"> @Modified data Data elements to modify</span>
- 00750 <span class="comment"> @Input nCnt Number of elements</span>
- 00751 <span class="comment"> @Input pChannels A list of the wanted channels, e.g. {'x', 'y', 0}</span>
- 00752 <span class="comment"> @Description Reduce the number of dimensions in 'data' using the requested</span>
- 00753 <span class="comment"> channel array. The array should have a maximum length of 4</span>
- 00754 <span class="comment"> or be null terminated if less channels are wanted. Supported</span>
- 00755 <span class="comment"> elements are 'x','y','z' and 'w'. They must be defined in lower</span>
- 00756 <span class="comment"> case. It is also possible to negate an element, e.g. {'x','y', -'z'}.</span>
- 00757 <span class="comment">*****************************************************************************/</span>
- 00758 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a40">PVRTModelPODDataShred</a>(<a class="code" href="classCPODData.html">CPODData</a> &data, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nCnt, <span class="keyword">const</span> <span class="keywordtype">int</span> *pChannels);
- 00759
- 00760 <span class="comment">/*!***************************************************************************</span>
- 00761 <span class="comment"> @Function PVRTModelPODReorderFaces</span>
- 00762 <span class="comment"> @Modified mesh The mesh to re-order the faces of</span>
- 00763 <span class="comment"> @Input i32El1 The first index to be written out</span>
- 00764 <span class="comment"> @Input i32El2 The second index to be written out</span>
- 00765 <span class="comment"> @Input i32El3 The third index to be written out</span>
- 00766 <span class="comment"> @Description Reorders the face indices of a mesh.</span>
- 00767 <span class="comment">*****************************************************************************/</span>
- 00768 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a41">PVRTModelPODReorderFaces</a>(<a class="code" href="structSPODMesh.html">SPODMesh</a> &mesh, <span class="keyword">const</span> <span class="keywordtype">int</span> i32El1, <span class="keyword">const</span> <span class="keywordtype">int</span> i32El2, <span class="keyword">const</span> <span class="keywordtype">int</span> i32El3);
- 00769
- 00770 <span class="comment">/*!***************************************************************************</span>
- 00771 <span class="comment"> @Function PVRTModelPODToggleInterleaved</span>
- 00772 <span class="comment"> @Modified mesh Mesh to modify</span>
- 00773 <span class="comment"> @Input ui32AlignToNBytes Align the interleaved data to this no. of bytes.</span>
- 00774 <span class="comment"> @Description Switches the supplied mesh to or from interleaved data format.</span>
- 00775 <span class="comment">*****************************************************************************/</span>
- 00776 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a42">PVRTModelPODToggleInterleaved</a>(<a class="code" href="structSPODMesh.html">SPODMesh</a> &mesh, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ui32AlignToNBytes = 1);
- 00777
- 00778 <span class="comment">/*!***************************************************************************</span>
- 00779 <span class="comment"> @Function PVRTModelPODDeIndex</span>
- 00780 <span class="comment"> @Modified mesh Mesh to modify</span>
- 00781 <span class="comment"> @Description De-indexes the supplied mesh. The mesh must be</span>
- 00782 <span class="comment"> Interleaved before calling this function.</span>
- 00783 <span class="comment">*****************************************************************************/</span>
- 00784 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a43">PVRTModelPODDeIndex</a>(<a class="code" href="structSPODMesh.html">SPODMesh</a> &mesh);
- 00785
- 00786 <span class="comment">/*!***************************************************************************</span>
- 00787 <span class="comment"> @Function PVRTModelPODToggleStrips</span>
- 00788 <span class="comment"> @Modified mesh Mesh to modify</span>
- 00789 <span class="comment"> @Description Converts the supplied mesh to or from strips.</span>
- 00790 <span class="comment">*****************************************************************************/</span>
- 00791 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a44">PVRTModelPODToggleStrips</a>(<a class="code" href="structSPODMesh.html">SPODMesh</a> &mesh);
- 00792
- 00793 <span class="comment">/*!***************************************************************************</span>
- 00794 <span class="comment"> @Function PVRTModelPODCountIndices</span>
- 00795 <span class="comment"> @Input mesh Mesh</span>
- 00796 <span class="comment"> @Return Number of indices used by mesh</span>
- 00797 <span class="comment"> @Description Counts the number of indices of a mesh</span>
- 00798 <span class="comment">*****************************************************************************/</span>
- 00799 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="PVRTModelPOD_8h.html#a45">PVRTModelPODCountIndices</a>(<span class="keyword">const</span> <a class="code" href="structSPODMesh.html">SPODMesh</a> &mesh);
- 00800
- 00801 <span class="comment">/*!***************************************************************************</span>
- 00802 <span class="comment"> @Function PVRTModelPODToggleFixedPoint</span>
- 00803 <span class="comment"> @Modified s Scene to modify</span>
- 00804 <span class="comment"> @Description Switch all non-vertex data between fixed-point and</span>
- 00805 <span class="comment"> floating-point.</span>
- 00806 <span class="comment">*****************************************************************************/</span>
- 00807 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a46">PVRTModelPODToggleFixedPoint</a>(<a class="code" href="structSPODScene.html">SPODScene</a> &s);
- 00808
- 00809 <span class="comment">/*!***************************************************************************</span>
- 00810 <span class="comment"> @Function PVRTModelPODCopyCPODData</span>
- 00811 <span class="comment"> @Input in</span>
- 00812 <span class="comment"> @Output out</span>
- 00813 <span class="comment"> @Input ui32No</span>
- 00814 <span class="comment"> @Input bInterleaved</span>
- 00815 <span class="comment"> @Description Used to copy a CPODData of a mesh</span>
- 00816 <span class="comment">*****************************************************************************/</span>
- 00817 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a47">PVRTModelPODCopyCPODData</a>(<span class="keyword">const</span> <a class="code" href="classCPODData.html">CPODData</a> &in, <a class="code" href="classCPODData.html">CPODData</a> &out, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ui32No, <span class="keywordtype">bool</span> bInterleaved);
- 00818
- 00819 <span class="comment">/*!***************************************************************************</span>
- 00820 <span class="comment"> @Function PVRTModelPODCopyNode</span>
- 00821 <span class="comment"> @Input in</span>
- 00822 <span class="comment"> @Output out</span>
- 00823 <span class="comment"> @Input nNumFrames The number of animation frames</span>
- 00824 <span class="comment"> @Description Used to copy a pod node</span>
- 00825 <span class="comment">*****************************************************************************/</span>
- 00826 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a48">PVRTModelPODCopyNode</a>(<span class="keyword">const</span> <a class="code" href="structSPODNode.html">SPODNode</a> &in, <a class="code" href="structSPODNode.html">SPODNode</a> &out, <span class="keywordtype">int</span> nNumFrames);
- 00827
- 00828 <span class="comment">/*!***************************************************************************</span>
- 00829 <span class="comment"> @Function PVRTModelPODCopyMesh</span>
- 00830 <span class="comment"> @Input in</span>
- 00831 <span class="comment"> @Output out</span>
- 00832 <span class="comment"> @Description Used to copy a pod mesh</span>
- 00833 <span class="comment">*****************************************************************************/</span>
- 00834 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a49">PVRTModelPODCopyMesh</a>(<span class="keyword">const</span> <a class="code" href="structSPODMesh.html">SPODMesh</a> &in, <a class="code" href="structSPODMesh.html">SPODMesh</a> &out);
- 00835
- 00836 <span class="comment">/*!***************************************************************************</span>
- 00837 <span class="comment"> @Function PVRTModelPODCopyTexture</span>
- 00838 <span class="comment"> @Input in</span>
- 00839 <span class="comment"> @Output out</span>
- 00840 <span class="comment"> @Description Used to copy a pod texture</span>
- 00841 <span class="comment">*****************************************************************************/</span>
- 00842 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a50">PVRTModelPODCopyTexture</a>(<span class="keyword">const</span> <a class="code" href="structSPODTexture.html">SPODTexture</a> &in, <a class="code" href="structSPODTexture.html">SPODTexture</a> &out);
- 00843
- 00844 <span class="comment">/*!***************************************************************************</span>
- 00845 <span class="comment"> @Function PVRTModelPODCopyMaterial</span>
- 00846 <span class="comment"> @Input in</span>
- 00847 <span class="comment"> @Output out</span>
- 00848 <span class="comment"> @Description Used to copy a pod material</span>
- 00849 <span class="comment">*****************************************************************************/</span>
- 00850 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a51">PVRTModelPODCopyMaterial</a>(<span class="keyword">const</span> <a class="code" href="structSPODMaterial.html">SPODMaterial</a> &in, <a class="code" href="structSPODMaterial.html">SPODMaterial</a> &out);
- 00851
- 00852 <span class="comment">/*!***************************************************************************</span>
- 00853 <span class="comment"> @Function PVRTModelPODCopyCamera</span>
- 00854 <span class="comment"> @Input in</span>
- 00855 <span class="comment"> @Output out</span>
- 00856 <span class="comment"> @Input nNumFrames The number of animation frames</span>
- 00857 <span class="comment"> @Description Used to copy a pod camera</span>
- 00858 <span class="comment">*****************************************************************************/</span>
- 00859 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a52">PVRTModelPODCopyCamera</a>(<span class="keyword">const</span> <a class="code" href="structSPODCamera.html">SPODCamera</a> &in, <a class="code" href="structSPODCamera.html">SPODCamera</a> &out, <span class="keywordtype">int</span> nNumFrames);
- 00860
- 00861 <span class="comment">/*!***************************************************************************</span>
- 00862 <span class="comment"> @Function PVRTModelPODCopyLight</span>
- 00863 <span class="comment"> @Input in</span>
- 00864 <span class="comment"> @Output out</span>
- 00865 <span class="comment"> @Description Used to copy a pod light</span>
- 00866 <span class="comment">*****************************************************************************/</span>
- 00867 <span class="keywordtype">void</span> <a class="code" href="PVRTModelPOD_8h.html#a53">PVRTModelPODCopyLight</a>(<span class="keyword">const</span> <a class="code" href="structSPODLight.html">SPODLight</a> &in, <a class="code" href="structSPODLight.html">SPODLight</a> &out);
- 00868
- 00869 <span class="comment">/*!***************************************************************************</span>
- 00870 <span class="comment"> @Function PVRTModelPODFlattenToWorldSpace</span>
- 00871 <span class="comment"> @Input in - Source scene. All meshes must not be interleaved.</span>
- 00872 <span class="comment"> @Output out</span>
- 00873 <span class="comment"> @Description Used to flatten a pod scene to world space. All animation</span>
- 00874 <span class="comment"> and skinning information will be removed. The returned</span>
- 00875 <span class="comment"> position, normal, binormals and tangent data if present</span>
- 00876 <span class="comment"> will be returned as floats regardless of the input data</span>
- 00877 <span class="comment"> type.</span>
- 00878 <span class="comment">*****************************************************************************/</span>
- 00879 <a class="code" href="PVRTError_8h.html#a5">EPVRTError</a> <a class="code" href="PVRTModelPOD_8h.html#a54">PVRTModelPODFlattenToWorldSpace</a>(<a class="code" href="classCPVRTModelPOD.html">CPVRTModelPOD</a> &in, <a class="code" href="classCPVRTModelPOD.html">CPVRTModelPOD</a> &out);
- 00880
- 00881 <span class="preprocessor">#endif </span><span class="comment">/* _PVRTMODELPOD_H_ */</span>
- 00882
- 00883 <span class="comment">/*****************************************************************************</span>
- 00884 <span class="comment"> End of file (PVRTModelPOD.h)</span>
- 00885 <span class="comment">*****************************************************************************/</span>
- 00886
- </pre></div><br>
- <br>
- <P align=left><FONT size=2><STRONG><A
- href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> ©
- 1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
- <hr>
- <address style="align: left;"><small><FONT color=f0f>
- Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
- </body>
- </html>
|