[過去ログ] Delphiゲームプログラミング相談室 (976レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
566: 名前は開発中のものです。 [] 04/08/15 02:11 ID:PuiE5qNp(1/4) AAS
>>565565(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
);
画像のサイズが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
590(3): 名前は開発中のものです。 [] 04/09/13 21:01:56 ID:XXuocjss(1/2) AAS
気になったんだけど、Delphi製の市販のゲームってある?
上下前次1-新書関写板覧索設栞歴
あと 386 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s