トップページ > 過去ログ > 記事閲覧
3D時に画像
名前:獅子 日時: 2011/08/19 18:57

3D表示時にmi.pngを表示したいのですが出来ません。すいません、何がいけないのか教えて下さい。 int GrHandle ; GrHandle = LoadGraph( "mi.png" ) ; VERTEX3D Vertex[ 6 ] ; // 2ポリゴン分の頂点のデータをセット Vertex[ 0 ].pos = VGet( 0.0f, 1.0f, 0.0f ) ; Vertex[ 0 ].norm = VGet( 0.0f, 0.0f, -1.0f ) ; Vertex[ 0 ].dif = GetColorU8( 0.0f, 0.0f, 0.0f, 0.0f ) ; Vertex[ 0 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 0 ].u = 0.0f ; Vertex[ 0 ].v = 0.0f ; Vertex[ 0 ].su = 0.0f ; Vertex[ 0 ].sv = 0.0f ; Vertex[ 1 ].pos = VGet( 1024.0f, 1.0f, 0.0f ) ; Vertex[ 1 ].norm = VGet( 0.0f, 0.0f, -1.0f ) ; Vertex[ 1 ].dif = GetColorU8( 0.0f, 0.0f, 0.0f, 0.0f ) ; Vertex[ 1 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 1 ].u = 0.0f ; Vertex[ 1 ].v = 0.0f ; Vertex[ 1 ].su = 0.0f ; Vertex[ 1 ].sv = 0.0f ; Vertex[ 2 ].pos = VGet( 0.0f, 1.0f,1024.0f ) ; Vertex[ 2 ].norm = VGet( 0.0f, 0.0f, -1.0f ) ; Vertex[ 2 ].dif = GetColorU8( 0.0f, 0.0f, 0.0f, 0.0f ) ; Vertex[ 2 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 2 ].u = 0.0f ; Vertex[ 2 ].v = 0.0f ; Vertex[ 2 ].su = 0.0f ; Vertex[ 2 ].sv = 0.0f ; Vertex[ 3 ].pos = VGet( 1024.0f, 1.0f, 0.0f ) ; Vertex[ 3 ].norm = VGet( 0.0f, 0.0f, -1.0f ) ; Vertex[ 3 ].dif = GetColorU8( 0.0f, 0.0f, 0.0f, 0.0f ) ; Vertex[ 3 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 3 ].u = 0.0f ; Vertex[ 3 ].v = 0.0f ; Vertex[ 3 ].su = 0.0f ; Vertex[ 3 ].sv = 0.0f ; Vertex[ 4 ].pos = VGet( 0.0f, 1.0f,1024.0f ) ; Vertex[ 4 ].norm = VGet( 0.0f, 0.0f, -1.0f ) ; Vertex[ 4 ].dif = GetColorU8( 0.0f, 0.0f, 0.0f, 0.0f ) ; Vertex[ 4 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 4 ].u = 0.0f ; Vertex[ 4 ].v = 0.0f ; Vertex[ 4 ].su = 0.0f ; Vertex[ 4 ].sv = 0.0f ; Vertex[ 5 ].pos = VGet( 1024.0f, 1.0f,1024.0f ) ; Vertex[ 5 ].norm = VGet( 0.0f, 0.0f, -1.0f ) ; Vertex[ 5 ].dif = GetColorU8( 0.0f, 0.0f, 0.0f, 0.0f ) ; Vertex[ 5 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 5 ].u = 0.0f ; Vertex[ 5 ].v = 0.0f ; Vertex[ 5 ].su = 0.0f ; Vertex[ 5 ].sv = 0.0f ; VECTOR CameraPos ; // カメラの座標を初期化 CameraPos.x = 650.0f ; CameraPos.y = 300.0f ; CameraPos.z = 700.0f ; // ESCキーが押されるかウインドウが閉じられるまでループ while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) { // 画面をクリア ClearDrawScreen() ; // 方向キーでカメラの座標を移動 if( CheckHitKey( KEY_INPUT_UP ) == 1 ) { CameraPos.y += 20.0f ; } if( CheckHitKey( KEY_INPUT_DOWN ) == 1 ) { CameraPos.y -= 20.0f ; } if( CheckHitKey( KEY_INPUT_LEFT ) == 1 ) { CameraPos.x -= 20.0f ; } if( CheckHitKey( KEY_INPUT_RIGHT ) == 1 ) { CameraPos.x += 20.0f ; } // カメラの位置と注視点をセット、注視点は原点 SetCameraPositionAndTarget_UpVecY( CameraPos, VGet( 0.0f, 0.0f, 0.0f ) ) ; // 2ポリゴンの描画 DrawPolygon3D( Vertex, 2, GrHandle, TRUE ) ; }

Page: 1 |

Re: 3D時に画像 ( No.1 )
名前:いっち 日時:2011/08/19 22:37

ディフューズカラー(VERTEX3D::dif) が透明だとポリゴンは見えません。 透明以外の値を入れてください。 また、各テクスチャ座標(VERTEX3D::u,v)が 0.0f だと画像が正しく表示されません。 適切な値を入れてください。 それと GetColorU8 の引数は整数で 0〜255 の値です。
Re: 3D時に画像 ( No.2 )
名前:獅子 日時:2011/08/19 22:40

あ、こんなに間違えてましたか(;´Д`)すいません ありがとうございます!

Page: 1 |