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

鬱だ氏のう DirectX (Part 8)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。03/03/03 16:25ID:bb2JYtGF
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。
■ 過去スレ
Part 1 http://piza.2ch.net/tech/kako/966/966655286.html (プログラム板)
Part 2 http://pc3.2ch.net/test/read.cgi/tech/997101556/ (プログラム板)
Part 3 http://game.2ch.net/gamedev/kako/1005/10051/1005119775.html
Part 4 http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html
Part 5 http://game.2ch.net/test/read.cgi/gamedev/1027351925/
Part 6 http://game.2ch.net/test/read.cgi/gamedev/1033920036/
Part 7 http://pc2.2ch.net/test/read.cgi/gamedev/1039509250/
0562名前は開発中のものです。03/04/19 13:08ID:y+zw3XQN
>>561
レスありがとうございます。
普段は光学迷彩用テクスチャに書き込んで
光学迷彩用テクスチャからバックバッファに書き込むというものでしょうか?
すると光学迷彩用テクスチャもかなりの解像度が必要になり、
この演出のためだけにフレームバッファのしくみまで変えなければならなくなるので、
本当にこんなんでいいの?とか考えてしまいます。
0563名前は開発中のものです。03/04/19 13:44ID:3MsE5dPu
 こんなんでイイのかどうかは、やってみてから考えてもいいと思うんだが。
そこから改良するなり、別の方法を考えるなりね。

あと、ここはsage進行なのでよろしく。
0564名前は開発中のものです。03/04/19 14:35ID:NRN/D/cJ
個人的には実用の面からいうとNoですね。
仕組みが複雑になる上に処理は重くなる、使うメモリも半端じゃない。
確かにこの演出に限らず何かに使えるかもしれませんが
そんな滅多にない演出にこれだけの仕組みをゲームに組み込むのはさすがにプロジェクトのみんなの同意は得にくいでしょう。
それこそ某会社のスタイリッシュなアクションゲームのように剣をふるたびに出るような演出ならいいのでしょうが。
さすがにこの辺はゲームによるといったところですか。
0565名前は開発中のものです。03/04/19 14:46ID:DwFjEE70
DX9ならStretchRectで全て解決するけどね。
0566名前は開発中のものです。03/04/19 14:49ID:do22y+d9
そうかーDX9だとできるのかー
0567名前は開発中のものです。03/04/19 15:19ID:rTXmExxi
StretchRectの制限が気になるな。
RTテクスチャて何かな。
0568名前は開発中のものです。03/04/19 15:48ID:WqwViPZg
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0569名前は開発中のものです。03/04/19 19:41ID:DwFjEE70
>>567
RenderTargetTexture
0570名前は開発中のものです。03/04/19 20:17ID:GO2Mi5zr
   ____
  /      ヽ
  / __A___|〆
  ヽ(____>
   ノ从ハ)从〉   シュ シュ
   クノ ´∀`§へつ シュウリョウ〜♪
    √ ヽ@_X  .|
   /│    ヽ丿 ))
  /  \    |つ
/    ヽ__ノ
く        │
 ヾ=====┘
   し  し
                       〜完〜
0571名前は開発中のものです。03/04/19 22:10ID:1t+xp3Ez
D3DXCreateFontで"MS Pゴシック"の12ポイントのフォントオブジェクトを作成して、
char buf[] =" ∧_∧\n( ´∀`)\n(    )\n| | |\n(__)_)";
ID3DXFont DrawText(buf, -1, &r, DT_NOCLIP, col) でモナーが表示されるのだけど、行間が詰まってしまいます。
DT_NOCLIPの場所に、DT_INTERNAL(システムフォントを使ってテキストメトリクスを計算する。)を付け足すとオリジナルモナーと同じ行間になります。
わからないところは、D3DXCreateFontで24ポイントのフォントオブジェクトを作成してDrawTextを実行したときに、
システムフォント(おそらく12ポイント)のテキストメトリクスで描画されるみたいで、行の文字が重なって表示されてしまいます。
(DT_INTERNALを外すと文字は重なりませんが、行間が詰まります。)
おそらく、D3DXCreateFontで定義するフォントのテキストメトリクスの行間を計算して設定すれば良いのではと思っているのですが
方法がわかりません。どなたかID3DXFont DrawTextで改行入りの文字を描画するときの行間を解決する方法を教えてください。
0572名前は開発中のものです。03/04/19 23:14ID:aMUws4S6
DIBに出力してからテクスチャに転送
0573名前は開発中のものです。03/04/20 00:11ID:sQyuN3uy
>>569
ありがとうございます
0574名前は開発中のものです。03/04/20 00:25ID:fBUnkceZ
>>574
ありがとうございます。
0575名前は開発中のものです。03/04/20 02:37ID:aZBkzSSK
>>574
IDがウンコ
0576名前は開発中のものです。03/04/20 04:09ID:b/Dm4HJZ
.              __
                    ‖  ~"ー 、,,_
      |           ‖ 終 .了  ,>
   \ |  /      ‖   _,:-−'´
                ‖/~         ヽ | /
                    ‖     ,   ))
       ,、      ,、   /'ll__/ ヽ
      / ヽ__/ ヽ/ _‖   _  ヽ.    ∧___∧
    /       /  ´ ‖ー/  `   l ロ. / _    _
    / ´ 、__,  ` |.    ‖∨      ,! || | l--l `
   _l    ∨    ヽ/ ̄)( ̄ ̄`"::::ノ (⌒ヽ, ..ヽノ   ,
  ( ヽ_        /   /ll `'ー、....::ノ ∀\/ー- /`l  ヽ
   ヽ、       ,ヽ:..:ノ ‖   '::::|⊃  iー- l (_〕i__
     l          : :::Y  ‖     ::|   |"|ー-,|   |(
0577名前は開発中のものです。03/04/20 07:00ID:CCyMQ1Bs
>>564
たまにしか使わんというか、使う場所が限られるなら、そのときだけ全体をテクスチャにレンダリングしてから
普通の描画と組み合わせたら? 処理が重くなるならデータを軽くすればいいだけ。

0578名前は開発中のものです。03/04/20 10:25ID:PEF4R1FX
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0579名前は開発中のものです。03/04/20 10:28ID:gi55t86D
>577
 常識的にはそうやって実装(テクスチャの大きさも環境で変更)し、
アプリがそれを意識しないで済むような中間層を作ると思うけどね。
とりあえずsageてね。
0580名前は開発中のものです。03/04/20 16:35ID:QJ8WCQrJ
>>572
ありがとうございます。
0581名前は開発中のものです。03/04/21 12:55ID:v2kjHbfs
D3DX の sse を無効にする方法はありませんか?
デバッガを起動してトレースしていると、いつも sse の命令のところで止まります。
( D3DXMatrixLookAtLH( ) でよく止まります )
VC 6.0 Pro 版なら
http://www.microsoft.com/japan/msdn/vstudio/downloads/ppack/
を使用できるのですが。

環境
コンパイラ: VC++ 6.0 Standard
CPU: Celeron 1.2 GHz
058253303/04/21 14:33ID:v2kjHbfs
追加
DirectX のバージョンは 8.1 です。
0583名前は開発中のものです。03/04/21 19:52ID:dGQMxYxS
心臓止めてみ?気にならなくなるよ
0584名前は開発中のものです。03/04/21 21:28ID:IvdBS2Ts
  _n
 ( l    _、_
  \ \ ( <_,` )
   ヽ___ ̄ ̄  )   GOOD END!!
     /    /
0585名前は開発中のものです。03/04/22 00:56ID:ugVKVxKb
>581
とりあえず、関数に渡しているパラメータを晒してみたら?
結構よく使われる関数のはずだし、簡単にハングるようなら
もっと報告があるはず。
0586名前は開発中のものです。03/04/22 01:42ID:nrWBlCDV
ところでお前らは Retail と Debug のどっち使ってる?
俺、Retail使ってんだけど…。
0587名前は開発中のものです。03/04/22 08:17ID:eZX257au
開発機にはDebug入れてるよ。
0588名前は開発中のものです。03/04/22 08:55ID:YLPDEkhf
質問良いですか?


DirectX8.1SDKで、
ひとつのテクスチャ(256*256)に
パーツ(32*32)を数種類置いて、
それをTRIANGLELISTでRPGのマップの様に
升目上に表示させているのですが、
視点によって、升目の境目のテクスチャがずれて
微妙に隣のテクスチャ領域が見えてしまいます。

これを補正する方法はありませんか?

tu = (x*32)/256.0f;
tv = (y*32)/256.0f;

D3DTSS_MAGFILTER,D3DTSS_MINFILTERの値も変えてみましたが、
意図した表示ができる設定がありませんでした。


補正が無理そうなら、

マップ配置に応じてテクスチャに全部の絵を描き込んでおく、
(テクスチャが巨大になる)

パーツ毎に別テクスチャに持って、CLAMPして表示。
(DrawPrimitiveの回数が増える)

という方法も考えましたが、
一般的にはどの方法で表示しているのでしょうか?
0589名前は開発中のものです。03/04/22 10:58ID:ZRz+g5yb
xy表示座標を-0.5ずらす
0590名前は開発中のものです。03/04/22 12:22ID:GMTONYN9

                o.
                /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
               /   このスレは無事に .  /
               /  終了いたしました    /
              / ありがとうございました  /
              /                /
             /   ペイピッニダより     /
             / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
            /
          . /
   __<`∀´>./
  /__ \ /
  | |   |  |
  (_) (__)
059158103/04/22 15:55ID:jONC6HwC
>>585
レスありがとうございます。
一応パラメータです。
D3DXMATRIX matView;
D3DXVECTOR3 vFromPt = D3DXVECTOR3( 0.0f, 0.0f, 5.0f );
D3DXVECTOR3 vLookatPt = D3DXVECTOR3( 0.0f, 0.0f, 0.0f );
D3DXVECTOR3 vUpVec = D3DXVECTOR3( 0.0f, 1.0f, 0.0f );
D3DXMatrixLookAtLH( &matView, &vFromPt, &vLookatPt, &vUpVec );
これを
D3DXVECTOR3 vFromPt = D3DXVECTOR3( 0.0f, 0.0f, 0.0f );
に変更したら、ここの部分は回避できましたが、
D3DLIGHT8 light;
D3DUtil_InitLight( light, D3DLIGHT_DIRECTIONAL, -1.0f, -1.0f, 2.0f );
という関数をLookAtLHの下で呼び出すと関数内部の
ZeroMemory( &light, sizeof(D3DLIGHT8) );
でハングします。しかし、
D3DUtil_InitLight( light, D3DLIGHT_DIRECTIONAL, 0.0f, 0.0f, 0.0f );
にするとうまくいくようです。

ほかに原因が考えられるとしたら、
Poweleap社の PL-iP3/T(Rev 2.0) という製品を使っているからだと思います。
使っているチップセットは Intel 440 BX です。
マイ コンピュータのプロパティで Celeron ではなく Pentium2 と認識しているので、
BIOS 関連を調べてきます。
0592名前は開発中のものです。03/04/22 22:49ID:YLPDEkhf
>>589

射影変換をDirectX側で行った場合、
スクリーン座標系で-0.5ずらすんですか?
それともワールド座標系?

後者を行った場合でも隙間ができるので
前者だと思うのですが、
この場合どうやって行うのでしょうか?
0593名前は開発中のものです。03/04/23 02:26ID:30oo3my0
Direct3Dのラスタライズルールとバイリニア補間の原理的に
色が漏れてるんじゃないすか。
0594名前は開発中のものです。03/04/23 03:49ID:ZRQabq0M
フィルタをPOINTにして色が漏れるのはヘンっしょ。BILINEARなら漏れるけど。
あとこの場合ずらすのはテクスチャアドレスだと思うが、試したことはないや。
0595(´д`;)ハァハァ 03/04/23 06:54ID:9QVJNMHa
http://www.k-514.com/
0596名前は開発中のものです。03/04/23 07:39ID:wDz4wQ1w
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0597名前は開発中のものです。03/04/23 08:42ID:6QptbjAr
>>594
テクスチャ座標の0.5ずつ内側に狭める事で
見た目上手くいきました。
1ドット減ってないのが変な気がするんだが、
こんなもんで良いのかな…。
059858503/04/23 10:45ID:GNvDRHws
>591
 いわゆる下駄ってやつを使ってるのかな?その辺が怪しいのは確かだね。
こういうこと(それからOSも)は最初に書いといた方がいい。ハングする
プログラムを他の環境で実行してみることを勧めるよ(他のことはせず、
その関数を実行して終わるようなプログラムが望ましい)。
 視点・注視点・UPペクトルから行列を出す方法はネットで検索すれば
すぐ出てくるはずだから、その環境でやっていくならD3DXを使わない
方がいいかもね。
0599名前は開発中のものです。03/04/23 11:46ID:10QNqlCX
オイラもテクスチャの張り方で悩んだことがある。っていうかまだ完全に解決してない。
例えば256*256pixelのテクスチャで0.5pixelずらすときはuvを0.5/256ずらすわけだが
ミップマップを使ってる場合にはテクスチャのサイズが変わるから
0.5/256だと0.5pixel以下になってしまう場合がある...
結局今はマップチップを画像が繋がるようにテクスチャ上に配置してお茶を濁してるのだが
なんかイイ方法ないですか?
0600名前は開発中のものです。03/04/23 12:23ID:VVkkYrKA
  /|/|  ( )
  / _、_|  ( )
/ゝ,_ノ`|y━・ 糸冬
0601名前は開発中のものです。03/04/23 12:53ID:Vv0M8Kwf
>>599
というか、ずらすのはスクリーン座標じゃないの?
X8のヘルプに出てなかったけ?
自分は、
D3DXVec3Transform(&pst[0],&ps[0],&sp->mat);
(略)
D3DXVec3Transform(&pst[3],&ps[3],&sp->mat);
for( long cnt=0;cnt<4;cnt++ )
  pst[cnt].x -= 0.5f,
  pst[cnt].y -= 0.5f;
こんな感じで変換後座標から引く事でボケ防止。一応、正常に動作しています。
DirectXに任せてる場合はシェーダー使うしかないのかな?
知らんけど。

uvもスクリーン座標も1.0ピクセル未満の指定をするとフィルタが掛かりぼやけます。
ボケないスプライトを出したい場合はスクリーン座標の少数点部を丸めて整数化し-0.5f。

マップチップを・・という下りから勝手に2D描画と決めつけちゃったけど、3D?
060259903/04/23 15:18ID:10QNqlCX
>>601
3D描画の話でつ...説明不足でスミマセン
0603名前は開発中のものです。03/04/23 17:22ID:Ek8uMhmZ

  ̄ ̄ ̄ ̄ ̄ ̄○ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
           O 。
            , ─ 、
            / /ヾヽ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ____    ( (´∀))  < というお話だったのサ
/__/_/ |    /"ヾヾ/ ̄ヽ \__________
|__|_| l ..|  ヽ ( i  !    |
|_|__|/.|  ヽ( ` 、二|つ /
|__|_||.....|    ||(___ヽ_/:\
|_|__||.ソ.|   ||===!i\|::::::::::\
|__|_||ソ..l/   ||  || 人.ヽ:::::::::)~)
|_|__|| /              ̄       = 完 =
      /
0604名前は開発中のものです。03/04/23 20:23ID:6QptbjAr
>>601
2Dや自前座標変換の時はそれでやってますが、
DirectX側に座標変換させた時の処理に困って、
>>597に落ち着きました。
シェーダ使えるようなボード対象じゃないし…。
060558103/04/23 23:40ID:uubux2MP
>> 598
すみません、情報が少なかったようです。
Gateway のマシンを使っていて、サイトをチェックしましたが、
BIOS は最新版だったみたいです。

環境追加:
os: windows 98
ビデオカード: GeForce4 MX 440

DirectX AppWizard で作成したのをそのままデバッグにかけると
  D3DX: (INFO) Using SSE Instructions
  例外処理 (初回) は aaa.exe にあります: 0xC000001D: Illegal Instruction。
というエラーが出る。

以前通っていた学校に、windows 98 を積んだ、Dellの OptiPlex シリーズの
TNT2 とオンボードビデオ(Intel 810?)をつんだマシンを使用すると似たような現象が起こった。
しかし、windows 2000 に変更されると、TNT2(D3Dの機能)を使用できなくなるという
制約を背負ったが、上記のエラーは、出なくなったと思う。
VC Professional だが、SSE を実行できるパッチが当っているかはわからない。
別の IBM の Pentium4 のマシンを VC Standard をインストールしても、特に問題は無かったと思う。

サンプルの Tut05_Textures で実験した場合ハングしなかった。
main に LookAtLH() のみを実行するとハングしなかった(パラメータは前のレスのまま)。
Pentium2 の時は、このようなエラーは出なかった。

以上がこれまでのいきさつです。

D3DXの魅力は大きいので、可能な限りて使ってきたいです。
幸いデバッグ以外では、無事に動きますので、なんとかなるのではと思っています。
そこで、デバッグ用のルーチンを作るか、
Windows 2000 はちょっと高いので、 Windows Xp Home Edition でも買おうかと思います。
0606名前は開発中のものです。03/04/24 08:02ID:9g3jPARF
その環境では使えませんよ。騙されてますよ。
0607名前は開発中のものです。03/04/24 09:42ID:b0Sfm9nY
一般3Dで微妙にスレ違いなのかもしれませんが

ラグナロクオンラインのような画面のゲームを作ろうとしているのですが
どうしてもキャラ絵のビルボードの傾け方がラグナロクのようにきれいに決まらなくて
画面の端とかのキャラが不自然に傾いて表示されてしまいます。

こいつは多分ビルボード特有の問題であって、傾け方を選択できるゲームなんかも
みかけることがありましたが、ラグナロクみたいに完璧にするにはなんかコツがあったり
するんでしょうか?
0608名前は開発中のものです。03/04/24 12:14ID:OGCLKkuQ
”問題”かぁ? 完璧つーより、むしろつまんねえ画面だと思うが。

もしD3DXMatrixLookAtの代わりにD3DXMatrixOrthoをつかうなんてオチだったらこのスレage荒らす



0609名前は開発中のものです。03/04/24 14:00ID:YUg64c0W
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃    ∧ ∧___    今 日 で                    ┃
┃   /(*゚ー゚) /\                             ┃
┃ /| ̄∪∪ ̄|\/  こ の ス レ は 終 了           ┃
┃   |        |/                              ┃
┃     ̄ ̄ ̄ ̄     し ま し た       2ちゃんねる  ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛
0610名前は開発中のものです。03/04/24 14:51ID:+IuUOG5j
>>597
UV座標をズラすと、自分の環境ではうまくいった場合でも、
他の環境の場合、ビデオボードの種類によっては、また同じ様な事が起きるかも。
スクリーン座標を-0.5するのでは?
自分はスクリーン座標を-0.5ズラしてうまくいったけど。 違ったらすいません。
061158103/04/24 17:29ID:sWYeFDrQ
WinXp にしたらエラーが出なくなりました。
ありがとうございました。
0612名前は開発中のものです。03/04/24 20:44ID:haUshdwD
>>610

DirectX側でトランスフォームさせて3D画像出してるので、
スクリーン側を-0.5ができません…。(シェーダ無いし)
それとも、何か方法有るんでしょうか?

一応、GeforceとRadeonではちゃんと表示されてたので、
今はこれで妥協してます。
フリーウェアで全部のボードに対応してられないし(汗)
0613名前は開発中のものです。03/04/24 20:51ID:1w4zWwxr
頂点シェーダーってハードが無くてもそこそこ動くんじゃない?
ウチのビデオカード、HWT&Lすら無いけどピクセルシェーダ系意外は割と動いてる
ような気がしますが。
3Dのゲームなら動かそうとする人もそれなりのハードがあるだろうから、
使ってみてもいいのでは?

って、俺は使ったこと無いから無責任に言ってみる。
0614名前は開発中のものです。03/04/24 21:18ID:haUshdwD
ハードが対応してないのを全部の3Dモデルの表示に
使用しても速度落ちない?
シェーダ使った事ないからそもそも可能なんだろうか…。
0615名前は開発中のものです。03/04/24 22:15ID:NolVeBIQ
 頂点シェーダ1.1なら、CPUのエミュレーションでも十分な速度だと
思う。まあ、やることによるだろうけどね。2.0は使ったこと無いから
知らない。
>614
 動くかどうかなら特に問題ないと思うけど?
0616名前は開発中のものです。03/04/25 03:04ID:OSgOYdrb
>>607
ビルボードを視点方向に向けているのではない?
ビルボードは視線に垂直(ニア/ファープレーンに平行)にする必要があると思われ
0617名前は開発中のものです。03/04/25 03:24ID:MiwURu0I
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0618名前は開発中のものです。03/04/25 07:51ID:ONzX6+tC
視錐台の勉強をしよう。
0619あげ03/04/25 08:48ID:wj02ylkx
>>618
終了するから無駄
0620名前は開発中のものです。03/04/25 09:14ID:iSJyloql
http://homepage3.nifty.com/coco-nut/
0621名前は開発中のものです。03/04/25 09:58ID:EqBjN1eh
>>619
無駄とか謂うなー
062260703/04/25 11:30ID:fQsi2Siz
>>616
視線にあわせると、画面端のビルボードの向きがずれてきてしまうようです
特にカメラに近いところでズレがはげしくなります。

斜め見下ろし視点なので、xz平面においても回転をかけて視点の方へ向けているんだけども、
その回転軸を足元でだしてるのが原因のような気がしてきた

なんか独りで勝手に解決してるかも…鬱だ氏n

0623名前は開発中のものです。03/04/25 12:14ID:2KoUgcye
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0624名前は開発中のものです。03/04/25 19:24ID:ONzX6+tC
DA・KA・RA、マニュアルを”視錐台”で検索して勉強しようね。
0625名前は開発中のものです。03/04/25 23:26ID:jLkvXgtZ
なぁこのスレをム板にもどしたくないか?
プログラマにしか関係ないスレだからもどしてもいいと思うんだが
実際この板って企画厨とただのゲーム好きがほとんどっぽいし荒らしも酷いし
実際有意義な内容の語れるスレってこのスレも含めてわずかしかないから
残念ではあるのだが
ちなみにマ板には「DirectX C# vol.1」と「vb.NETでやるDirectX」っていうのがたってるし
どう?
0626名前は開発中のものです。03/04/25 23:27ID:jLkvXgtZ
>ちなみにマ板には
訂正:ちなみにム板には
0627名前は開発中のものです。03/04/25 23:29ID:b49ip1pL
新スレができたらお互いに相互リンクすれば、
どの板にあってもたいした問題じゃないと思うけど。
まぁ、age荒しがいるだけで迷惑だけどさ。
0628名前は開発中のものです。03/04/25 23:34ID:cm1vo85K
>>625
大賛成です。
0629名前は開発中のものです。03/04/26 00:05ID:kLHjQsf3
ここ何でいつも終了してるの…?
0630名前は開発中のものです。03/04/26 00:14ID:o3CQBvyX
>>627
賛成。
嫌ならム板にスレあるんだからそこに書きゃいいじゃん。無ければ自分で立てるとか。
ここはゲーム製作だしDirectXで作ってる人間が少なからずいるわけだからこのスレは置いといていいでしょ。
0631名前は開発中のものです。03/04/26 01:15ID:7+m+3euf
>>625
激しく賛成。
age荒らしウザい。
0632名前は開発中のものです。03/04/26 01:35ID:vtiTm9QJ
俺はこのままの方がいいと思う。
あそこに行くとスクリプトより酷い荒らしに遭う可能性が…
0633名前は開発中のものです。03/04/26 01:40ID:89gxJo93
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0634名前は開発中のものです。03/04/26 02:55ID:tERsdmu3
ム板の自治スレか雑談スレあたりでこっちの状況を説明して
とりあえず試験的に立てるような感じがいいと思う
いきなり立てて「あっちにあるじゃん」とか言われそうな気もするし
需要もどのくらいあるかわからないし
あとテンプレとかも欲しいよね
「わかりません」→「ドキュメント嫁」「ググれ」の展開はもう見飽きた
0635名前は開発中のものです。03/04/26 04:09ID:iHMdMR3Y
DirectX9のSkinnedMeshで質問です。
現在ソースを解析して、サンプルを勉強中です。
サンプルを以下のように改造してみました。

void CMyD3DApplication::UpdateFrameMatrices(LPD3DXFRAME pFrameBase, LPD3DXMATRIX pParentMatrix)
{
D3DXFRAME_DERIVED *pFrame = (D3DXFRAME_DERIVED*)pFrameBase;

D3DXMATRIX rotMatrix;
if (pFrame->Name && strcmp(pFrame->Name, "Bip01_Head") == 0)
D3DXMatrixRotationY(&rotMatrix, D3DX_PI / 3);
else
D3DXMatrixIdentity(&rotMatrix);

if (pParentMatrix != NULL)
D3DXMatrixMultiply(&pFrame->CombinedTransformationMatrix, &(rotMatrix * pFrame->TransformationMatrix), pParentMatrix);
else
pFrame->CombinedTransformationMatrix = pFrame->TransformationMatrix;
             :
             :

フレームの名前が"Bip01_Head"だったら、適当な回転行列をかけて、横を向かせようとしています。
横を向くのだからY軸回転だろう、と思ったのですが、D3DXMatrixRotationYを使うと、Z軸回転をして
首を傾げたような状態になってしまいます。
なぜかD3DXMatrixRotationXを使用すると、希望する動作をするのですが・・・

なぜこんな風になってしまうのか教えてください。
0636名前は開発中のものです。03/04/26 04:09ID:XruTH2sN
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0637名前は開発中のものです。03/04/26 05:27ID:A3yD+JfG
>>635
カメラの向きがそういうふうに見えるような向きに設定されてるからでつ。
具体的にはあなたの脳内Y軸を下から見上げてるか上から見下ろすような
向きに設定されています。
0638動画直リン03/04/26 06:27ID:0XgYPc2w
http://homepage.mac.com/hitomi18/
0639名前は開発中のものです。03/04/26 07:30ID:ioySHEp/
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□

0640”削除”依頼03/04/26 11:26ID:vbLLwhTI
こんな板を作れと発案した奴がその罪を思い知るべき。
だからもっとage荒らさねばならない
0641名前は開発中のものです。03/04/26 12:26ID:sy8AfUXT
>635
それぞれのボ―ンの各軸を調べれば理解できると思う
それかアニメーション機能を持った3DCGソフトを触ってみるといいかも
0642名前は開発中のものです。03/04/26 12:58ID:H0119oSV
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0643名前は開発中のものです。03/04/26 14:18ID:NBJQjn4G
結局ものづくりなんて実現する手段を知らない奴が何言ったって無駄だからね。
構造まで考えられるのは残念だがプログラマだけだろ?
0644名前は開発中のものです。03/04/26 14:26ID:CUBCtNER
このスレだけがなかなか思うように終了しないので、板移動の提案に出たか。
荒らしも大変なんだろうな。
0645動画直リン03/04/26 14:27ID:0XgYPc2w
http://homepage.mac.com/hitomi18/
0646名前は開発中のものです。03/04/26 14:29ID:Pu+wBFWj
>>640
じゃぁ批判要望板でその趣と理由言えや。
荒らし扱いでアク禁扱いされるのが落ち。
そんな事も予想できない馬鹿ですか?
0647名前は開発中のものです。03/04/26 14:48ID:ECRGWxHS
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0648名前は開発中のものです。03/04/26 18:09ID:NBJQjn4G
え?
この板の現状をみて荒らし扱いはないよ。
そこまで頭悪い・・・可能性も否定できないか・・・。
0649名前は開発中のものです。03/04/26 21:12ID:hDRsRPd/
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0650名前は開発中のものです。03/04/26 23:08ID:hbiaRMFM
むしろ、ム板の方がここの趣旨にあってると思う
0651名前は開発中のものです。03/04/27 05:01ID:WozAOgVX
みなさんレスどうもです。
>>367
でもCMyD3DApplication::FrameMove()の中では下みたいに設定するようになってるみたいです。
D3DXVECTOR3 vEye( 0, 0, -2*m_fObjectRadius );
D3DXVECTOR3 vAt( 0, 0, 0 );
D3DXVECTOR3 vUp( 0, 1, 0 );
D3DXMatrixLookAtLH( &m_matView, &vEye, &vAt, &vUp);

>>341
それはボーンのローカル軸は必ずしも奥行き=Z、左右=X、上下=Yになってるとは限らないって事ですか?
でもなんでそんな風にモデルが作ってるのかが謎です
0652名前は開発中のものです。03/04/27 05:11ID:lma/3vyc
軸の向きはてんでバラバラなんだよねえ・・・
変換すりゃ済むことだが、調べるのが面倒
0653名前は開発中のものです。03/04/27 05:36ID:WozAOgVX
あと後学の為に教えて欲しいんですが、3Dのモデリングツールとかで、ボーンを表現するのに
細長いダイヤモンドみたいな奴が表示される奴がありますよね。
読み込んだXファイルに対して同じ事をやりたいんですが、あのダイヤモンドの長さと太さって
何が基準になってるんですか
0654名前は開発中のものです。03/04/27 08:24ID:/9aftCVY
ボーンの向きがばらばらになるのは当たり前だと思うのだが...
むしろばらばらにできないと回転させる時に不便でしょうがない。
親が回転すれば当然子の向きも変わるし。

ダイヤモンドはウェイトを決定する際に使用されることが多いので
Xファイルには全ての情報は含まれていないんでないか?わかんないけど。
一般的にはボーンの向きはローカルZ方向なのでローカルの軸とか
子への距離とか使ってそれっぽく表示すればいいのでないか
0655名前は開発中のものです。03/04/27 10:30ID:SkvcmMTy
     ______
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (5      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < このスレは既に終了してしまった
|| | | |  \ ┃  ┃/    \  正直、スマンカッタ
| || | |    ̄         \_________
0656名前は開発中のものです。03/04/27 14:03ID:WozAOgVX
>>654
どんもです
>Xファイルには全ての情報は含まれていないんでないか?わかんないけど。
>一般的にはボーンの向きはローカルZ方向なのでローカルの軸とか
>子への距離とか使ってそれっぽく表示すればいいのでないか
わかりました。。ありがとうございました
0657名前は開発中のものです。03/04/29 01:13ID:0LeLU/wF
ム板にって話の続きなんだけど
あんまり需要はないのかな?
0658名前は開発中のものです。03/04/29 09:45ID:NYxAc3B6
2ch専用ブラウザ使ってるからどっちでも良いっす。

ただオレ、この板で見てるのこのスレだけだから
移転でスクリプト荒らしが避けられるのは、個人的にちょっと嬉しい。
0659名前は開発中のものです。03/04/29 10:34ID:4iSvPvgh
      ___
     /∧_∧ \
   ./  ( ゚ ∀゚ )、 `、
  / /\ \つ  つ、ヽ
  | |  ,\ \ ノ  | |
  ヽヽ  レ \ \) / /
   \ [書込み禁止]'/
    ヽ、 ____,, /
       ||
       ||   〜終了〜
0660名前は開発中のものです。03/04/29 13:01ID:oabntbfa
荒らしがこの板にあるスレだけを狙ってるヤツなら、賛成かも。ただ、
このスレを狙ってるヤツならどこに行っても同じ。その辺の見分けは
ついてるのかな?
0661名前は開発中のものです。03/04/29 17:10ID:B1lYhPy8
                     ┌────┐
     ┌──────┐    ┌┤┌───┘
     └──┐┌─┬┤    │││
           ││  ││    ││└──┐
           ││  │└──┘│┌──┘
           ││  │┌──┐││
           ││  ││    ││└────┐
   ┌───┤├┐││    │├────┬┘
   │┌──┤├┴┼┘    ││┌──┐└┐
   ││    └┤  └┐    └┤│    └┐└┐
   ││      │┌┐└┐    ││      └┐│
   │└──┐││└┐└┐  ││        ││
   │┌──┘││  └┐└┐││        ││
   ││      ││    └┐└┤│        ││
   │└───┴┴┐    └┐││      ┌┘│
   └────┬┬┘      └┤│    ┌┘┌┘
             └┘          │└──┘┌┘
                     └────┘
■ このスレッドは過去ログ倉庫に格納されています