トップページ⇒tech
984コメント310KB

【C++】 DirectX初心者質問スレ Part33 【C】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/12/22(水) 20:11:01
回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

前スレ
【C++】 DirectX初心者質問スレ Part32 【C】
http://hibari.2ch.net/test/read.cgi/tech/1288282082/
0232デフォルトの名無しさん2011/01/04(火) 02:41:58
>>231

ありがとうございます。このヘルプは以前読みました。このヘルプとマルチデバイスに
関するヘルプ等も読んで、組んでみているのですが、なかなかうまくいきません。シングルの
マルチヘッドデバイスで2画面なら既に出来ているんですが、複数のマルチヘッドデバイスで
「同時に」6画面出すのに苦労しています。

D3D10では出来ているんですね。なるほど。わけあって9を使っていますが、10も
考えてみる必要があるのかなぁ。幸い9と10は一つのコードから同時に使えるらしいですし。
0233デフォルトの名無しさん2011/01/04(火) 02:45:33
>>230でした。すみません。
02342282011/01/04(火) 11:27:42
うーん、この辺を読んでると
http://msdn.microsoft.com/ja-jp/library/ee422553(VS.85).aspx

複数のデバイスをフルスクリーンモードで同時に使うには、アダプターごとにデバイスを
作った上、それらがフォーカスウインドウを共有しなければならんとあります。
実際それで、マルチな独立デバイス的コードを書いて動画出力出来ました。(ヘッド間
で全然同期出来ませんけど...orz)

でも、そうなると、この辺の記述
http://msdn.microsoft.com/ja-jp/library/cc323931.aspx

にある、hDeviceWindowの説明とかみ合わなくてよくわかりません。実際
シングルのマルチヘッドデバイスで2画面のフルスクリーンモードを実現する
コードでは、主アダプタと従属アダプタにそれぞれ違うウィンドウをクリエイト
しないとうまくいきませんでした。

このあたりの不整合性が「マルチなマルチデバイス」がうまくいかない原因なのかな?
どなたかうまくいく方法ご存じないでしょうか。
DirectX9じゃそれは不可能だよ、という合理的な説明でもありがたいです。
0235デフォルトの名無しさん2011/01/04(火) 14:52:20
>>234
やり方はほとんどヘルプに書いてあるので、大雑把に手順を説明すると

ヘッドの数だけウインドウを作成する
D3DPRESENT_PARAMETERSの配列を作り、hDeviceWindowにそれぞれのウインドウをセット
CreateDeviceにD3DCREATE_ADAPTERGROUP_DEVICEのフラグを指定してデバイスを作成する
GetBackBuffer->SetRenderTarget->描画 をヘッドの数だけ行う
Present

3つ以上のヘッドがある場合に、2つだけ使うとかはできないと思う。
ヘッドの割り当ては、D3DCAPS9のMasterAdapterOrdinal、AdapterOrdinalInGroupで確認。
ヘッドごとに解像度が違う場合は、EnableAutoDepthStencilが使えない。
02362282011/01/04(火) 18:01:12
>>235

ありがとうございます。そのやりかたで、マルチヘッドデバイスを一つ作って
複数のモニタに出力することは既にできています。

問題は、例えば2出力あるボードが2枚あるとして、2つのマルチヘッドデバイスで
2x2の計4つに出力する方法です。
ようは、「マルチヘッド」デバイスを「複数」作って(その意味ではマルチデバイス)
そのすべてにフルスクリーン表示する方法です。
DirectX8までは複数のアダプタにフルスクリーン出力するにはそれぞれ個別の
デバイスを当てる方法が主流でした。DirectX9から「マルチヘッド」デバイスに
よって一つで同じボード上の複数のアダプタに出力しやすくなりました。
私が知りたいのはそれらを合わせたような、マルチxマルチヘッドデバイスの
実現が可能かどうか、ということです。
ひきつづきよろしくお願いします。
0237デフォルトの名無しさん2011/01/05(水) 14:00:25
DirectX 1.0のころはどうやって3Dを描画していたのですか?
0238デフォルトの名無しさん2011/01/05(水) 15:23:20
行列バッファじゃなくてなんだっけ?
OpenGLみたいなの
0239デフォルトの名無しさん2011/01/05(水) 15:29:58
Direct3Dは存在していないから、
ビデオカード専用のAPIを使ったり、OpenGLを利用したり、
CPUで計算して勝手に各自でそれっぽく作ってただけだよ。
0240デフォルトの名無しさん2011/01/05(水) 16:59:58
DirectX1.0ってWinGだろ
0241デフォルトの名無しさん2011/01/05(水) 17:39:44
WinGとDirectXの間にGameSDKとかいうのがなかったっけか
0242デフォルトの名無しさん2011/01/05(水) 18:01:15
GameSDKが後からDirectX1扱いされているだけ。
WinGは無関係。
0243デフォルトの名無しさん2011/01/05(水) 18:18:03
>239-242
どもでした
0244デフォルトの名無しさん2011/01/05(水) 20:13:01
ここの人はDX1.0の頃からコード書いてるのか
何歳なんだよ
0245デフォルトの名無しさん2011/01/05(水) 21:25:52
3Dのゲームに使えそうなリアルタイム変形に関する本って何かありませんか?
GPUGEMSなら研究室にあるんですが
0246デフォルトの名無しさん2011/01/05(水) 21:45:22
リアルタイム変形ってなんだよ。
モーフィングでもやりたいのか? それともスキニングか。
0247デフォルトの名無しさん2011/01/05(水) 21:48:45
多分、単純な頂点の移動自体切り分けというか、処理が見えてないと思われ
0248デフォルトの名無しさん2011/01/05(水) 22:22:34
すいません…今の自分の言葉で説明できないので(ゲームエフェクト作りたいということだけですので)みなさん参考にした本など教えて欲しいです
ゲームエフェクトマニアックスは持ってます
0249デフォルトの名無しさん2011/01/05(水) 22:29:37
本から吸収できてないんだから、書籍をいくら読んでも無駄。
とにかくチュートリアルを見ながら少し付くこつこつ作れ。
0250デフォルトの名無しさん2011/01/05(水) 22:33:50
ゲームエフェクトマニアックスに書かれていることは理解していますが。無駄って言い方は傷付きます
0251デフォルトの名無しさん2011/01/05(水) 22:38:02
すいません、情けない書き込みでした…
自分で探してみます
0252デフォルトの名無しさん2011/01/06(木) 00:01:56
>>238
実行バッファじゃね?
0253デフォルトの名無しさん2011/01/06(木) 00:07:25
>>250
とりあえず数学やれ。マジで
周期関数で頂点動かせ。話はそれから
0254デフォルトの名無しさん2011/01/06(木) 00:15:03
>>248
もう300冊以上あってオススメなんてわかんね
時代もズレてるし
色んな本読んだほうがいいな
いいと思った本片っ端から買えよ
0255デフォルトの名無しさん2011/01/06(木) 00:29:21
>>236
マルチヘッドを複数ってことだったか。
それは、さすがに検証できる環境がないな。

マルチデバイスとシングルデバイスマルチヘッドのどっちもできてるなら、
その発展でできるんじゃない?
わざわざアダプタグループの定義があるくらいだから、仕様としては
問題ないと思う。
0256デフォルトの名無しさん2011/01/06(木) 01:06:52
三角関数で動かすことぐらいはできます。そこまで頭悪くありません
あんまり覗く価値ないですねここ。二度ときません
0257デフォルトの名無しさん2011/01/06(木) 01:16:54
イライラしたら負けだぞ
0258デフォルトの名無しさん2011/01/06(木) 01:21:38
まあ気持ち悪い連中はスルーしておけばいいんだ、力を抜こうぜ
0259デフォルトの名無しさん2011/01/06(木) 03:49:41
使用可能なテクスチャステージの数を得る方法を教えてください
0260デフォルトの名無しさん2011/01/06(木) 05:01:11
>>259
GetDeviceCaps

単純にステージ数ならMaxTextureBlendStages
使用できるテクスチャ枚数はMaxSimultaneousTextures

ステージ数が8ない機種なんて、RivaTNT以前とかの話になるから
基本的に8あると思っていい。
テクスチャ枚数はGeForce4くらいまでは2枚、それ以降は8枚使える。
0261デフォルトの名無しさん2011/01/06(木) 08:44:40
>>256
でも自分がどこまでできるか言わなかったよね
なのに他の人には「わかれよ!」っていうんだよね

いままでは回りの人は君のいうこと全部いいように汲んでくれたと思うけど
これからはそういうの少ないから気をつけてね
0262デフォルトの名無しさん2011/01/06(木) 09:15:59
CreateDIBSectionって、GameSDKだっけ?WinGだっけ?
>>244
女性に歳を聞くもんじゃないよ?
0263デフォルトの名無しさん2011/01/06(木) 10:51:08
WinG
0264デフォルトの名無しさん2011/01/06(木) 11:09:58
>>261
こんな掲示板でしか説教できないんだね
かわいそうだね
02652282011/01/06(木) 13:46:55
>>255
>わざわざアダプタグループの定義があるくらいだから、仕様としては
>問題ないと思う。
そうなんです。自分もまさにそう思って始めたんですが、なかなか
うまくいきません。理由を探っているうちに234で書いたような考え

すなわち、

複数デバイスで同時フルスクリーンの場合と、マルチヘッドデバイス
を作るときの場合とで、ウインドウの当て方に矛盾があるように
思えてきたわけです。

で、誰か出来るか出来ないかだけでもご存じないかと・・・・・
0266デフォルトの名無しさん2011/01/06(木) 17:07:25
実例で学ぶ ゲーム3D数学 オライリージャパン で勉強始めたのはいいのですが。
サンプルソースがDiectX8なんです。PCに入っているのはDX9で、何処かにDirectX9
に移植したサンプルソースは有りませんでしょうか?
0267デフォルトの名無しさん2011/01/06(木) 17:10:43
自分で移植すれば勉強になるだろう。
0268デフォルトの名無しさん2011/01/06(木) 17:15:17
最初は移植しようと始めましたが、DirectXを勉強している身にはとても出来ないレベルに
感じました、DX8とDX9の違いも分からず。困難であると実感したので、ここで聞いています。
0269デフォルトの名無しさん2011/01/06(木) 17:17:51
PCに入ってるのがDX9でも、DX8を使えるはず
いったんDX8を学ぶという手もある
0270デフォルトの名無しさん2011/01/06(木) 17:19:43
>>265
234のリンク先を見ても、べつに矛盾はしてないと思うけど。

まとめると、
1. フォーカスウインドウは全てのデバイスで共有する。(同じウインドウを指定する)
2. デバイスウインドウはアダプタ(ヘッド)ごとに異なっていないと駄目。
3. 必ず1つのデバイスがフォーカスウインドウをデバイスウインドウとして使用しなければいけない。
0271デフォルトの名無しさん2011/01/06(木) 17:21:24
>>268
DX9SDXを入れてもDX8SDKは入ってません><
0272デフォルトの名無しさん2011/01/06(木) 17:28:42
そうだっけ。じゃあDirectX8のSDKを入れれば・・・って、もしかして手に入らないのか。
0273デフォルトの名無しさん2011/01/06(木) 17:33:57
はい、現在入手不可能です
02742282011/01/06(木) 17:47:06
>>270

なるほど。明解な説明ありがとうございます。
もうちょっといじってみて、後ほど結果など報告します。
0275デフォルトの名無しさん2011/01/06(木) 17:49:31
実例で学ぶ ゲーム3D数学 オライリージャパン 
のサンプルソースは↓のURLの関連ファイルからダウンロードです。

http://www.oreilly.co.jp/books/9784873113777/

本に載ってるライセンスは、ソースの大半を製品やCDへ乗せる場合は連絡が
必要ですがその他は、自由です。
このなかのviewerとcommonをまとめてコンパイルしています。VC++2008EE使用。
どなたか出来ませんでしょうか?
エラーを出すソースは全ソースファイルの一部です。
0276デフォルトの名無しさん2011/01/06(木) 17:58:19
August 2007以前なら8.0のヘッダ類も入ってるがD3DXとかはないな
0277デフォルトの名無しさん2011/01/06(木) 21:48:03
http://www1.axfc.net/uploader/Sc/so/191323.zip
何上げれば良いのか分からなかったのでviewer.exeだけ。
環境はVC++2008EEとDirectX SDKのAugust 2007
0278デフォルトの名無しさん2011/01/06(木) 22:08:51
>>277
よろしければ、修正したソースを上げて貰えると嬉しいです。
ライセンス的には問題ないです、お願いいたします。
02792662011/01/06(木) 22:20:44
あ、ちなみに、>>278は>>275で>>266から始まる、一連の質問者です。
0280デフォルトの名無しさん2011/01/06(木) 22:24:57
>>278
コンパイルエラーなんて一つしか出なかったしログ見たらすぐ分かるしで
わざわざファイル上げるまでもないような?
d3dx8.libはなくてもd3d8.libがあればとりあえずおkらしい
0281デフォルトの名無しさん2011/01/06(木) 22:25:24
手持ちの本の付録CDにDirectX8.0のSDK一式あったけど、これ勝手に再配布していいの?
圧縮しても377Mあるんだが・・・
02822662011/01/06(木) 22:26:56
え!? すみませんDX9でお願いしています m(_ _)m
02832662011/01/06(木) 22:28:40
>>281
MSはサポート終了となり、一切の情報が消えていました。
配布はいいと思うのですが… 私には分からないです orz
0284デフォルトの名無しさん2011/01/06(木) 22:34:36
EULAを全く見ないで「いいと思うのですが・・・」って・・・
0285デフォルトの名無しさん2011/01/06(木) 22:42:16
かわいそうにw
マイクロソフトは馬鹿だなw
テメェでバージョンつけたくせに配布止めちまうからなw

古いバージョンの本をゴミにすることで経済効果でも狙ってんのかねぇ・・・(笑)
ちーん!
02862812011/01/06(木) 22:45:58
そういえばお約束のレスがまだだったな。
>エラーを出すソース
これのエラーは何と出てるんだ?
02872662011/01/06(木) 22:46:33
実例で学ぶゲーム3D数学の日本語版の初版は2008年10月1日です。
これそれほど古くないでしょ>< (泣き泣き
0288デフォルトの名無しさん2011/01/06(木) 22:53:02
>>285
一体なんのためのバージョンなのかわからないな
02892662011/01/06(木) 22:53:14
少し手を加えているので。エラーが違うと思いますが。
c:\dunn_example_code\common\renderer.cpp(446) : error C2660: 'IDirect3D9::EnumAdapterModes' : 関数に 3 個の引数を指定できません。
c:\dunn_example_code\common\renderer.cpp(606) : error C2660: 'IDirect3D9::EnumAdapterModes' : 関数に 3 個の引数を指定できません。
c:\dunn_example_code\common\renderer.cpp(700) : error C2065: 'D3DPRESENT_RATE_UNLIMITED' : 定義されていない識別子です。
c:\dunn_example_code\common\renderer.cpp(705) : error C2039: 'FullScreen_PresentationInterval' : '_D3DPRESENT_PARAMETERS_' のメンバではありません。
c:\program files\microsoft directx sdk (march 2009)\include\d3d9types.h(1493) : '_D3DPRESENT_PARAMETERS_' の宣言を確認してください。
c:\dunn_example_code\common\renderer.cpp(770) : error C2065: 'D3DTSS_ADDRESSU' : 定義されていない識別子です。
c:\dunn_example_code\common\renderer.cpp(1065) : error C2065: 'D3DVIEWPORT8' : 定義されていない識別子です。
c:\dunn_example_code\common\renderer.cpp(1065) : error C2146: 構文エラー : ';' が、識別子 'viewData' の前に必要です。
c:\dunn_example_code\common\renderer.cpp(1065) : error C2065: 'viewData' : 定義されていない識別子です。
c:\dunn_example_code\common\renderer.cpp(1837) : error C2065: 'D3DTSS_ADDRESSV' : 定義されていない識別子です。
c:\dunn_example_code\common\renderer.cpp(1954) : error C2664: 'IDirect3DDevice9::SetVertexShader' : 1 番目の引数を 'int' から 'IDirect3DVertexShader9 *' に変換できません。(新しい機能 ; ヘルプを参照)
例としてこんな物が 、もっと出ています。
02902662011/01/06(木) 23:03:39
うわ〜ん><
02912662011/01/06(木) 23:05:03
代わりに泣いてくれてありがとー
0292デフォルトの名無しさん2011/01/06(木) 23:05:12
うぜぇ
0293デフォルトの名無しさん2011/01/06(木) 23:14:22
まあ、これはやめたほうがいいね
ページサンプルみた感じそこまでSDKに依存してる内容でもなさそうだから
入門書2〜3冊こなせばバージョンちがくても読めるようになるっしょ
とりあえず別のやっとけばぁ?w

こことかいいんじゃね?
俺もよくお世話になってる
http://marupeke296.com/index.html
02942662011/01/06(木) 23:17:54
>>293
そこを見てやっていたのですが、今ひとつマトリックス演算が理解できず。
そこの紹介で、実例で学ぶゲーム3D数学を参考にして理解しましたと、有ったので。
買ったんですよ。
0295デフォルトの名無しさん2011/01/06(木) 23:19:22
GDIができるなら、塗りつぶした三角形を自由に書けるようにして、行列で回転とかやれば劣化版だけど勉強にはなるんじゃないかと。
それともDXじゃないといけない理由があるとか?
0296デフォルトの名無しさん2011/01/06(木) 23:20:51
見つけてきたぞ

ttp://www.microsoft.com/downloads/en/details.aspx?FamilyId=B7BC31FA-2DF1-44FD-95A4-C2555446AED4&displaylang=en
これを落すヨロシ
お望みのd3d8.hが入ってる
02972662011/01/07(金) 00:00:12
>>296
できました、本当にありがとうございます。
しかし、このSDK何処かに保存して、最新のSDK入れて区別しないとですね。
いま2004上書きしちゃいました。
でも、できるようになったので嬉しいです。ありがとうございます。
0298デフォルトの名無しさん2011/01/07(金) 02:14:20
DX8から9の変更点ってそんなにあったっけ?
8のサンプルコードと変更点まとめてあるとこ見ながらやってるけどほとんど問題ないよ
せいぜい引数が1個増えたり減ったりしてる程度
0299デフォルトの名無しさん2011/01/07(金) 06:01:18
あわれwww
0300デフォルトの名無しさん2011/01/07(金) 07:30:31
>>298
HLSLなくね?
描画部分がほぼ組みなおしになった気が・・・
0301デフォルトの名無しさん2011/01/07(金) 19:53:10
case WM_MOUSEMOVE:
GetCursorPos(&point);
ScreenToClient(hwnd, &point);
Drawtest(point.x, point.y);
break;

で呼んで
void Drawtest(int x, int y)
{
char str[] = "Hello World";

// 描画開始
g_lpD3DDevice->BeginScene();

RECT rc;
rc.left = x;
rc.top = y;
rc.right = x+16*strlen(str);
rc.bottom = y+16;

// 描画処理
g_font->DrawText(NULL, str, -1, &rc, NULL, D3DCOLOR_XRGB(255,255,255));

// 描画終了
g_lpD3DDevice->EndScene();
// 表示
g_lpD3DDevice->Present( NULL, NULL, NULL, NULL );
}
Hallo Worldの文字がマウスにぴったりと追従してくれません
ウィンドウの左上から離れれば離れるほど、カーソルと文字がの間が離れて行ってしまいます。
どこがいけないのでしょう?
0302デフォルトの名無しさん2011/01/07(金) 20:01:10
60fpsで1フレームあたり1万ポリゴン描画は数年前の普及型オンボードやネットブックでは厳しいかな?
たとえば、入力や衝突だけ毎回やってif文で奇数フレームだけ描画とかのほうがいいかな?
0303デフォルトの名無しさん2011/01/07(金) 21:00:30
>>302
たとえばMQOのフリー版で試験することは一応可能だが。APIはDXで。
あれで動かなそうだったら、もっとロジック突っ込むゲームでは無理じゃね?
0304デフォルトの名無しさん2011/01/07(金) 21:46:14
>>301
http://msdn.microsoft.com/ja-jp/library/bb173962(v=vs.85).aspx
第5引数のFormatを調整してみては?
0305デフォルトの名無しさん2011/01/07(金) 22:14:25
簡単なMQOのポリゴン増殖講座〜。
1、基本形状を作る。
2、メニューからオブジェクトパネルをだしてオブジェクトのプロパティから、曲面分割する。
3、メニューから曲線をフリーズする。
4、気が済むまで2に戻る。
5、マウスの左ドラッグ。おもいかも〜。

ポリゴン数はオブジェクトのプロパティから確認できるので、簡単♪
ちなみに、C2DとRadeonHD5670でプロパティの数字で20万四角形位出すと10フレーム/秒位だ。体感で・・・。
0306デフォルトの名無しさん2011/01/07(金) 23:40:29
>>302
Radeon HD 4350
ただ表示するだけで10k/1frame @60FPSくらいらしいよ
これ基準に考えると良いかも
0307デフォルトの名無しさん2011/01/08(土) 07:57:06
でも1万っていうとかなりの量だな
俺の同人ゲーが1キャラ5〜600ポリで地形もそんなもんだから
随分たくさん画面に出せるな
0308デフォルトの名無しさん2011/01/08(土) 08:55:33
頂点処理能力だけで言えば秒間60万ポリゴンなんて7-8年前のチップでも余裕なレベル
ぶっちゃけ頂点数だけじゃ評価できないよ

足引っ張りそうなのは描画回数とか
フィルレートとか半透明処理とか当時あんまり速くなかったピクセルシェーダとか
0309デフォルトの名無しさん2011/01/08(土) 09:22:53
シェーダー使うだけで半分になる?
03103012011/01/08(土) 12:18:19
>>304
左上に合わせたり、いろいろ試したのですが
直りませんでした

こんな感じです
http://www.dotup.org/uploda/www.dotup.org1347139.png
0311デフォルトの名無しさん2011/01/08(土) 13:05:42
右下隅にカーソルに合わせたときのxyの値がウィンドウのサイズと一致するか調べなよ
0312デフォルトの名無しさん2011/01/08(土) 13:11:23
ウィンドウのサイズが 640x480 で
クライアント領域が 624x442 くらいか
0313デフォルトの名無しさん2011/01/08(土) 13:27:15
640*480で

623(横)*441(縦)
でした
0314デフォルトの名無しさん2011/01/08(土) 13:37:20
ウィンドウ作る時にシステム領域を除いたクライアント領域が640x480になるようにするか
クライアント領域のサイズで割って補正しる
03153012011/01/08(土) 14:16:47
> GetCursorPos(&point);
> ScreenToClient(hwnd, &point);


で、クライアント領域になってるのでは?と思うので
Fontを描くときになんか間違ってるのではないかと思って
0316デフォルトの名無しさん2011/01/08(土) 14:34:52
DirectXのバックバッファのサイズと
クライアント領域のサイズが違うんじゃないか?
0317デフォルトの名無しさん2011/01/08(土) 14:41:05
>>316
うまくいきました!
答えてくれた人たち、ありがとうございます
0318デフォルトの名無しさん2011/01/08(土) 15:48:35
うまくいきました! じゃねーよ。
原因と対処方を書け。お前は解決してうれしいかもしれないが、他の人にとってはまったく無意味。

0319デフォルトの名無しさん2011/01/08(土) 19:18:28
>>318
>>316に書いてあるだろうが
0320デフォルトの名無しさん2011/01/08(土) 19:20:17
この程度も理解できないとかウゼイよね
0321デフォルトの名無しさん2011/01/08(土) 21:40:23
初心者質問スレだろ
何が悪いんだよ
0322デフォルトの名無しさん2011/01/09(日) 05:29:29
320は318に言ってるんじゃないの?
0323デフォルトの名無しさん2011/01/09(日) 09:14:58
2ch ヘッドラインニュースBBY(一覧性が秀逸)http://headline.2ch.net/bbynews/

どんな難解ニュースでも掲示板の書き込みを読んで簡単に理解。
ニュースを勢い順にカテゴリー別で表示する"2NN"(2ちゃんねるニュース速報+ナビゲーター)もどうぞ。
0324デフォルトの名無しさん2011/01/09(日) 10:14:38
HLSLのSamplerとSampler2Dって同じ動作なん?
0325 [―{}@{}@{}-] デフォルトの名無しさん2011/01/09(日) 15:25:19
256色のパレットカラー形式で途中でパレットを切り替えて
アルファブレンドを使わずにフェードイン/フェードアウトしたいんですが
DirectDrawにそういうAPIがあるようなんですがこの場合に
ハードウェア支援は受けられるんでしょうか。
0326デフォルトの名無しさん2011/01/09(日) 15:41:26
それ以前に256色をサポートしてるチップ自体が既に存在していませんので
0327 [―{}@{}@{}-] デフォルトの名無しさん2011/01/09(日) 16:29:02
ということはハードウェアアクセラレーションを受けるには
24ビットとか32ビットとかで処理する必要があるということですかね
その場合にアルファブレンドを使わずにパレットアニメーションのような
フェードイン、フェードアウトをするにはどうすればいいですか
色違いの画像を予め用意する以外の方法でお願いします
例えば入力画素のRGB値が特定の値だったら別のRGB値に変換して
高速に描画をするようなことはできますか。OpenGLなどではどうでしょうか
0328デフォルトの名無しさん2011/01/09(日) 17:15:43
アルファブレンドを禁止する理由は何
0329デフォルトの名無しさん2011/01/09(日) 17:26:16
普通にいたポリを画面いっぱいに
黒で線形合成か白で減算合成かじゃだめなのか
0330デフォルトの名無しさん2011/01/09(日) 18:33:54
シェーダー使えばインデックスパレットみたいな事を擬似実装できるとは思うけど
フェイドにパレットアニメーションを使う意味が分からない
0331デフォルトの名無しさん2011/01/09(日) 21:08:37
スキンメッシュをバイナリにしてヘッダに埋め込んだら凄いサイズになったんだけど小さくしたい。
何かいい方法ない?
元の.xから4倍になってる。
■ このスレッドは過去ログ倉庫に格納されています