トップページgamedev
1001コメント341KB

Direct 3D

■ このスレッドは過去ログ倉庫に格納されています
0001.01/11/09 17:06ID:wrfy6OtC
Direct Xはあるみたいですが、こちらはD3D専門という事で。
とりあえずDX8以降は初期化が簡単になったり関数が変わったり
結構大幅に変わりましたがその辺も踏まえてお願いします。
0352名前は開発中のものです。04/02/02 06:49ID:Rie53uXk
>>350
そこでMS謹製のTextureToolですよ。





('A`)マンドクセ
0353名前は開発中のものです。04/02/02 07:25ID:Jm+cIG2+
>>350
pngで保存すると背景の部分がアルファチャンネル扱いになるけど?
それで十分じゃないの?
0354名前は開発中のものです。04/02/02 07:31ID:Jm+cIG2+
>>351
ビルボードなんてカメラと平行っぽくなってりゃいいんじゃないの?
なんで逆行列や転置が必要なのかわからない。

そのままでいいだろ。

D3DXMATRIX bill = view;

んで、

bill._41 = bill_x;
bill._42 = bill_y;
bill._43 = bill_z;

で完成じゃボケ。
0355名前は開発中のものです。04/02/02 13:50ID:f+P8GJRa
>>354 おぬし男の中の男だな。
0356名前は開発中のものです。04/02/02 20:52ID:qCykuM3X
directXってどういうものですか?
言語ではないと聞いたんで…。
DirectX覚えただけではゲーム作れないんですか?
0357名前は開発中のものです。04/02/02 21:31ID:ruvzNpBE
http://e-words.jp/w/DirectX.html
035835604/02/02 21:38ID:WcP70SUw
>>357
サンクスベリーマッチョ。
0359名前は開発中のものです。04/02/02 23:37ID:qCykuM3X
読んでもやっぱり分からないんですが
DirectXだけ勉強してゲームは作れるんでしょうか?
0360オレー04/02/03 00:26ID:lqBJLK7t
>>359
わかりやすく言うと、DirectXはゲームとかにつかう命令のセットだ!
コントローラーのボタンを読め!とか、ポリゴンを描け!とか命令するとやってくれる。
C++とか他の言語で、その命令を呼んでやるわけだが、そーいうもんだから呼ぶために言語も勉強しろ!!
036128904/02/03 01:28ID:pyweXtof
てことは、C++とかじゃできないことをやってくれるのがDirectXですか。
それとも、C++でもできることを簡単にするように使うのがDirectXですか?
とりあえず言語は覚えてみます。
0362オレー04/02/03 01:38ID:aqfOOcxz
>>361
とりあえず、基本的なとこでいいから、てきとーに言語覚えてからすぐSDKについてるサンプルをビルドしろ!
そんで改造していくと覚えるの速いぞ。マジお勧めなこれ
0363X04/02/03 01:40ID:low7AtO4
どうも330です。330ですというとわかりにくいのでXと呼んで頂ければと思います。
X,Y,Z 10,6,30 のMAPにおいてfor文で回してMAP情報を書き込んだ3次元配列から
データを読み取ってブロック表示しているのですが。
ここで今まで書き込ませて戴きましたが、皆さんとても豊富な知識をお持ちのようで。
そこで大変ご迷惑だとは思いますがE-mailに乗せてあるアドレスで私はメッセンジャーを
使っておりましてもしよろしければ私のプログラムを見てもらいましてアドバイスをいただきたいのですが。
大変ご迷惑な事、ずうずうしい事とは承知しつつもし見て戴ける方が居られましたらお願いいたします。
0364名前は開発中のものです。04/02/03 02:16ID:6qjzgiJc
微妙に変な日本語だな
0365名前は開発中のものです。04/02/03 02:42ID:V33o00bN
ソースうpしる
0366名前は開発中のものです。04/02/03 10:02ID:nvDFyoS5
>>363
わざわざメールでやりとりなんて疲れるから
http://cgi.f6.aaacafe.ne.jp/~pyuav/php/upload.php
うpしる!
0367X04/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;
0368X04/02/03 11:14ID:q1OWKOSR
static float PlayX=12,PlayY=10,PlayZ=-8;
static 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/N
BectolXワラタ
0370名前は開発中のものです。04/02/03 23:32ID:/6vJImFb
英語力って大事だな
Bectol → Vector
0371オレー04/02/03 23:34ID:VYXMEMW7
このソース途中じゃん。続きは???????
0372名前は開発中のものです。04/02/03 23:53ID:pACG0/A5
D3DXVECTOR3がソースにある以上
英語力の問題でもないような。
途中までだけどなんか根本的に
わかってないような気がする。
0373名前は開発中のものです。04/02/04 00:08ID:8XXIUaLn
>>372
そう?とりあえずここまでのソースは問題なさそうな感じだけど。
細かくはみてないけど。
0374名前は開発中のものです。04/02/04 00:25ID:yUu1C7Gn
>>373
だってベクトルって言葉は知ってるのに
D3DXVECTOR3をベクトルって気付かないまま使ってるのはどうかと思う。
float x 3 使っちゃってるし。

サンプルか何かを見ながら
よくわからないままコーディングしてる気がする。
0375名前は開発中のものです。04/02/04 00:40ID:8XXIUaLn
>>374
いや、さすがにそれだけじゃ判断できないって。
0376名前は開発中のものです。04/02/04 01:22ID:S4gpfpmI
一緒に机並べてる奴がこんなソース書いてきたら、
どんな力を利用してでも自分の周りから遠ざけるけどな。
0377名前は開発中のものです。04/02/04 02:01ID:yUu1C7Gn
>>375
問題ないと思うならメッセンジャーでアドバイスしてあげてよ。
0378名前は開発中のものです。04/02/04 07:36ID:r/i/wFB8
これだけでもstatic floatとか色々と突っ込みたいところいっぱいあるなぁ。
0379X04/02/04 08:32ID:TUjDrKub
void DrawMain(){
lpD3DDEV->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);}
}
0380X04/02/04 08:35ID:TUjDrKub
遅くなってすいませんでした。
改行が多くて乗せれないみたいなことがでてしまい時間がかかりました。
皆さんアドバイスお願いいたします。
MAP表示のSelect文のcaseはあともっとあります。
0381名前は開発中のものです。04/02/04 09:12ID:S4gpfpmI
ここまでやっちゃいけない事例のオンパレードなコードも珍しい。
D3Dより先にC言語を勉強するべき
0382名前は開発中のものです。04/02/04 09:43ID:+5PC35hU
#define BLOCK_SIZE_X (1.0f)
#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:fWwu0COO
ソースを圧縮してアップローダーにでも上げてくれれば良いのに
0384名前は開発中のものです。04/02/04 22:39ID:uFnV7/G9
ああ・・・クラクラしてきた。
漏れダメかもしんない。
0385X04/02/05 14:10ID:6C1zUxy0
>ここまでやっちゃいけない事例のオンパレードなコードも珍しい。
どこか教えて戴けないでしょうか。
0386名前は開発中のものです。04/02/05 14:15ID:8EbK+SUS
>>385
switchの事だと思うけど。

あと、PrintBLOCK()の中身の一部を晒しつつ
トリップつけてみてよ
0387X04/02/05 14:40ID:6C1zUxy0
void PrintBLOCK(D3DXMATRIX *matTrans,D3DXMATRIX *matWorld,int MapZ,int MapY,int MapX,int H,int OF){
int 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+SUS
なにゆえ頂点バッファが1800も?
1つじゃだめなの?
0389名前は開発中のものです。04/02/05 15:14ID:/vLOTadA
もはやつっこむ所が多すぎてつっこみきれん。
もうネタとしか思えない。
0390名前は開発中のものです。04/02/05 15:18ID:yFFdfEYa
ポリゴン2つ描画するのに、毎度DrawPrimitive使うのはかなり重いんじゃないか?
あと、もし毎フレームごとに頂点バッファ作っているようなら、
背景みたいに変形しないモデルなら、最初に全てのポリゴンを含んだ頂点バッファを
1つ作っておいて、それをDrawPrimitiveで描画したほうが手間がかからないよ。
0391名前は開発中のものです。04/02/05 15:53ID:8EbK+SUS
int flag = MAP[MapZ][MapY][MapX][0];
ブロック[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);
0393X04/02/06 09:41ID:0X7fE0LV
1800個用意してるのはブロックの大きさの違う頂点データを格納しているからです。
MAP情報(ブロックの大きさ、表示面FLG)をtxtから読み込んで表示させています。
1ブロック分の頂点データでMAP表示をしたところポリゴン数が多かったので
違う大きさのブロックを用意してポリゴン数を減らそうとしました。
0394X04/02/07 12:19ID:HQxh50cd
頂点バッファは最初に用意しています。
ポリゴン数は500強まで抑えれたのですが全然FPSがでません。
原因として考えられるものを見たのですがわかりません。
たとえばどんなことをすればFPSがでないのでしょうか。
どなたか教えていただけませんでしょうか。
0395名前は開発中のものです。04/02/07 12:23ID:CLQE2Fb+
>>394
だから500ぽっちのポリ数で処理オチなんてするわけないでしょ。
なんでわからんのかねチミ。
原因は別のところにあるのだよ。
0396名前は開発中のものです。04/02/07 12:31ID:cF8RWyca
劣悪な環境なのかもよw
0397名前は開発中のものです。04/02/07 12:36ID:o6RXyTtt
>>394 少しずつ処理を止めていって、どの処理が重いのか検討つけてみなよ。
その上で、
PCやグラボがショボイってことは無い?MSのサンプルはきちんと動く?HELで動かしてない?
初期化の段階で一度、定義取得すればいいような処理を、毎回やってない?
無駄にループ処理が多くない?ループの外に出せる処理をループ内でやってない?
0398名前は開発中のものです。04/02/07 16:09ID:VKCT6fFP
ソースをうpしてくれん事には
どうにも解決できない希ガス
0399X04/02/08 03:00ID:VlGbZ8et
皆さんができるだけレベルの高い人が多くの見れくれる場所はどこですか。
そういった事をしたことがなくて少しびびってます。
0400名前は開発中のものです。04/02/08 03:17ID:FsAxusDH
え?
0401名前は開発中のものです。04/02/08 03:18ID:X73WE+nW
コーディングも変だが日本語も変だな。
0402名前は開発中のものです。04/02/08 03:45ID:jR1jDgu/
翻訳サイトでも使ったのか?
0403名前は開発中のものです。04/02/08 04:30ID:UH78BtVm
貴様どこの星から来た!?
0404デフォルトの名無しさん04/02/08 07:38ID:EfTOxtBw
>>403
そりゃ遊星だろw
0405名前は開発中のものです。04/02/08 07:46ID:Bpmlhhr/
>>404
座布団一枚。
0406名前は開発中のものです。04/02/08 10:16ID:tWxjYBbl
>>399
もういちど言い直してみてくれ・・・ 
0407名前は開発中のものです。04/02/08 12:05ID:OMvVX0nS
さすがに>>399 は別人ネタレスじゃないか?まあX氏自身もネタに近いものがあるが・・・
はたして彼は、今までに出たアドバイスを試すことができたのだろうか?
0408X04/02/08 12:46ID:1SC30ugo
どうもXです。399はいちよX本人です。
日本語がおかしいのは実は1ヶ月ほど1日の睡眠時間が3時間程度の状態
が続いてるからです。それとネタ的なプログラムな事は3Dのプログラム
に関してまだ触って3ヶ月だからです。あと私の理解力のなさからです。
ビルボードに関しては試させて戴きました。まだカメラを移動させてそれに
大してビルボードされておりませんが。
0409名前は開発中のものです。04/02/08 13:59ID:Bpmlhhr/
釣りな気がしてきた
0410名前は開発中のものです。04/02/08 14:49ID:6M6RYNuz
釣りが気にしてきた。
0411名前は開発中のものです。04/02/08 15:47ID:P2w3BnL9
あそこまで遅くなるほうに最適化出来るということは

釣 り な 気 が し て き た
0412X04/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
>実は1ヶ月ほど1日の睡眠時間が3時間程度
であのレベルじゃあと数日じゃどうにもならんだろ。
いっそもう他人に頼んじゃったほうがいいんじゃない?
アドバイスでどうにかなるレベルじゃない。
0416X04/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
急がなくても、自分の気の済むように作りこんでから公開してもいいんじゃないの?
ここでゲームプログラム作っている人達は、他人のソースは参考にしても、それを
拡張してまでゲーム作ったりする人は少ないんじゃない?
最初から作ったほうが面白いし、俺イズムなコーディングできるから。
0420X04/02/08 21:44ID:AyXCEV6t
正確な状況を言います。
まず宿題ではありません。ゲームを作る宿題があると思われてるということは
そういった学校に通われてると思われてるみたいですね。
私は大学生で趣味でゲームを作っております。しかし今回の作品は私と知人2人の3人で作っているものでして
新しくHPを作って目玉としてオープンソース的なゲームプログラムを公開します。
公開日は今週の水曜日の18時です。メンバが各々違う処理を担当しており
最初最低限の仕様を決めてそこまで作り上げて公開ということです。
今まで公開日が伸びてしまい最終的な公開日が今週の水曜になっています。
私が最低限するべくレベルまで出来ていない状況なのでアドバイスを戴けたらと
思い書き込ませていただきました。
0421名前は開発中のものです。04/02/08 21:51ID:DCWz8J9a
宿題だったか…
0422名前は開発中のものです。04/02/08 21:52ID:OMvVX0nS
>>420 早めに他のメンバーに謝った方が良くないか?
コンピュータ関連の会社だったら修羅場になっちゃうけど。
  ↓
Flash「新世紀エヴァングラマー」
http://crybaby-sakura.hp.infoseek.co.jp/flash/eva.html
0423名前は開発中のものです。04/02/08 21:53ID:K5PzK6gp
HPのURLをキボンヌ
0424名前は開発中のものです。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/
>>424
http://www.google.co.jp/search?num=50&lr=lang_ja&q=お兄ちゃんどいて!そいつ殺せない!
0427名前は開発中のものです。04/02/08 22:42ID:lI5pQUKp
>>424
ビデオカードが対応してないんだから
どうあがいても無理。
そんなことよりおじちゃんと遊ばない?
0428名前は開発中のものです。04/02/08 22:51ID:OMvVX0nS
>>424 またネタっぽい質問がきてるな

パソコン初心者版
http://pc2.2ch.net/pcqa/
そちらの質問スレで尋ねた方がいいんじゃない?ノートパソコンだと難しいと思うけど・・・
0429名前は開発中のものです。04/02/08 22:58ID:jR1jDgu/
いや、これは間違いなくネタだろ
0430名前は開発中のものです。04/02/09 00:11ID:h+IssnCf
お兄ちゃんといっても弟でしょ
0431名前は開発中のものです。04/02/09 13:42ID:DNtgH3z+
>X
大阪府の人?
0432X04/02/11 01:35ID:RvFWUtYj
なぜに大阪?
0433名前は開発中のものです。04/02/11 14:32ID:FwrI7GbY
>>424
ちょっとワラタ

俺も今度どこかで質問するときは妹のフリをしよう。
0434名前は開発中のものです。04/02/12 23:29ID:ZfdN/mCD
directxを簡単に扱えるライブラリって結構あるけどどれが最強よ?
0435デフォルトの名無しさん04/02/13 00:02ID:s0TZDiXw
>>434
D3DX
0436名前は開発中のものです。04/02/13 01:15ID:FlhNvr4y
自作
0437名前は開発中のものです。04/02/13 08:44ID:DZhOTV1Z
他人のソース読むのメンドウ。カスタマイズすると何処で影響出るか判らずブキミ。
なので、原理をパクって、ソースは自作。
0438名前は開発中のものです。04/02/13 09:12ID:SH5YdBQJ
仕事でライブラリ屋やってたから自作の利点は分かるけど、
気力的に続かなくなる。ゲーム作ることに気力を割いた方がいいよ。
0439名前は開発中のものです。04/02/18 13:34ID:p73oUtCq
ビルボードでの計算式を教えていただけませんか。
if( 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:0iEToC7t
平面が出来てるなら、もう1軸足すだけですね
0441名前は開発中のものです。04/02/18 17:12ID:6LPAs+mf
イチジク
0442名前は開発中のものです。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
>>443
ただの加算ブレンドだと思われ。
ここなんかいいと思われ
http://platz.jp/~moal/old.html
0445匿名君04/02/20 01:28ID:63doXt8J
>>444
ああ、そうだったのですね。(^^;
基礎知らなくてどうもすんません。
044644504/02/21 22:42ID:DrvAnV60
スプライトを使って簡単に加算合成ができました!
しかしながら、常に画面手前に表示されてしまいます。
SetVertexShader(FVF_LVERTEX) と SetTexture(0,Img); つかってやることは出来ないでしょうか?
スプライトで3Dの表現は難しいですか?
0447名前は開発中のものです。04/02/21 22:46ID:Dt5hTRW3
>>446
どうも何がやりたいのかがよく分からないんだが、、
エフェクトなら画面一番手前に表示されるのが普通じゃないのか?
044844504/02/21 22:49ID:DrvAnV60
あ、すいません、できました(汗
上げてすいません
044944504/02/21 22:51ID:DrvAnV60
>>447
3Dアクションゲームだったんで、そのキャラの手前にエフェクト表示とかしたかったんですよ。
0450名前は開発中のものです。04/02/27 21:28ID:CEfjX1WV
大学のHPに公開して、教授にオープンソースする


宿題・・・ですかね、期日も決まってるしなんか変
0451名前は開発中のものです。04/02/28 15:16ID:UeeMPs1b
シェーダについて質問があります。DirectXのBumpEarthサンプルのように、
ピクセル単位の凹凸と映り込みの表現を、シェーダとキューブマップを使って再現
したいのですが、バンプ等に使用するノーマルマップを参照してキューブマップを
ピクセル単位で貼り付けるなんてことは、シェーダで可能なんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています