Direct 3D
■ このスレッドは過去ログ倉庫に格納されています
0001.
01/11/09 17:06ID:wrfy6OtCとりあえずDX8以降は初期化が簡単になったり関数が変わったり
結構大幅に変わりましたがその辺も踏まえてお願いします。
0359名前は開発中のものです。
04/02/02 23:37ID:qCykuM3XDirectXだけ勉強してゲームは作れるんでしょうか?
0360オレー
04/02/03 00:26ID:lqBJLK7tわかりやすく言うと、DirectXはゲームとかにつかう命令のセットだ!
コントローラーのボタンを読め!とか、ポリゴンを描け!とか命令するとやってくれる。
C++とか他の言語で、その命令を呼んでやるわけだが、そーいうもんだから呼ぶために言語も勉強しろ!!
0361289
04/02/03 01:28ID:pyweXtofそれとも、C++でもできることを簡単にするように使うのがDirectXですか?
とりあえず言語は覚えてみます。
0362オレー
04/02/03 01:38ID:aqfOOcxzとりあえず、基本的なとこでいいから、てきとーに言語覚えてからすぐSDKについてるサンプルをビルドしろ!
そんで改造していくと覚えるの速いぞ。マジお勧めなこれ
0363X
04/02/03 01:40ID:low7AtO4X,Y,Z 10,6,30 のMAPにおいてfor文で回してMAP情報を書き込んだ3次元配列から
データを読み取ってブロック表示しているのですが。
ここで今まで書き込ませて戴きましたが、皆さんとても豊富な知識をお持ちのようで。
そこで大変ご迷惑だとは思いますがE-mailに乗せてあるアドレスで私はメッセンジャーを
使っておりましてもしよろしければ私のプログラムを見てもらいましてアドバイスをいただきたいのですが。
大変ご迷惑な事、ずうずうしい事とは承知しつつもし見て戴ける方が居られましたらお願いいたします。
0364名前は開発中のものです。
04/02/03 02:16ID:6qjzgiJc0365名前は開発中のものです。
04/02/03 02:42ID:V33o00bN0366名前は開発中のものです。
04/02/03 10:02ID:nvDFyoS5わざわざメールでやりとりなんて疲れるから
http://cgi.f6.aaacafe.ne.jp/~pyuav/php/upload.php
うpしる!
0367X
04/02/03 11:14ID:q1OWKOSR// DrawMain - 描画メイン
// この関数は1フレームごとに呼び出されます
void DrawMain(){
// バックバッファと Z バッファをクリア
lpD3DDEV->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,0,0),1.0f,0);
// 描画開始
lpD3DDEV->BeginScene();
D3DXMATRIX matWorld,matRotateX,matTrans,matView;
0368X
04/02/03 11:14ID:q1OWKOSRstatic float BectolX=3,BectolY=0,BectolZ=8;
// 視点は (0,0,0) にあり、(0,0,5) の方向を向く
D3DXMatrixLookAtLH(&matView,&D3DXVECTOR3(PlayX,PlayY,PlayZ),&D3DXVECTOR3(BectolX,BectolY,BectolZ),&D3DXVECTOR3(0,1,0));
// プロジェクション行列を設定
D3DXMATRIX matProj;
// 視界 60 度、近くの限界 0.1、遠くの限界 100.0
D3DXMatrixPerspectiveFovLH(&matProj,60.0f * PI / 180.0f,1.0f,0.1f,100.0f);
// 各行列を設定
lpD3DDEV->SetTransform(D3DTS_VIEW,&matView);
lpD3DDEV->SetTransform(D3DTS_PROJECTION,&matProj);
0369名前は開発中のものです。
04/02/03 22:31ID:Dj4DkP/N0370名前は開発中のものです。
04/02/03 23:32ID:/6vJImFbBectol → Vector
0371オレー
04/02/03 23:34ID:VYXMEMW70372名前は開発中のものです。
04/02/03 23:53ID:pACG0/A5英語力の問題でもないような。
途中までだけどなんか根本的に
わかってないような気がする。
0373名前は開発中のものです。
04/02/04 00:08ID:8XXIUaLnそう?とりあえずここまでのソースは問題なさそうな感じだけど。
細かくはみてないけど。
0374名前は開発中のものです。
04/02/04 00:25ID:yUu1C7Gnだってベクトルって言葉は知ってるのに
D3DXVECTOR3をベクトルって気付かないまま使ってるのはどうかと思う。
float x 3 使っちゃってるし。
サンプルか何かを見ながら
よくわからないままコーディングしてる気がする。
0375名前は開発中のものです。
04/02/04 00:40ID:8XXIUaLnいや、さすがにそれだけじゃ判断できないって。
0376名前は開発中のものです。
04/02/04 01:22ID:S4gpfpmIどんな力を利用してでも自分の周りから遠ざけるけどな。
0377名前は開発中のものです。
04/02/04 02:01ID:yUu1C7Gn問題ないと思うならメッセンジャーでアドバイスしてあげてよ。
0378名前は開発中のものです。
04/02/04 07:36ID:r/i/wFB80379X
04/02/04 08:32ID:TUjDrKublpD3DDEV->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,0,0),1.0f,0);
lpD3DDEV->BeginScene();
D3DXMATRIX matWorld,matRotateX,matTrans,matView;
static float PlayX=12,PlayY=10,PlayZ=-8;
static float BectolX=3,BectolY=0,BectolZ=8;
D3DXMatrixLookAtLH(&matView,&D3DXVECTOR3(PlayX,PlayY,PlayZ),&D3DXVECTOR3(BectolX,BectolY,BectolZ),&D3DXVECTOR3(0,1,0));
D3DXMATRIX matProj;
D3DXMatrixPerspectiveFovLH(&matProj,60.0f * PI / 180.0f,1.0f,0.1f,100.0f);
lpD3DDEV->SetTransform(D3DTS_VIEW,&matView);
lpD3DDEV->SetTransform(D3DTS_PROJECTION,&matProj);
// MAP表示
int X,Y,Z;//各座標ループ用
lpD3DDEV->SetTexture(0,BLOCK01texture);
for(Z=0;Z<2;Z++){
for(Y=0;Y<6;Y++){
for(X=0;X<10;X++){
switch(MAP[Z][Y][X][1]){
case 111:PrintBLOCK(&matTrans,&matWorld,Z,Y,X,0,6);break;
case 211:PrintBLOCK(&matTrans,&matWorld,Z,Y,X,6,12);break;
case 311:PrintBLOCK(&matTrans,&matWorld,Z,Y,X,12,18);break;
case 411:PrintBLOCK(&matTrans,&matWorld,Z,Y,X,18,24);break;
case 511:PrintBLOCK(&matTrans,&matWorld,Z,Y,X,24,30);break;
case 611:PrintBLOCK(&matTrans,&matWorld,Z,Y,X,30,36);break;
}}}
po=1;
FrameCnt();
lpD3DDEV->EndScene();
if (FAILED(lpD3DDEV->Present(NULL,NULL,NULL,NULL))){lpD3DDEV->Reset(¶m);}
}
0380X
04/02/04 08:35ID:TUjDrKub改行が多くて乗せれないみたいなことがでてしまい時間がかかりました。
皆さんアドバイスお願いいたします。
MAP表示のSelect文のcaseはあともっとあります。
0381名前は開発中のものです。
04/02/04 09:12ID:S4gpfpmID3Dより先にC言語を勉強するべき
0382名前は開発中のものです。
04/02/04 09:43ID:+5PC35hU#define BLOCK_SIZE_Y (1.0f)
#define BLOCK_SIZE_Z (1.0f)
CUSTOMVERTEX *pcv = (CUSTOMVERTEX *)locked_ptr; // 頂点バッファが望ましい
for(Z=0;Z<2;Z++){
for(Y=0;Y<6;Y++){
for(X=0;X<10;X++){
if( MAP[Z][Y][X] != 0 ) { // 描画するか否か
float x = X*BLOCK_SIZE_X;
float y = Y*BLOCK_SIZE_Y;
float z = Z*BLOCK_SIZE_Z;
D3DCOLOR c;
float tu,tv;
// 立方体を構成 (カラー、UVは適当に設定)
(*pcv++) = CUSTOMVERTEX( x, y, z, c, tu,tv );
(*pcv++) = CUSTOMVERTEX( x, y+BLOCK_SIZE_Y, z, c, tu, tv );
(*pcv++) = CUSTOMVERTEX( x+BLOCK_SIZE_X, y+BLOCK_SIZE_Y, z, c, tu, tv );
(*pcv++) = CUSTOMVERTEX( x+BLOCK_SIZE_X, y, z, c, tu, tv );
:
:
poly_counter += 1ブロックあたりのポリゴン数;
}
}}}
DrawPrimitive( QUADLIST, poly_counter );
もしくは1ブロックごとにD3DTS_WORLDを更新してDrawPrimitive系()を複数回呼ぶ。
・・・俺はなにか勘違いしてるんだろうか
0383名前は開発中のものです。
04/02/04 14:21ID:fWwu0COO0384名前は開発中のものです。
04/02/04 22:39ID:uFnV7/G9漏れダメかもしんない。
0385X
04/02/05 14:10ID:6C1zUxy0どこか教えて戴けないでしょうか。
0386名前は開発中のものです。
04/02/05 14:15ID:8EbK+SUSswitchの事だと思うけど。
あと、PrintBLOCK()の中身の一部を晒しつつ
トリップつけてみてよ
0387X
04/02/05 14:40ID:6C1zUxy0int HF,W,WF,O;
HF=H+2;W=H+2;WF=H+4;O=H+4;
if(MAP[MapZ][MapY][MapX][0]==1){H++;}
・
for( ;H<HF;H++){
D3DXMatrixTranslation(matTrans,MoveX[MapZ][MapY][MapX],MoveY[MapZ][MapY][MapX],MoveZ[MapZ][MapY][MapX]);
*matWorld = *matTrans;
lpD3DDEV->SetTransform(D3DTS_WORLD,matWorld);
lpD3DDEV->SetStreamSource(0,vb[H],0,sizeof(LVERTEX));
lpD3DDEV->DrawPrimitive(D3DPT_TRIANGLEFAN,0,2);
}
for( ;W<WF;W++){
D3DXMatrixTranslation(matTrans,MoveX[MapZ][MapY][MapX],MoveY[MapZ][MapY][MapX],MoveZ[MapZ][MapY][MapX]);
*matWorld = *matTrans;
lpD3DDEV->SetTransform(D3DTS_WORLD,matWorld);
lpD3DDEV->SetStreamSource(0,vb[W],0,sizeof(LVERTEX));
lpD3DDEV->DrawPrimitive(D3DPT_TRIANGLEFAN,0,2);
}
for( ;O<OF;O++){
D3DXMatrixTranslation(matTrans,MoveX[MapZ][MapY][MapX],MoveY[MapZ][MapY][MapX],MoveZ[MapZ][MapY][MapX]);
*matWorld = *matTrans;
lpD3DDEV->SetTransform(D3DTS_WORLD,matWorld);
lpD3DDEV->SetStreamSource(0,vb[O],0,sizeof(LVERTEX));
lpD3DDEV->DrawPrimitive(D3DPT_TRIANGLEFAN,0,2);
}
}
こんな感じです。LPDIRECT3DVERTEXBUFFER9 vb[]がグローバルでvb[1800]確保していてその変数の中に頂点データを格納してます。
379のfor文のZが少しおかしかったです。終了条件は30でした。
if文の・はその数値によって立方体のどの面を表示しないかを設定してます。
0388名前は開発中のものです。
04/02/05 15:01ID:8EbK+SUS1つじゃだめなの?
0389名前は開発中のものです。
04/02/05 15:14ID:/vLOTadAもうネタとしか思えない。
0390名前は開発中のものです。
04/02/05 15:18ID:yFFdfEYaあと、もし毎フレームごとに頂点バッファ作っているようなら、
背景みたいに変形しないモデルなら、最初に全てのポリゴンを含んだ頂点バッファを
1つ作っておいて、それをDrawPrimitiveで描画したほうが手間がかからないよ。
0391名前は開発中のものです。
04/02/05 15:53ID:8EbK+SUSブロック[0,0,0]の 常に描画する6ポリゴン
ブロック[0,0,0]の flag!=1の時だけ描画する6ポリゴン
ブロック[1,0,0]の 常に描画する6ポリゴン
ブロック[1,0,0]の flag!=1の時だけ描画する6ポリゴン
ブロック[2,0,0]の 常に描画する6ポリゴン
ブロック[2,0,0]の flag!=1の時だけ描画する6ポリゴン
:
void DrawMain() {
lpD3DDEV->SetStreamSource(0,vb,0,sizeof(LVERTEX));
for(Z=0;Z<2;Z++){
for(Y=0;Y<6;Y++){
for(X=0;X<10;X++){
PrintBLOCK(Z,Y,X);
}}}
}
void PrintBLOCK( int MapZ, int MapY, int MapX ) {
D3DXMATRIX matWorld;
D3DXMatrixTranslation(&matWorld, MoveX[MapZ][MapY][MapX], MoveY[MapZ][MapY][MapX], MoveZ[MapZ][MapY][MapX]);
lpD3DDEV->SetTransform(D3DTS_WORLD, &matWorld);
int StartVertex = (((CAP_X * CAP_Y) * MapZ) + (CAP_X + MapY) + MapX) * 12;
int PrimitiveCount = (MAP[MapZ][MapY][MapX][0]==1)? 6 : 12;
lpD3DDEV->DrawPrimitive(D3DPT_TRIANGLEFAN, StartVertex, PrimitiveCount);
}
0392名前は開発中のものです。
04/02/05 16:14ID:8EbK+SUS× :
int StartVertex = (((CAP_X * CAP_Y) * MapZ) + (CAP_X + MapY) + MapX) * 12;
lpD3DDEV->DrawPrimitive(D3DPT_TRIANGLEFAN, StartVertex, PrimitiveCount);
○ :
#define TRIANGLE_NUM (12) // 1ブロックを構成するポリゴン数
#define VERTEX_NUM (3) // 1トライアングルを構成する頂点数
int StartVertex = (((CAP_X * CAP_Y) * MapZ) + (CAP_X * MapY) + MapX) * TRIANGLE_NUM * VERTEX_NUM;
lpD3DDEV->DrawPrimitive(D3DPT_TRIANGLELIST, StartVertex, PrimitiveCount);
0393X
04/02/06 09:41ID:0X7fE0LVMAP情報(ブロックの大きさ、表示面FLG)をtxtから読み込んで表示させています。
1ブロック分の頂点データでMAP表示をしたところポリゴン数が多かったので
違う大きさのブロックを用意してポリゴン数を減らそうとしました。
0394X
04/02/07 12:19ID:HQxh50cdポリゴン数は500強まで抑えれたのですが全然FPSがでません。
原因として考えられるものを見たのですがわかりません。
たとえばどんなことをすればFPSがでないのでしょうか。
どなたか教えていただけませんでしょうか。
0395名前は開発中のものです。
04/02/07 12:23ID:CLQE2Fb+だから500ぽっちのポリ数で処理オチなんてするわけないでしょ。
なんでわからんのかねチミ。
原因は別のところにあるのだよ。
0396名前は開発中のものです。
04/02/07 12:31ID:cF8RWyca0397名前は開発中のものです。
04/02/07 12:36ID:o6RXyTttその上で、
PCやグラボがショボイってことは無い?MSのサンプルはきちんと動く?HELで動かしてない?
初期化の段階で一度、定義取得すればいいような処理を、毎回やってない?
無駄にループ処理が多くない?ループの外に出せる処理をループ内でやってない?
0398名前は開発中のものです。
04/02/07 16:09ID:VKCT6fFPどうにも解決できない希ガス
0399X
04/02/08 03:00ID:VlGbZ8etそういった事をしたことがなくて少しびびってます。
0400名前は開発中のものです。
04/02/08 03:17ID:FsAxusDH0401名前は開発中のものです。
04/02/08 03:18ID:X73WE+nW0402名前は開発中のものです。
04/02/08 03:45ID:jR1jDgu/0403名前は開発中のものです。
04/02/08 04:30ID:UH78BtVm0404デフォルトの名無しさん
04/02/08 07:38ID:EfTOxtBwそりゃ遊星だろw
0405名前は開発中のものです。
04/02/08 07:46ID:Bpmlhhr/座布団一枚。
0406名前は開発中のものです。
04/02/08 10:16ID:tWxjYBblもういちど言い直してみてくれ・・・
0407名前は開発中のものです。
04/02/08 12:05ID:OMvVX0nSはたして彼は、今までに出たアドバイスを試すことができたのだろうか?
0408X
04/02/08 12:46ID:1SC30ugo日本語がおかしいのは実は1ヶ月ほど1日の睡眠時間が3時間程度の状態
が続いてるからです。それとネタ的なプログラムな事は3Dのプログラム
に関してまだ触って3ヶ月だからです。あと私の理解力のなさからです。
ビルボードに関しては試させて戴きました。まだカメラを移動させてそれに
大してビルボードされておりませんが。
0409名前は開発中のものです。
04/02/08 13:59ID:Bpmlhhr/0410名前は開発中のものです。
04/02/08 14:49ID:6M6RYNuz0411名前は開発中のものです。
04/02/08 15:47ID:P2w3BnL9釣 り な 気 が し て き た
0412X
04/02/08 18:32ID:nsvaA+4rあと数日である程度動く物にしなければいけません。
誠に自分勝手ではございますがもしよければメッセンジャーでアドバイスを戴けないでしょうか。
あと数日は寝ずにがんばっておりますので入って下されば絶対います。
当然メッセンジャーに入って気が向いてる時だけアドバイスして戴けるだけで結構です。
本当にご迷惑だとは思いますが10秒でも20秒でもアドバイスして戴きたい状態です。
もしアドバイスしてやってもいいと思われる方が居られましたらお願い致します。
0413名前は開発中のものです。
04/02/08 18:53ID:2mWO52jYゲーム製作技術@2ch掲示板避難所の アップローダ
ttp://gamdev.org/up/upload.php
0414名前は開発中のものです。
04/02/08 20:18ID:Xhkqx59O切羽詰った状況とは何だ?
答えなさい。話はそれからだ。
0415名前は開発中のものです。
04/02/08 20:27ID:0s9yjcTAであのレベルじゃあと数日じゃどうにもならんだろ。
いっそもう他人に頼んじゃったほうがいいんじゃない?
アドバイスでどうにかなるレベルじゃない。
0416X
04/02/08 20:43ID:AyXCEV6tオープンソース的な状態でどんどんそのゲームを進化させていきたいと
思っております。それまではソースを完全公開は避けたいので
メッセンジャーでアドバイスを戴ける方だけに渡したいと思っております。
正確には何日後かわかりませんが数日後にある程度完成した作品を
とある場所で公開するのでそれまでにという思いです。
0417名前は開発中のものです。
04/02/08 21:02ID:0s9yjcTAだとしたら数日後じゃなくてもいいじゃない。
全くダメなんでもっと修行したほうがいいよ。
あんなのオープンソースにしても意味がない。
それともやっぱりネタですか?
0418名前は開発中のものです。
04/02/08 21:05ID:1IkWSScj学校の宿題なら手伝えないでしょ
0419名前は開発中のものです。
04/02/08 21:08ID:OMvVX0nSここでゲームプログラム作っている人達は、他人のソースは参考にしても、それを
拡張してまでゲーム作ったりする人は少ないんじゃない?
最初から作ったほうが面白いし、俺イズムなコーディングできるから。
0420X
04/02/08 21:44ID:AyXCEV6tまず宿題ではありません。ゲームを作る宿題があると思われてるということは
そういった学校に通われてると思われてるみたいですね。
私は大学生で趣味でゲームを作っております。しかし今回の作品は私と知人2人の3人で作っているものでして
新しくHPを作って目玉としてオープンソース的なゲームプログラムを公開します。
公開日は今週の水曜日の18時です。メンバが各々違う処理を担当しており
最初最低限の仕様を決めてそこまで作り上げて公開ということです。
今まで公開日が伸びてしまい最終的な公開日が今週の水曜になっています。
私が最低限するべくレベルまで出来ていない状況なのでアドバイスを戴けたらと
思い書き込ませていただきました。
0421名前は開発中のものです。
04/02/08 21:51ID:DCWz8J9a0422名前は開発中のものです。
04/02/08 21:52ID:OMvVX0nSコンピュータ関連の会社だったら修羅場になっちゃうけど。
↓
Flash「新世紀エヴァングラマー」
http://crybaby-sakura.hp.infoseek.co.jp/flash/eva.html
0423名前は開発中のものです。
04/02/08 21:53ID:K5PzK6gp0424名前は開発中のものです。
04/02/08 21:55ID:pUbFdPa3私のノートパソコンはDirect3D対応していないのですが
(お兄ちゃんから貰ったもので古いんです)
うっかりDirect3D対応のゲームを買ってしまいました。
あきらめるしかないのでしょうか?
Direct3Dの確認はdxdiagってやつで見ました。
Direct3Dアクセラレータ利用できません。
って書いていました。
デバイス名はTridentVideoAccelerator9525DVD 5.6070.26
ってあります。
お兄ちゃんはあきらめろって言ってたんですが
もったいないので助けてください!
0425名前は開発中のものです。
04/02/08 21:57ID:K5PzK6gpしょうがないと思うけど。
0426名前は開発中のものです。
04/02/08 22:13ID:Bpmlhhr/http://www.google.co.jp/search?num=50&lr=lang_ja&q=お兄ちゃんどいて!そいつ殺せない!
0427名前は開発中のものです。
04/02/08 22:42ID:lI5pQUKpビデオカードが対応してないんだから
どうあがいても無理。
そんなことよりおじちゃんと遊ばない?
0428名前は開発中のものです。
04/02/08 22:51ID:OMvVX0nSパソコン初心者版
http://pc2.2ch.net/pcqa/
そちらの質問スレで尋ねた方がいいんじゃない?ノートパソコンだと難しいと思うけど・・・
0429名前は開発中のものです。
04/02/08 22:58ID:jR1jDgu/0430名前は開発中のものです。
04/02/09 00:11ID:h+IssnCf0431名前は開発中のものです。
04/02/09 13:42ID:DNtgH3z+大阪府の人?
0432X
04/02/11 01:35ID:RvFWUtYj0433名前は開発中のものです。
04/02/11 14:32ID:FwrI7GbYちょっとワラタ
俺も今度どこかで質問するときは妹のフリをしよう。
0434名前は開発中のものです。
04/02/12 23:29ID:ZfdN/mCD0435デフォルトの名無しさん
04/02/13 00:02ID:s0TZDiXwD3DX
0436名前は開発中のものです。
04/02/13 01:15ID:FlhNvr4y0437名前は開発中のものです。
04/02/13 08:44ID:DZhOTV1Zなので、原理をパクって、ソースは自作。
0438名前は開発中のものです。
04/02/13 09:12ID:SH5YdBQJ気力的に続かなくなる。ゲーム作ることに気力を割いた方がいいよ。
0439名前は開発中のものです。
04/02/18 13:34ID:p73oUtCqif( BillBoard.x<0.0f){
rad = (float)acos(D3DXVec3Dot(&BillBoard, &sBillBoard)/(D3DXVec3Length(&sBillBoard)*D3DXVec3Length(&BillBoard)));
}else{
rad = -(float)acos(D3DXVec3Dot(&BillBoard, &sBillBoard)/(D3DXVec3Length(&sBillBoard)*D3DXVec3Length(&BillBoard)));
}
D3DXMatrixRotationY(&mRotateY, rad);
}
これで平面におけるビルボードはできているのですが
カメラの位置がXYZどの方向に移動してもそちらへ向くための数式を
誰か教えていただけませんか。
0440名前は開発中のものです。
04/02/18 16:09ID:0iEToC7t0441名前は開発中のものです。
04/02/18 17:12ID:6LPAs+mf0442名前は開発中のものです。
04/02/18 18:27ID:4Zkw2dJi>>336 >>351 >>354
0443匿名君
04/02/20 01:07ID:63doXt8Jこんな画像を
http://www.xxxx.nu/upload/upload.cgi?page=Download&dir=&sort=date&filename=flare.JPG
こんな風に
http://www.xxxx.nu/upload/upload.cgi?page=Download&dir=&sort=date&filename=ViwP.JPG
表示したいんですがやり方がわからないので助言していただけたらなと。
黒色のアルファを透明色にしたらいい?のかな?
出来れば、頂点シェーダーを使わないでやりたいのですができますでしょうか?
スプライトだけとかでできませんかね?
0444名前は開発中のものです。
04/02/20 01:12ID:cjTWv5RLただの加算ブレンドだと思われ。
ここなんかいいと思われ
http://platz.jp/~moal/old.html
0446445
04/02/21 22:42ID:DrvAnV60しかしながら、常に画面手前に表示されてしまいます。
SetVertexShader(FVF_LVERTEX) と SetTexture(0,Img); つかってやることは出来ないでしょうか?
スプライトで3Dの表現は難しいですか?
0447名前は開発中のものです。
04/02/21 22:46ID:Dt5hTRW3どうも何がやりたいのかがよく分からないんだが、、
エフェクトなら画面一番手前に表示されるのが普通じゃないのか?
0448445
04/02/21 22:49ID:DrvAnV60上げてすいません
0450名前は開発中のものです。
04/02/27 21:28ID:CEfjX1WV宿題・・・ですかね、期日も決まってるしなんか変
0451名前は開発中のものです。
04/02/28 15:16ID:UeeMPs1bピクセル単位の凹凸と映り込みの表現を、シェーダとキューブマップを使って再現
したいのですが、バンプ等に使用するノーマルマップを参照してキューブマップを
ピクセル単位で貼り付けるなんてことは、シェーダで可能なんでしょうか?
0452名前は開発中のものです。
04/03/01 05:59ID:/hzutH0D0453名前は開発中のものです。
04/03/06 09:36ID:SFWQB4Uj影響を受けなくなりました。ライトの強さを100倍にしたら
普通に受けるようになりました。
なぜ?
0454名前は開発中のものです。
04/03/06 11:07ID:gyOTZTVe0455名前は開発中のものです。
04/03/06 15:41ID:XiMT98gx実はレンダリングステータスにこんなものがある
D3DRS_NORMALIZENORMALS
ためしにTRUEにしてみるよろ。
0456名前は開発中のものです。
04/03/08 14:47ID:QnrLNmbRスケーリング行列の場合はベクトルの長さは保たれません。(当たり前)
法線ベクトルを正規化して頂点ストリームに渡しても、変換したら長さが1以外になります。
455にもあるD3DRS_NORMALIZENORMALSを使って法線変換後に正規化させましょう。
0457名前は開発中のものです。
04/03/21 15:36ID:LgK8+mJYD3DXCreateTextureFromFileAで取得したテクスチャの縦横ピクセルサイズは
どこで取得すればよろしいでしょうか?
(フォーマットがわかればなおよしA8R8G8B8<ビットフォーマット)
調べたのですが、納得がいく方法が見つかりません。
現状は横1ピクセルのデータ−を仮で読み込んで、ロックしそのピッチ幅を取得
それを基準にして、他の画像は横幅を割り算して取得しています。
目的は大きいテクスチャの一部分を、動的に他のテクスチャに複写し
ポリゴンに貼り付ける為です。
もっともゲームで使うなら最初からサイズは解っているので、
決め打ちでいいのですが、そこは突っ込まないでください^^
■ このスレッドは過去ログ倉庫に格納されています