プリミティブの詳細



DG_PRIM_TYPE  (← 現在３１種 )

/*********************************************************************************/

すべて接頭語として



DG_PRIM_    が つく。



･ 直線とポリゴンタイプ

    それぞれに５パターンの種類がある。





             単色   グロー   テクスチャ     グロー           グローテクスチャ

                                         テクスチャ      パースペクティブ補正

               

直線  LINE_   R2     G2 	T2	    GT2              GTQ2



3角形  POLY_  R3     G3         T3          GT3              GTQ3



四角形 POLY_  R4     G4         T4          GT4              GTQ4



 例） グローのみ四角形        DG_PRIM_POLY_G4



･スプライトタイプ

  常にカメラの方向を向く 

  SPRT3D1:３次元スプライト。頂点配列のvwでサイズを指定（＝正方形のみ）

  SPRT3D2:３次元スプライト。初期化時に頂点配列と同時にサイズ指定配列を必要とす

  

･メニュー表示用

MENU_SPRT  :メニュー表示用省サイズ型プリミティブ群

MENU_LINE  :システム側はＤＭＡに繋ぐことしか行なわない（＝２Ｄのみ）

MENU_LINE_G:パケット自体はPACKEDモードではなくREGLISTモードを使用している



･フリー

   自分で何もかも指定する。

   FREEPRIM



･その他

   VU1





/********************************************************************************/

必要な設定

○ 直線

   DG_PRIM_LINE_



      絶対必要なデータ

         ･ 位置(かならず  ライン数の2倍で  FVECTOR）

	      GM_MakePrim( , , ,  FVECTOR *pos,NULL) を指定。

		

              

    ･R2

	必要なデータ

  	   ･RGBA 指定。 

	       DG_SET_RGBA1



    ･G2

        必要なデータ

  	   ･RGBA 指定。 

	      DG_SET_RGBA1,DG_SET_RGBA2

                 

    ･T2

	必要なデータ

           ･色指定

	      DG_SET_RGBA1		

           ･テクスチャ情報

	      DG_SET_STQ1,DG_SET_STQ2;

           

    ･GT2

	必要なデータ

            ･色         DG_SET_RGBA1,DG_SET_RGBA2

            ･テクスチャ DG_SET_STQ1,DG_SET_STQ2;

    ･GTQ2

	必要なデータ。

            ･色         DG_SET_RGBA1,DG_SET_RGBA2

  	    ･テクスチャ 

                 基本的に DG_SET_STQではなく、

                GM_MakePrim( , , , , FVECTOR *uvs) で NULLの場所に指定。



                 注 DG_SET_STQで直接パケットに値をいれた場合、

                     パースペクティブ補正が自動で行われないので注意



○三角形

   DG_PRIM_POLY_

      絶対必要なデータ

         ･ 位置(かならず  ポリゴン数の3倍で  FVECTOR）

	      GM_MakePrim( , , ,  FVECTOR *pos,NULL) を指定。



    ･R3

	必要なデータ

  	   ･RGBA 指定。 

	       DG_SET_RGBA1



    ･G3

        必要なデータ

  	   ･RGBA 指定。 

	      DG_SET_RGBA1,DG_SET_RGBA2,DG_SET_RGBA3

                 

    ･T3

	必要なデータ

           ･色指定

	      DG_SET_RGBA1		

           ･テクスチャ情報

	      DG_SET_STQ1,DG_SET_STQ2,DG_SET_STQ3

           

    ･GT3

	必要なデータ

            ･色         DG_SET_RGBA1,DG_SET_RGBA2,DG_SET_RGBA3

            ･テクスチャ DG_SET_STQ1,DG_SET_STQ2,DG_SET_STQ3

    ･GTQ3

	必要なデータ。

            ･色         DG_SET_RGBA1,DG_SET_RGBA2,DG_SET_RGBA3

  	    ･テクスチャ 

                 基本的に DG_SET_STQではなく、

                GM_MakePrim( , , , , FVECTOR *uvs) で NULLの場所に指定。 

                 

                  注 DG_SET_STQで直接パケットに値をいれた場合、

                     パースペクティブ補正が自動で行われないので注意



○四角形

   DG_PRIM_POLY_

      絶対必要なデータ

         ･ 位置(かならず  ポリゴン数の4倍で  FVECTOR）

	      GM_MakePrim( , , ,  FVECTOR *pos,NULL) を指定。



    ･R4

	必要なデータ

  	   ･RGBA 指定。 

	       DG_SET_RGBA1



    ･G4

        必要なデータ

  	   ･RGBA 指定。 

	      DG_SET_RGBA1,DG_SET_RGBA2,DG_SET_RGBA3,DG_SET_RGBA4

                 

    ･T4

	必要なデータ

           ･色指定

	      DG_SET_RGBA1		

	      DG_SET_RGBA2

           ･テクスチャ情報

	      DG_SET_STQ1,DG_SET_STQ2,DG_SET_STQ3,DG_SET_STQ4

           

    ･GT4

	必要なデータ

            ･色         DG_SET_RGBA1,DG_SET_RGBA2,DG_SET_RGBA3,DG_SET_RGBA4

            ･テクスチャ DG_SET_STQ1,DG_SET_STQ2,DG_SET_STQ3,DG_SET_STQ4

    ･GTQ4

	必要なデータ。

            ･色         DG_SET_RGBA1,DG_SET_RGBA2,DG_SET_RGBA3,DG_SET_RGBA4

  	    ･テクスチャ 

                 基本的に DG_SET_STQではなく、

                GM_MakePrim( , , , , FVECTOR *uvs) で NULLの場所に指定。 

                 

                  注 DG_SET_STQで直接パケットに値をいれた場合、

                     パースペクティブ補正が自動で行われないので注意



○スプライト

  DG_PRIM_

  ･SPRT3D1 ：

	GM_MakePrim( , , ,FVECTOR *pos, NULL ) ;



	必要なデータ 

           ･位置     posで指定（ スプライトの中心位置 )

           ･色       RGBA 1個

           ･サイズ   pos->vw にサイズを入れる。

	   

         テクスチャを使用するときは、

               DG_SET_STQ1,DG_SET_STQ2 で 対角を指定する。            

	

  ･SPRT3D2

        GM_MakePrim( , , ,FVECTOR *pos, FVECTOR *size) ;



        必要なデータ

           ･位置     posで指定 (スプライトの中心位置)

	   ･色       RGBA  1個

           ･サイズ   sizeに代入。

           

        テクスチャを使用するときは、

               SPRT3D1と同じ.



○フリー

  DG_PRIM_FREEPRIM

      パケット内を自分で指定。



後 わからないところがあれば、田中 秀幸（通称  ビッグ）まで 質問にきてください。

