0001: // ---------------------------------------------------------------------------
0002: // tms.h
0003: //      T-pot engine MeSh format
0004: // ---------------------------------------------------------------------------
0005: #ifndef __TE_TMS_H__
0006: #define __TE_TMS_H__
0007: 
0008: #include "TE/te_model.h"
0009: #include "te_tem_struct.h"
0010: 
0011: namespace Te
0012: {
0013:     // -----------------------------------------------------------------------
0014:     // 実機
0015:     // -----------------------------------------------------------------------
0016:     class CTms
0017:     {
0018:     protected:
0019:         unsigned int _nVertex;
0020:         const float *_pPosition; // 位置座標配列へのポインタ
0021:         const float *_pNormal;   // 法線ベクトル配列へのポインタ
0022:         const float *_pTexCoord; // テクスチャ座標配列へのポインタ
0023:         
0024:         // Vertex Buffer Object の名前
0025:         unsigned int    _nVBOPosition;                      // 位置座標 VBO 名
0026:         unsigned int    _nVBONormal;                        // 法線ベクトル VBO 名
0027:         unsigned int    _nVBOTexCoord;                      // テクスチャ座標 VBO 名
0028:         
0029:         unsigned int    _iDisplayList;                      // ディスプレイリストのID
0030: 
0031:         static bool _fVBOSupported; // VBO のサポート状況
0032:         
0033:         void BuildVBOs();           // 頂点データをグラフィックスカードのメモリに格納する。
0034:         static void CheckDeviceAbility(); // サポート状況を調べる初期化時に実行
0035:         
0036:     public:
0037:          CTms( const PTMS_DATA p );
0038:         ~CTms();
0039:         
0040:         static void Initialize();
0041:         void Render();          // 描画
0042:     };
0043:     
0044: }// namespace Te
0045: #endif //!__TE_TMS_H__
0046: