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

鬱だ氏のう DirectX (Part 6)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものでス02/10/07 01:00ID:???
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html  (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/   (Part 2)
http://game.2ch.net/test/read.cgi/gamedev/1005119775/ (Part 3)
http://game.2ch.net/test/read.cgi/gamedev/1016276254/ (Part 4)

コピペスマソ
0561名前は開発中のものです。02/11/12 14:00ID:???
文字の色が背景によって変化して欲しくないんだったら、
文字列のビットマップをα付きにするしかないと思うよ。
背景部分を完全透過にすれば、普通のαブレンドで行ける。
0562名前は開発中のものです。02/11/12 14:18ID:???
>>558
選択肢にないだけでレジストリを直接いじれば正方形以外にも変更可能

>>559
いい加減なことを言うな
0563名前は開発中のものです。02/11/12 14:20ID:???
>>560
アルファ値を直接変更しないで無駄な苦労をする理由は?
0564名前は開発中のものです。02/11/12 15:01ID:???
560です。
ビットマップをα付きにするというのは、画像を作成するときに
特別なツールが必要ということなのでしょうか。

それとも、テクスチャを読み込む関数
D3DXCreateTextureFromFileExの
ColorKeyで完全に透明にするいろというところに
(0,0,0)と入れればいいということなのでしょうか。

ちなみに普通のαブレンドというのは
lpD3DDEV->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
lpD3DDEV->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
のことですよね?
0565名前は開発中のものです。02/11/12 15:38ID:???
>>564
>特別なツールが必要ということなのでしょうか。
何故そういう発想になるのか理解しがたいが
最初からアルファ値があるデータを使う必要はない
読み込んだ後にテクスチャをロックして好きな値を設定すればいいだけ
0566名前は開発中のものです。02/11/12 15:55ID:???
半透明の減算ってどうやるの?
0567名前は開発中のものです。02/11/12 16:32ID:8nxZuYA/
SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
SetRenderState( D3DRS_DESTBLEND, D3DBLEND_ONE );
0568名前は開発中のものです。02/11/12 16:57ID:???
560です。
>読み込んだ後にテクスチャをロックして好きな値を設定すればいいだけ
これのやり方がわからないのです。

黒地に青の文字のテクスチャを作って
D3DXCreateTextureFromFileEx関数の完全透過色の値を
(0,0,255)と設定すると、青が抜かれて描画されます。
じゃあ、(0,0,0)と設定すればできるかなと思ったのですが
それもできず。
じゃあ、赤地に青文字で(255,0,0)とやれば青文字だけできるか
と思えば、それもできず。
うーん、参ってしまいました。
0569名前は開発中のものです。02/11/12 17:31ID:???
>>568
>これのやり方がわからないのです。
何故分からないのかが分かりません
ロックして自分で色を判断して該当するアルファ値を書き込むだけですが、
いったいどこが分からないのでしょうか?
0570名前は開発中のものです。02/11/12 17:37ID:???
わからないのは
・ロックして
・自分で色を判断して
・該当するアルファ値を書き込む
…のどれよ?
0571名前は開発中のものです。02/11/12 18:27ID:???
560です。
正直言うと、すべてです。
ロックするってのは頂点バッファに頂点情報の配列をmemcpyするときに
つかうあのロックのことでしょうか?

そもそもテクスチャのなかがどのようになっているのかもよく理解できて
いないのでありまして。

テクスチャの中にはそれぞれのピクセルごとにRGBAそれぞれ255ずつの
情報が格納されてて、そのなかのピクセルで黒(0,0,0)の
色情報のピクセルのαの値すべてを0に書き直せってことを
おっしゃってるのですか?

だとしたらそもそもの記述方法がわかりません。

便利な関数に頼りすぎてしまっているのかもしれません。
0572名前は開発中のものです。02/11/12 19:02ID:???
>>571
ヘルプ嫁
0573名前は開発中のものです。02/11/12 19:59ID:???
>>571
全部わからんならヘルプ読むことを勧める。
どれか一つなら解説にもたいした手間はかからんけど、
全部まとめて1から解説する気にならん。
0574名前は開発中のものです。02/11/12 21:10ID:???
BBX って閉鎖したんでつか?

少し前から全然繋がらない。
0575名前は開発中のものです。02/11/12 21:17ID:???
>>574
普通に見れますが?
0576名前は開発中のものです。02/11/12 22:53ID:???
>>574
うちも
[an error occurred while processing this directive]
とか表示されて見れないよ。
infoseek と HOOPS! の統合作業のせいかと思ってたけど
作業終わっても見れん。
0577名前は開発中のものです。02/11/12 23:03ID:???
>>574>>576
Googleで検索すりゃ一発なのに…
ttp://bbx.hp.infoseek.co.jp/index_home.shtml
0578名前は開発中のものです。02/11/12 23:28ID:???
そのページに
当ページのURLは「http://isweb8.infoseek.co.jp/computer/bbx/」です。
とあるんだが…

http://isweb8.infoseek.co.jp/computer/bbx/
、、、
0579名前は開発中のものです。02/11/13 00:12ID:???
>>578
だから?
0580名前は開発中のものです。02/11/13 00:20ID:???
560です。
結局SDKに入っているツールを使ってDDS形式にすることで
解決できました。というか、解決できてませんね。

どうやら自分は、メモリの中を自分で書き換えることがまだちゃんと
できないようです。
Xファイルを読み込んでそれをカスタマイズした頂点情報のひな型に
入れていくという作業もいまなにも見ないでやれといわれたら
絶対にできないと思います。

実際、ゲームプログラマーとして食べて行くにはどれくらいのスキルが必要
なのでしょうか。かなり不安になってきました。PS2とかの開発は
もっとむずかしそうですし・・・・・
0581名前は開発中のものです。02/11/13 00:22ID:???
>>580
ローカルルールより
>以下の話題は別の専用板で
>・業界の話題 → ハード・業界板
0582名前は開発中のものです。02/11/13 00:33ID:???
>>579
おまえマジでしねよ
0583名前は開発中のものです。02/11/13 00:40ID:???
BBXって
結局移転なの?
それともトップだけ死んでるの?
アドレスが変わったの?
0584名前は開発中のものです。02/11/13 01:00ID:???
>>583
トップだけ死んでるんじゃない?
昨日の投稿記事もあるし。
0585名前は開発中のものです。02/11/13 01:13ID:???
>>584
ふーん、移転したわけじゃあないのか…
それにしても長いこと死んでるなぁ、、

っていうかBBX掲示板って以前はアドレス直指定じゃ入れなかったような
0586名前は開発中のものです。02/11/13 14:22ID:???
>>583
つーか、トップ逝って見れなかったのでソースちょっといじって
デスクトップに置いたら以前と変わらず見れますが
0587名前は開発中のものです。02/11/13 16:40ID:???
それにしてもいいタイトルだなこのスレ…
0588DirectX9.1!!02/11/13 17:25ID:???
DirectX9.1!!
0589名前は開発中のものです。02/11/13 17:33ID:???
DirectXP
0590DirectSEXは開発中のものです。02/11/13 17:53ID:???
DirectSEX!!
0591名前は開発中のものです。02/11/13 18:40ID:???
DirectSEX=生でプレイ?
0592名前は開発中のものです。02/11/13 20:32ID:???
>>591
対義語はPhoneSEXです。
0593名前は開発中のものです。02/11/14 02:08ID:GiEDJ/06
どなたか、mingw や bcc で 8.1b の d3dx が使えるように、dll を作ってください。
0594名前は開発中のものです。02/11/14 02:22ID:jiqdRyiV
無理
0595名前は開発中のものです。02/11/14 02:22ID:???
キチガイキタ━━━━(゚∀゚)━━━━ !!!!!
0596名前は開発中のものです。02/11/14 07:29ID:???
arudaro
059759302/11/14 08:00ID:???
>>596
8.0 用しか見つけられませんでした。
0598名前は開発中のものです。02/11/14 13:37ID:???
DLLhaSDKnodeyoinodeha?
0599名前は開発中のものです。02/11/14 14:19ID:???
>>598
スタティックライブラリになっている部分が分かっていない馬鹿は黙ってろ
0600名前は開発中のものです。02/11/14 14:23ID:???
よおしまってろよおおおおお
おまえのあいぴーぬいてやるぜえええ
0601名前は開発中のものです。02/11/14 15:40ID:???
static library nanisore ?
ijyo Delphi tyubo deshita
0602名前は開発中のものです。02/11/14 16:05ID:???
Delphiとか言語は関係ないのだが…
厨房ならしかたないや
0603名前は開発中のものです。02/11/14 16:14ID:h7xbBaO2
DirextX 9 まだー?

8から大幅仕様変更はしないだろうな。
本も安くねえんだぞ
0604名前は開発中のものです。02/11/14 16:53ID:???
先日RC0が出たからもうすぐだと思われ。
8が解ってればあとはヘルプのみで対応できるよ。
0605名前は開発中のものです。02/11/14 17:33ID:???
今年中には出るのか
0606名前は開発中のものです。02/11/14 17:52ID:???
>>602
delphi niha .lib ga nainodesu
0607名前は開発中のものです。02/11/14 19:33ID:???
>>603
DirectDrawとDirect3Dが統合されてDirectGraphics…とか、そういう大幅な変更はないはず。
0608名前は開発中のものです。02/11/14 22:41ID:???
>>603
ヘルプで十分だろ、、、
0609名前は開発中のものです。02/11/14 23:24ID:???
工学社のDirectX本はほんとカス
0610名前は開発中のものです。02/11/14 23:31ID:???
カスな奴が読むには丁度いい
0611名前は開発中のものです。02/11/15 00:58ID:X0luojF8
Win上でのDVD再生時に発生するコマ落ち原因を知りたくてWindows板にスレ立てた
のだがあまり良い意見が聞けない(OSが原因かと思いWin板へ立てたが期待ハズレ)。
ゲ製板住民はリアルタイム処理に強いことを期待して意見をいただきたい。既に
スレ立ててしまっているので該スレにリンクを張ってもよいか?
もし迷惑だったらスマソ。
0612名前は開発中のものです。02/11/15 01:15ID:???
>>611
その程度でスレ立てるな、と…。

ソフトウェア板やCD/DVD板とか、色々あるだろうに。
プログラム的な問題ならソフトウェア板。
どちらにしろこの板じゃ板違い。
0613名前は開発中のものです。02/11/15 01:18ID:???
>>611
期待ハズレ、っていうより自分の希望通りのレスがもらえなかっただけだろ(藁
何が原因かわからないのにWin板でスレ立てか。おめでてーな。
初心者板へ(・∀・)カエレ!
061452302/11/15 01:33ID:???
今更だがどうもバグっぽい。
鬱だ…
0615まっつん02/11/15 02:02ID:uKssfMT8
>>523
ソース全部ここにコピペしな。まっつんが解決してあげる。
0616ファンクラブ ◆Mjk4PcAe16 02/11/15 02:18ID:???
まっつん━━━━━━(゚∀゚)━━━━━━ キター!!!
061752302/11/15 03:14ID:???
>>615
今から寝て会社いきますんで、待ってください。
それにこんな汚いソース全部貼ったら荒らし見たいなんで。
0618まっつん02/11/15 03:45ID:uKssfMT8
>>617
いいわけはいらねえ。必要なのは貼るか貼らないか、はっきりすることだ。
0619DirectX10!!02/11/15 03:46ID:???
DirectX10!!
0620DirectX9!!02/11/15 03:53ID:???
DirectX9!!
0621名前は開発中のものです。02/11/15 04:16ID:???
じゃあ貼らない!
0622ProjectX2!!02/11/15 04:31ID:???
ProjectX2!!
0623名前は開発中のものです。02/11/15 05:56ID:???
(´-`).。oO(ロックマンX4やりたくなっちゃった)
0624まっつん02/11/15 06:24ID:???
ロックマンはやっぱ2が難易度的に最高。
0625DirectX4!02/11/15 10:56ID:???
DirectX4!
0626名前は開発中のものです。02/11/15 16:13ID:???
2はそんなにむずかしくない
0627名前は開発中のものです。02/11/15 20:11ID:???
(´-`).。oO(難しいかどうかじゃなくてバランスのことをいってるんだと思う)
0628名前は開発中のものです。02/11/15 20:44ID:???
最悪!
Radeonのドライバの設定画面に
「代替ピクセル センター」なる項目があるが、
この項目の意味を調べようとしてもヘルプにも載ってない、HPにも無い!
で、いろいろ検証した結果、なんとテクスチャの指定で0.5ピクセル分(テクセルじゃないよ)
勝手に足してしまうと言うとんでもない効果だったのですぜ!
0.5足すのはプログラムの側だろうがぁぁぁぁぁ!
「Radeonでテクスチャがぼやけるんですけど?」
なんていう原因不明のバグ報告が舞い込んできて、どこがいけないのか探していたが、
なんとなんとまぁ、これが原因!さいあくじゃ〜〜〜〜い!
漏れの一週間を返せ!!!
漏れ同じバグに苦しんだ人いまふかぃ?

鬱だ氏のう・・・
062952302/11/15 21:07ID:???
>>628
違うバクで一週間悩んでおります。
0630ミッキー02/11/15 21:55ID:???
ビルボード以外で炎を表現しているゲームあります??
0631名前は開発中のものです。02/11/15 21:58ID:???
>>630
スプライトでならいくらでも。
0632名前は開発中のものです。02/11/16 03:49ID:???

             人ヾ
           / ゚o\
          (´Д`O )
           (⊃o⊂゚)              
             U U
    ______∧_______
    クソスレはちゃんと削除依頼しないと
    ageられちゃうんですよ…
0633名前は開発中のものです。02/11/16 06:17ID:???
>>630
パーティクルでならいくつか。
0634名前は開発中のものです。02/11/16 08:03ID:???
>>630
サーフェスロックしてごにょごにょ
063552302/11/16 11:40ID:???
サンプルもD3DCREATE_MIXED_VERTEXPROCESSING指定してデバイス作って
文字表示してる奴はDrawText削って実行すると同じようにロックしてしまうんで、
バグだと思うんですよう。
一応環境書いておきます。
Athlon1G、Win2000sp3、geForce3、DirectX8.1b
同じ症状起きる人いないですか?
0636名前は開発中のものです。02/11/16 12:26ID:???



             人ヾ
           / ゚o\
          (´Д`O )
           (⊃o⊂゚)              
             U U
    ______∧_______
    クソスレはちゃんと削除依頼しないと
    ageられちゃうんですよ…
0637名前は開発中のものです。02/11/16 13:31ID:uUfXAzbl
D3DXFontで文字が表示されません・・・。
一応、HRESULTをチェックしても成功はしているみたいですが・・・。
LCPWSTRでなに?おしえて〜!
0638名前は開発中のものです。02/11/16 13:35ID:???
LPCWSTR?
いわゆる16bit unicode文字列だよ
0639名前は開発中のものです。02/11/16 13:41ID:uUfXAzbl
DrawTextWの第一引数でそれをしてするんだが、
const型の文字列じゃないといけないの?
char *strなんかで送られてきた文字列を表示させたいけど、できない・・・
0640名前は開発中のものです。02/11/16 13:46ID:uUfXAzbl
わかんないから、CreateSurfaceFromTextでテキストつかうよ・・・
0641名前は開発中のものです。02/11/16 14:06ID:???
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_mfcnotes_tn059.asp
0642名前は開発中のものです。02/11/16 16:17ID:???




             人ヾ
           / ゚o\
          (´Д`O )
           (⊃o⊂゚)              
             U U
    ______∧_______
    クソスレはちゃんと削除依頼しないと
    ageられちゃうんですよ…
0643名前は開発中のものです。02/11/16 16:42ID:???
   ↑
お前、寒いんだけど・・・
0644名前は開発中のものです。02/11/16 17:46ID:???
DirectDrawSurfaceで、プライマリサーフェスを
SYSTEMMEMORYに作るのはまずいのでしょうか。
サーフェス全部SYSTEMMEMORYにしてみたら
低スペック(Pen200)でも快適な動作になったので、
この方法を採用してみたいのですが、
どの文献見てもプライマリはビデオメモリに
と書いてあるので・・・
0645あぼーんNGNG
あぼーん
0646あぼーんNGNG
あぼーん
0647名前は開発中のものです。02/11/16 20:51ID:8J2K3wmZ
EQとかフル画面専用のゲームを
どうにかしてウインドウモードで動かせませんか?
0648名前は開発中のものです。02/11/16 21:52ID:???
>>647

void main(void)
{
  while(1)
    SendMessage(GetForegroundWindow(),WM_CLOSE,0L);
}
0649名前は開発中のものです。02/11/16 21:59ID:???
>>637
>LCPWSTR
LPCWSTRだろ。
マルチバイト文字列へのポインタ。

LP ポインタ
C const
W ワイド文字
STR 文字列
0650名前は開発中のものです。02/11/16 23:04ID:???
>>523
 SkinedMeshで実験してみた。家の環境Cele1.3,GF2MX400,Win2KSp2、Dx8.1で、
CreateDeviceのパラメータのpModeInfo->dwBehaviorは128(多分MIXED)、
DrawTextはコメントアウトしているけど、他のウィンドウで隠しても問題は
おきてない。
 あと、他人に試して欲しいなら、もうちょっと具体的に書いたほうがいいぞ。
俺も自分の方法が君の条件を満たしているか、イマイチ自信ないし。そもそも
やり方を探るのが面倒だ。
065165002/11/16 23:13ID:???
ちなみに、ランタイムはリテール版。
0652DirectX9!!02/11/16 23:14ID:???
DirectX9!!
http://www.microsoft.com/downloads/release.asp?ReleaseID=45160&area=search&ordinal=1
0653名前は開発中のものです。02/11/16 23:15ID:???
>>648
WM_CLOSEかよ!!
0654名前は開発中のものです。02/11/17 00:35ID:PWlU8B0V
まことに申し訳なく思う次第です。
ただいま、D3DXFontで文字を表示させることに成功したのですが、
一つだけ疑問に思う個所が御座います。
実はD3DXFont::DrawTextで日本語を表示させた時、画面の左隅や上端のほう
で表示させると、文字の表示がおかしくなってしまいます。
まことに遺憾では御座いますが、何事ぞご伝授のほうよろしくおながいいたします・・・。
065552302/11/17 00:46ID:???
>>650
わざわざ試してもらってすいません。
2MXは問題が起きないということは3との相性が悪いのかな?
ご指摘の通りもう少し具体的に書きます。

サンプルのTutorialsでも同じ症状が起きるんで、
簡単にいじれるTutorialsのTut04_Lightsあたりで説明します。
CreateDeviceのD3DCREATE_SOFTWARE_VERTEXPROCESSINGを
D3DCREATE_MIXED_VERTEXPROCESSINGにして、
ビルド→実行→ウインドウを完全に隠れる状態にする。
これでカーソルが飛び飛び状態になります。
CreateWindowのウインドウサイズを大きくするとさらにはっきりします。
ランタイムはデバック、リテール問いません。

とこんな感じなんですがどんなもんでしょう?
0656名前は開発中のものです。02/11/17 03:27ID:???
>>654
君は慇懃無礼という言葉を知っているか?
0657あぼーんNGNG
あぼーん
0658あぼーんNGNG
あぼーん
0659あぼーんNGNG
あぼーん
0660あぼーんNGNG
あぼーん
■ このスレッドは過去ログ倉庫に格納されています