[過去ログ] Delphiゲームプログラミング相談室 (976レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
565(2): 名前は開発中のものです。 [sage] 04/08/14 10:53 ID:ennbBjlN(1) AAS
 微妙に間違えてますた。 
 でも、これでもずれますが、どのようにパラメータを指定すればいいんでしょう。 
  
 Scene.PushSprite( 
 Vector2D(0,0), 
 [ 
  SXVertexSP(0, 0, $FFFFFFFF, 0.0, 0.2), 
  SXVertexSP(50, 0, $FFFFFFFF, 1.0, 0.2), 
  SXVertexSP(0, 30, $FFFFFFFF, 0.0, 0.5), 
  SXVertexSP(50, 30, $FFFFFFFF, 1.0, 0.5) 
 ], 
  Texture, 
  sxbAlpha, 
  False 
 ); 
566: 名前は開発中のものです。 [] 04/08/15 02:11 ID:PuiE5qNp(1/4) AAS
 >>565 
 画像のサイズが2のn乗じゃないから。 
  
 テクスチャのサイズは読み込んだ画像と同じとは限りません。 
 TDGTextureのプロパティTotalWidthなどで確認できます。 
 Widthとの値の差を見比べるとよいでしょう。 
  
 読み込んだ画像が2のn乗に満たない場合は自動的にテクスチャのサイズが拡張されます。 
 そのサイズは読み込んだ画像以上でなおかつ最小の2のn乗になります。 
 50x100の場合は64x128になります。 
  
 たとえば50x100の画像を読み込んで作ったテクスチャの左上から32x32を表示したい場合は 
 テクスチャが64x128に拡張されているので以下のようにしてUVを求められます。 
 U=1/64*32 
 V=1/128*32 
  
 ここからは余談ですがグラフィックボードによってはテクスチャに色々な制限があります。 
 ・256x256以下のサイズしか扱えない 
 ・正方形でないとならない 
 ・2のn乗サイズでないといけない 
 ・32bit色が使えない 
  
 記憶を頼りに書いてるので間違ってたらツッコミおながいします。 
 ちなみにVoodooシリーズがこれらの制限に全てひっかかるカードです。 
567(1): 名前は開発中のものです。 [sage] 04/08/15 04:22 ID:PuiE5qNp(2/4) AAS
 >>565 
 とりあえずサンプル 
 外部リンク[lzh]:gamdev.org 
568(1): 名前は開発中のものです。 [sage] 04/08/15 09:35 ID:moZoUrx5(1/2) AAS
 丁寧な解説ありがd 
  
 >>567 
 起動してくれません。デバッグログには、 
 「Direct3DDeviceオブジェクトの生成に失敗しました(Error Code D3DERR_OUTOFVIDEOMEMORY)」 
 とあります。 
569(1): 名前は開発中のものです。 [sage] 04/08/15 13:01 ID:PuiE5qNp(3/4) AAS
 >>568 
 たぶんビデオカードのメモリが不足してるだけだからテクスチャのサイズが小さくなれば解決すると思う 
 サンプルでは512キロバイト使ってるからグラフィックボードを買い足していない環境じゃつらいかも 
  
 思いついた対策を書いておきます 
 これでもダメならグラフィックチップの種類やVRAM容量、エラーログの全文がわかればもう少し詳しく調べられるかも 
  
 ・画像編集ソフト(ペイントなど)で画像のサイズ(今は288x256)をもっと小さくする(試しに32x32ぐらいに) 
 ・画像編集ソフト(ペイントなど)で画像の色数を減らす(16ビット色に) 
 ・TDGCarad(女の子のアイコンのコンポーネント)のプロパティUseSoftwareVertexProcessingをTrueにする 
570(1): 名前は開発中のものです。 [sage] 04/08/15 18:34 ID:moZoUrx5(2/2) AAS
 >>569 
 全部試してみたけどダメでした。ファイルサイズは630バイトくらい。 
  
 ビデオRAM : 4MB 
 グラフィックアクセラレータ : ATI社製RAGE(TM) Mobility-CL(AGP) 
 ノートパソコンなので画像系には弱いのですかね? Lavie Lシリーズです。 
  
 前略(特に問題ナシ)     
 #00013 |     ■■■画面モードを初期化します■■■ 
 #00014 |       Driver : ati2drab.dll 
 #00015 |       Description : ATI RAGE MOBILITY AGP 
 #00016 |       VendorID : 00001002, DeviceID : 00004C4D, SubSysID : 81581033, Revision : 00000064 
 #00017 |       ウィンドウモード 640x473で初期化します 
 #00018 |       ハードウェアアクセラレーションを利用します 
 #00019 |       希望のデプスステンシルサーフェスのフォーマットが見つかりませんでした 
 #00020 |       デプスステンシルサーフェスのフォーマット...UNKNOWN 
 #00021 |       ソフトウェアT&Lを利用します 
 #00022 |       Direct3DDeviceオブジェクトの生成を行います 
 #00023 |       Direct3DDeviceオブジェクトの生成に失敗しました(Error Code = D3DERR_OUTOFVIDEOMEMORY) 
 #00024 |        
 #00025 |       ■■■お別れの時がやってまいりました■■■ 
 以下略(特に問題ナシ) 
571: 名前は開発中のものです。 [sage] 04/08/15 21:05 ID:PuiE5qNp(4/4) AAS
 >>570 
 RAGEのグラフィックボードを使って試してみました。 
 同じエラーがでるし原因究明は楽かなと思いました 
 ……がその前にちゃんと計算すればよかった orz 
  
 バックバッファ:640x480x3(=900kbyte) 
 フロントバッファ:640x480x3(=900kbyte) 
 windowsの解像度:1024x768x3(=2.25Mbyte) 
 テクスチャ:512x256x3=(384kbyte) 
 合計:4.3828125Mbyte 
 テクスチャのサイズを変えた所で足りません。 
  
 Form1のClientWidthとClientHeightを320x240にすると 
 バッファ2つあわせても450kbyteになるので合計で4Mbyte以下に抑えられます。 
  
 とりあえずこっちでは動きました。 
572: 名前は開発中のものです。 [sage] 04/08/16 09:15 ID:WpFw0zco(1) AAS
 > ビデオRAM : 4MB 
 さすがに、これはキツイと思われ 
573(1): 名前は開発中のものです。 [sage] 04/08/16 13:37 ID:tdeixu8e(1/2) AAS
 Formを小さくしてみてもダメでした。 
 BIOS設定でもVRAM増やせないみたいだし。 
 _/ ̄|○モウダメポ・・・ 
574: 名前は開発中のものです。 [sage] 04/08/16 14:54 ID:OSpqsJ8k(1) AAS
 >>573 
 動かないサンプルを動かそうとするよりすでに動いているものがあれば 
 それを改造していったほうが早いんじゃないかと思います 
 (質問ではテクスチャがズレてしまったとあるのでそのプログラムのUV値をいじるだけでいいはず) 
  
 もともとの問題はテクスチャがずれる理由の解明で 
 それは解決してるはずです 
  
 なぜ動かないかは気になるのでもし改造していって動かなくなったり 
 動くものが完成したら教えてください
575: 名前は開発中のものです。 [sage] 04/08/16 19:04 ID:tdeixu8e(2/2) AAS
 そうですね。 
 今動いているもので全く問題ないので、それでやっていこうと思います。 
 丁寧にありがとうございました。 
576(1): 名前は開発中のものです。 [sage] 04/08/17 05:24 ID:+sFdTfOm(1) AAS
 外部リンク[html]:deliverer.s5.xrea.com 
  
 //u,v : single; 
  
 u := texture.u; 
 v := texture.v; 
  
 Scene.PushSprite( 
 Vector2D(0,0), 
 [ 
  SXVertexSP(0, 0, $FFFFFFFF, 0.0 * u, 0.2 * v), 
  SXVertexSP(0, 50, $FFFFFFFF, 1.0 * u, 0.2 * v), 
  SXVertexSP(30, 0, $FFFFFFFF, 0.0 * u, 0.5 * v), 
  SXVertexSP(50, 30, $FFFFFFFF, 1.0 * u, 0.5 * v) 
 ], 
  Texture, 
  sxbAlpha, 
  False 
 ); 
  
 とするのが正しい。 
 texture.uとtexture.vは、1.0とは限らない。 
 又、元の画像の一辺の長さは4の倍数にするべき。 
 トラブルを避ける意味では、辺が2のべき乗の長さの正方形の画像がいいかもしれない。 
 また、テクスチャに関しては、複数作る場合も一つしか作らない場合もどちらもあり。 
577(1): 名前は開発中のものです。 [sage] 04/08/17 09:30 ID:kgt5GdeF(1) AAS
 >>576 
 参考になりました。ありがとうございます。 
 リンク先も見てみましたが、変なレスって・・・。
578(1): 名前は開発中のものです。 [] 04/08/21 04:12 ID:rcQjHDLj(1) AAS
 QD3.00が入っている環境にQD3.01をインストールするにはどうすればいいですか? 
579: 名前は開発中のものです。 [sage] 04/08/21 13:18 ID:53W2Uy5k(1) AAS
 >>578 
 今までインストールされていた3.00に、3.01のファイルを上書きすればOKです
580: 名前は開発中のものです。 [sage] 04/08/23 17:24 ID:N4BM/CKc(1) AAS
 >>577 
 先日の記事で更に修正されているようです。 
 もう解決してるとは思いますが。 
  
 QD3.01のDGCarad9.pas[1839]の、 
 SetWindowPos()は必要なんでしょうか? 
 これがあると、フォーム作成途中に 
 強制表示される等して、厄介で…。 
581: 名前は開発中のものです。 [sage] 04/08/24 17:36 ID:fDj+wn71(1) AAS
 QD3.01a入れたら変になっちゃった。 
582: 名前は開発中のものです。 [sage] 04/08/24 18:11 ID:ETmFlfFn(1) AAS
 ↑どう変になったかをどうぞ。 
583(2): 名前は開発中のものです。 [sage] 04/09/05 06:23 ID:4z3WtuRW(1) AAS
 どなたかQD3で半透明ポリゴンの表示のやり方が分かる方居ませんか? 
  
 調べたところ 
 // アルファブレンドを有効にする 
   DG.D3DDevice.SetRenderState( D3DRS_ALPHABLENDENABLE, Integer(True)); 
 // 色の算出方法の設定                                   
   DG.D3DDevice.SetRenderState( D3DRS_SRCBLEND, Integer(D3DBLEND_SRCALPHA)); // 転送元の色の算出方法 
   DG.D3DDevice.SetRenderState( D3DRS_DESTBLEND, Integer(D3DBLEND_INVSRCALPHA)); // 転送先の色の算出方法 
 // テクスチャのブレンディング方法の設定す 
   DG.D3DDevice.SetTextureStageState( 0, (D3DTSS_ALPHAOP), Integer(D3DTOP_MODULATE) ); // 色の成分を乗算する 
   DG.D3DDevice.SetTextureStageState( 0, (D3DTSS_COLORARG1), Integer(D3DTA_TEXTURE) ); // テクスチャの色 
   DG.D3DDevice.SetTextureStageState( 0, (D3DTSS_COLORARG2), Integer(D3DTA_DIFFUSE) ); // ディフーズの色 
 を使うらしいのですが上手くいきません。。 
  
 どなたか教えてください。 
584: 名前は開発中のものです。 [sage] 04/09/06 01:04 ID:+Ott7ACV(1) AAS
 TSXFrameを使わない理由を教えて。>583 
585: 583 [sage] 04/09/06 06:07 ID:yPxmxkf1(1) AAS
 こんな便利なのがあったのか・・ orz 
 Frame.BlendMode :=sxbAlpha; であっさり半透明になりました。 
 584さんありがとうございます。 
586(2): 名前は開発中のものです。 [sage] 04/09/09 10:48 ID:FjFhPTtJ(1) AAS
 外部リンク[zip]:gamdev.org 
  
 Lunaを参考に作ってみた。だめ? 
587: 名前は開発中のものです。 [sage] 04/09/10 04:32 ID:D15lGOEN(1) AAS
 実行ファイルがないと試す気にもならんな 
588: 586 [] 04/09/11 12:02:43 ID:4eUrWUgm(1/2) AAS
 実行ファイルはサイズがでかい割りに内容はたいしたことないので 
 アップはやめときます。 
  
 コンパイルには 
 D6 Personal(D5でも可)、 
 Cloote Delphi DirectX Header(small 版でおk) 
 が必要です。 
  
 Cloote Delphi DirectX Header は 
 Summer2003で作りましたがSummer2004でもコンパイルできるみたいです。 
 またサンプルによっては 
 Clootie_DX90_dlls、 
 Sample DirectX Framework(common.zip)が必要かもしれないです。 
589: 586 [] 04/09/11 12:03:47 ID:4eUrWUgm(2/2) AAS
 ×Cloote 
 ○Clootie 
上下前次1-新書関写板覧索設栞歴
あと 387 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s