[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/06 18:57 / Filesize : 237 KB / Number-of Response : 929
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2007/09/08(土) 22:21:46 ]
※回答する人も、質問する人も必ず読んでください

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

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

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

【C++】 DirectX初心者質問スレ Part13 【C】
pc11.2ch.net/test/read.cgi/tech/1182351826/

756 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 20:46:36 ]
海外デベロッパはIMEの動作しない環境で作ってテストしない&修正しないもんだから、Vistaでもう致命的におかしくなった話。
Vistaなプログラミングしていれば周知の事実だぜ。

757 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 23:46:05 ]
海外全部じゃなくて、欧米だな

758 名前:デフォルトの名無しさん [2007/11/05(月) 13:34:46 ]
欧米か・・・

759 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 21:15:11 ]
米だけじゃね

760 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:07:11 ]
漢字圏以外だと思うが

761 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 01:51:12 ]
欧とか印のデベロッパの傾向とかはっきり言って知らない

762 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 07:55:30 ]
インド製の有名なゲームの体験版とかあったら教えてくれ。それで判断する

763 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 08:10:28 ]
英語のヘルプはほとんどインド製。
ゲームじゃないが。

764 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 16:08:50 ]
インドの標準語は英語



765 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 16:56:17 ]
違いますよ

766 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 21:43:13 ]
インド人の微妙に高いカーストのイケメンのアニオタプログラマガ
半裸で作ったゲームないの


767 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 23:14:09 ]
カーストなんて言葉聞いたの小学校の社会の時間以来だ。

768 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 12:41:13 ]
DirectX10で書いた場合、vista専用になってしまいますか?

769 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 14:50:57 ]
DirectX10専用

770 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 04:48:53 ]
インドのゲームってやっぱり敵と踊ったりするの

771 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 10:49:42 ]
DirectXを初めて学ぶのにお薦めの本を教えてください

772 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 11:58:38 ]
猫でもわかるDirectX 〜 3Dグラフィックス基礎編(1)
www.amazon.co.jp/dp/0689842120

773 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:12:06 ]
本読んだことないけど、使えている俺が居る。

774 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:25:18 ]
勘と試行錯誤って大事だよ



775 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 18:32:19 ]
>>772
リンク先間違ってない?

776 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 06:35:15 ]
ネタだろ

777 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 21:16:44 ]
DirectX & C++ & Windowsでシェーダプログラムを組んでいます。
処理が複雑になりすぎて、レジスタ数が足りないというエラーを返される
ようになってしまいました。
この場合1パスで行っていた描画を2パスにすれば解決するのでしょうか?
また、その場合どのようにシェーダの記述を行えばよいのでしょうか?

778 名前:777 mailto:sage [2007/11/09(金) 22:06:21 ]
やっぱり分からないので再度書き込みをさせて頂きます。
1パス目で行った描画ピクセルに2パス目で色相変換の処理を組み込みたいのです
しかしながら1パス目の描画結果を取得する方法が分かりません。

下のように2パス目のピクセルシェーダを記述しています。
PS_OUTPUT PS_HueShader( PS_OUTPUT In ){//TESTとして1パス目の記述結果をそのまま出力する
return In;
}

このように記述すれば引数Inには1パス目のピクセルシェーダ描画結果が入っていると
思ってたのですが実際には1パス目の頂点シェーダのDiffuseの値が入ってます。
どのようにしたら1パス目ピクセルシェーダ終了時のピクセルの値を操作できる
のでしょうか?

779 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:20:03 ]
1パス目でレンダーターゲットにしたテクスチャに描画して
2パス目でそいつをピクセルシェーダの入力にする
ってのが基本

780 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:34:03 ]
ていうかレジスタが足りないなんてエラー初めて聞いた。
プログラムコードがでかすぎるってのならともかく…

781 名前:777 mailto:sage [2007/11/10(土) 01:42:28 ]
>779
分かりやすい解説ありがとうございます。
2パスだと描画用のテクスチャを別に用意する必要があるので、処理が重そうですね。
今回は色相変換を諦めようと思います。アドバイスありがとうございました。

>>780
色相彩度変換はレジスタ数を大量に必要とするのでシェーダのバージョンが
低いとすぐにレジスタが足りないというエラーが起きてしまいます…

782 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:43:46 ]
色相彩度変換て具体的にどういうのか知らないんだけど、そんなに消費するのか。
セピア変換とかなら単に行列かけるだけだと思ってたけど
話にならないくらい複雑なことするのかな

783 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 02:18:16 ]
RGB情報を一度HSV(色相・彩度・明度)の情報に変換して、各値を
操作してRGB値に戻す…というやり方でやってますんで、処理としては
結構複雑です・・・。検索するとシェーダサンプルが見つかると思います。

784 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 09:18:39 ]
HSVとRGBの変換が大変そうだね…
てか、ソース見て俺も1回やったこと思い出した。CPUでだけど。



785 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 09:32:46 ]
別にマルチパスレンダは重くないと思うぞ。
重くなる要素が見当たらないし。
VRAMがオーバーフローするなら別だが。


786 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 11:09:51 ]
シェーダでHSV変換なんてただのエフェクトサンプル以外の使い道あるの?
実用しないなら遅くていいじゃん。

787 名前:デフォルトの名無しさん [2007/11/10(土) 17:01:29 ]
シェーダをある程度理解されている方に質問です。

頂点シェーダに1回に送られてくる頂点情報は、基本的に1つですよね。
私は頂点同士の計算がしたいのですが、その為には複数の頂点が必要になります。

(例)
vertex1 と vertex2 でなんらかの計算
vertex1 と vertex3 でなんらかの計算

というように、送られてきた頂点と、他の頂点を使って計算をしたいのです。

こういうことはシェーダでは可能なのでしょうか?
ちなみにHLSLを使っています。

どうぞ宜しくお願いします。

788 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:30:57 ]
シェーダが走る前の特定の頂点情報が必要なら、レンダリング前に定数レジスタに
値を入れてからシェーダを走らせる。

あとは、頂点フォーマットを拡張して、レンダリングを開始する前に、
必要な他の頂点の情報を自分の頂点情報に入れておけば、シェーダで利用できる。

DirectX9までは、基本的にシェーダが走ってる最中の別の頂点の情報が必要な場合、
取得は不可能なはず。(上のような、小細工が必要)

DirectX10のシェーダは、その辺が可能って聞いてるけど、詳しい人ヨロシク。

789 名前:デフォルトの名無しさん [2007/11/10(土) 17:49:52 ]
>>788
ご回答していただきありがとうございます。

もう少し具体的に教えてもらいたいのですが、

・レンダリング前に定数レジスタに値をいれる
・必要な他の頂点の情報を自分の頂点情報に入れておく

とは具体的にどうすれば良いでしょうか。

いろいろ本やサイトで調べたのですが、
これに関して掲載されていなかったので投稿させていただきました。
初心者で申し訳ありません。

790 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:53:02 ]
>>787
DirectX10のジオメトリシェーダなら
入ってきた三角形に対して新しい頂点を生成したりすることができるよ

でも、やる内容によるんじゃないかなぁ
DirectX9世代ではピクセルシェーダで頑張ってやってた処理が多い

791 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:54:41 ]
>>789
>・レンダリング前に定数レジスタに値をいれる
こっちは多分、君の言う目的を達成できない方法だよ
プリミティブを描画している間、どの頂点にも同じ情報を送ることができる
まぁ、普通のレジスタの使い方

>・必要な他の頂点の情報を自分の頂点情報に入れておく
これは頂点に他の頂点のコピーを複製していれておく方法。
例えば
struct VERTEX
{

792 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:57:05 ]
SHIFT+Enterで書き込んでしまった
struct VERTEX
{
float4 Position : POSITION;
float4 Texcoord : TEXCOORD;
};
って頂点だったら
struct VERTEX
{
float4 Position0 : POSITION0;
float4 Texcoord0 : TEXCOORD0;
float4 Position1 : POSITION1;
float4 Texcoord1 : TEXCOORD1;
float4 Position2 : POSITION2;
float4 Texcoord2 : TEXCOORD2;
};
みたいにしておいて、他の頂点に触れるようにしておく。
かなり強引な方法(単純に考えてデータ量3倍)

793 名前:787 [2007/11/10(土) 18:01:40 ]
皆様、早速のご回答ありがとうございます。

ある本を読んでみると、頂点情報をテクスチャに保存して
それをピクセルシェーダで使用すると書いてあるのですが、
具体的にどうすればいいのか分かりません。

複数の頂点情報をテクスチャに保存することってできるのでしょうか?

794 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:08:06 ]
>>793
そりゃ例えばARGB32Fのフォーマットなら、
1ピクセルにfloat4の情報を書き込めるってだけだよ

そもそも具体的に何をしたいのかが分からないから何とも言えない…



795 名前:787 [2007/11/10(土) 18:18:37 ]
私が具体的に行いことを述べます。

例えば、頂点数が「5」のオブジェクトがあります。
1つの頂点に対して、他の全ての頂点と計算がしたいので

v1-v2 v1-v3 v1-v4 v1-v5
v2-----------同じ------------
v3-----------同じ------------
v4-----------同じ------------ 
v5-----------同じ------------

※ -← は計算するということ

と計算がしたいので、4×5 = 20回分計算が必要になるわけです。
こういう処理をGPU上で計算したいと思っています。
何か良い方法がありますでしょうか。

796 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:20:26 ]
シェーダーで計算したいってことなのかな・・・

797 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:27:57 ]
>>795
いや、それって方法論でしょ?
何を表現したいかってことだよ
それによってはそもそもその手法が正しいのか、って話になるから

まあ、よほど重い処理でない限り、頂点シェーダで強引に計算してしまえばいい
大抵はピクセル処理でボトルネックになってしまうので、どうでもいいんで

798 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 20:08:54 ]
>>795
だから、>>788で書いたとおり、DirectX9では無理。DirectX10のジオメトリシェーダでは可能。

無理だから、事前に「自分で」必要な頂点の情報を、対応する頂点に「仕込む」等の処理が必要になる。
ある頂点で参照可能な別頂点の数は、入力となるvレジスタの数で決まるから、「あるプリミティブ全体を
対象とする任意の頂点を相互参照」するなんてDirectXでは完全に無理。

このヒントを聞いて、「頂点に他の頂点を仕込む方法が具体的にわからない」なら、
シェーダの理解が足りて無いってことだから、

ttp://marupeke296.com/DXPS_No3_BasicOfVertexShaderProgram.html

この辺の一番上の図を見て、頂点シェーダの演算部が参照可能なデータについて、もう一度整理する事を
お勧めする。

>>797もいってる通り、実現方法を変更する方が現実的なんじゃないかな?

799 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:17:22 ]
便乗して質問
>>792のようにPosition0〜2まで3つ設定すると
そこに何入ってるの?


たとえば {1 1 0} {0 0 0} {-1 1 0} の三角形があったらどうなるの?

800 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:28:57 ]
何が入ってるかじゃなくて
何を入れるかを自分で決めるんだ

801 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:33:10 ]
ごめん、Cgだから
何を入れるというと uniform型を宣言すると思ってしまって。

Cgでも未だに
struct IN{
float4 position1 : POSITION
float4 color : COLOR
}
に何が入ってるのかわかってなくて。
uniform型なら、明示的にブチ込んでるからわかるんだけども

802 名前:デフォルトの名無しさん [2007/11/10(土) 21:48:57 ]
実際のところ、頂点シェーダの
入力パラメータが何であるかなんで
どうでもいいことだし、何を渡してもかまわない。
ただ最低限、同次頂点座標を1つ出力しなければならないってだけだ。


803 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:49:30 ]
>何が入ってるのかわかってなくて
工工工工工工エエエエエエ(´д`)エエエエエエ工工工工工工

804 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:53:48 ]
>>802
何が入ってるのかわからないままだと、結局何もわかってないままで
>>803みたいなこと言われるので・・・



805 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 15:53:09 ]
質問です。

DirectX SDKのサンプルって、みんな「コード生成」->「ランタイムライブラリ」の設定が「マルチスレッド デバッグ」になってるじゃないですか。
これを、「マルチスレッド デバッグ DLL」にしてビルド通して実行しようとすると「MSVCR80.dllが見つかりませんでした」とか「MSVCR80D.dllが見つかりませんでした」
と言われて実行に失敗してしまいます。
これ、対処法ってないんでしょうか。

というのも、自前で作ったライブラリとSDKサンプルを組み合わせて使いたいんですが、ライブラリが「マルチスレッド (デバッグ) DLL」の設定でビルドしてあるものだから、
合わせたいんです。

806 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 16:26:41 ]
見つかる場所 (PATHの通ってる場所とか) にDLLを置いとけばいいんじゃないの

807 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:35:07 ]
最近ワイドモニターのノートPCを使い始めたのですが、
フルスクリーンのゲームなどをするときに横に伸びてしまいます。
そこで、特定のサイズでフルスクリーンにするとき、自動的に左右をパディングして真ん中だけを使って写すようにしたいのですが、
そのようなソフトウェアを作ることは可能でしょうか?

808 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:40:26 ]
はい。

809 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:45:25 ]
ちなみに、そのようなハードウェアを作ることも可能ですよ。

810 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:12:02 ]
でもそこらの同人ゲームはフルスクリーンで特に何もやってないのがほとんどじゃん。


811 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:36:58 ]
>>810
TL頂点使ってると比率が変わるだけで表示しているものの位置が変わるからね。

812 名前:デフォルトの名無しさん [2007/11/11(日) 22:07:15 ]
ドラクエ7の戦闘開始時に画面がばらばらに落ちる処理
をdirectxでやるのに参考になるサイトがあれば
教えてください。

813 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:33:27 ]
ttp://www.nicovideo.jp/watch/sm1495093
ニコニコだけど、これ自作描画エンジンらしい。

エンジンどーこーわからんが、すげぇや

814 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:38:25 ]
DirectXなの?



815 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:39:27 ]
>>813
どーゆーレベルのエンジンかわからんが

それでもスゴイ!と言わざるを得ないw


俺なんて、DirectXのサンプルブラウザーのチュートリアル4を
ウンコをつんつんするような感じで弄ってるところだぞ

816 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:46:48 ]
>>813
開発者のHP見てきた

3Dアクションゲーム作っちゃうレベルの人なので、
素人から見るとすごいが、この人のレベル的にはそんなに凄くないw

817 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:53:59 ]
確かにすごい

トゥーンレンダリングエンジンの開発
キャラのモデリング作成
キャラのテクスチャ作成
モーション付け
アニメーション付け

考えただけで気が遠くなる

818 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:59:16 ]
しかし、SIが正規版なのが気になってしまうw

819 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:03:30 ]
元プログラマー、現在NEET、てw
にしてはいいソフト揃えてんなあ

モデルはちょっとクセがあるけど丁寧だし動きもなかなか自然だねえ

820 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:09:51 ]
www.amazon.co.jp/exec/obidos/ASIN/4875934610/249-9467730-0997124

この人が見てるらしいこの本、ちょっと欲しいな!

821 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:18:55 ]
XSI

100万とかテラスゴス!
と思ったら、XSI 6 Foundation だと七万八千円なのね

822 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:32:49 ]
一番面倒なのは、モーションを入れる作業だね。
地道に振り付けと、表情のUV切り替え。

データさえ作ってしまえばエンジンの仕事なんてたかが知れている。

823 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 23:50:43 ]
>データさえ作ってしまえばエンジンの仕事なんてたかが知れている。
どういうこっちゃ?

つーか、プログラマにモデリングが不慣れだというのに
ニコニコではモデリングばっか言われてるのな。

エンジンなんて作れねぇ。つーか無理


824 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:01:35 ]
>>823
プログラマが個人でやる場合だと、データ作る方が大変な気がするw

両方やってるのがすごいなぁと思うよ



825 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:02:54 ]
モデルデータを読み込んで再生するだけなら、普通のプログラマなら全然難しくないんだよ。
モーションデータの生成部分までエンジン側でやっているなら凄いプログラムだが、それはまずあり得ない。

826 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:17:03 ]
そりゃ、モデルデータ読み込んで、toonシェーダかけて再生ってそりゃやるけど。
エンジンってそういうことなん?
あと、全然難しくない、とか言うのやめたほうがいいよ。

つーかライティングやらシェーディング、加えてそれがリアルタイムってあたりで
組むのうんざりだ。


827 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:25:20 ]
データ作るほうがコーディングより作業が大変だろ

828 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:28:54 ]
ビューアは作ったからモデルデータとモーションを作れと言われるのと、
モデルデータは作ったからビューアを作れと言われるとがどちらが良いかと言われたら、
迷わず後者を選ぶ。
労力が全然違う。

829 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:33:44 ]
いつのまに
プログラマーとモデラー・アニメーターの比較になってるんだ?

プログラムの話をしようぜ。
リアルタイムラジオシティtoonレンダでも組んでくれ。

830 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:44:50 ]
光源が固定のラジオシティをリアルタイムといってしまっていいものかどうか。

831 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:52:55 ]
????
なんでラジオシティに光源の位置が、固定か可変か関係あるの?


832 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:08:03 ]
は?全ては光源に依存してるんだから、光源が固定か可変かは大問題だろう。

CG屋さんか?

833 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:13:33 ]
リアルタイムに光源を変化させるのってそんなに難しいの?

まだ、チュートリアル弄ってる段階なんでさっぱりさ!

834 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:17:05 ]
????
そりゃ光源に依存してるけど、普通はレンダリング時に光源の位置を決めて
そこからラジオシティ入るだろ?

つまりはアレか?人がグリグリ動いてる中で、光源(例えば太陽+複数のスポットライト)も
グリグリ動いて、間接光だのをリアルタイムで時間積分して解いてるのか?

つーか、リアルタイムの光源固定ラジオシティでさえまともに実装されてないのに。
光源がグリグリ動くラジオシティがあるっていうのか。ぜひ教えて欲しいわ。




835 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:20:12 ]
>>833
リアルタイムで光源が動いて
シェーディングをかけるのは難しくはない。nvidiaとかのサンプルでもある。

言ってるのは、ラジオシティ。

836 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:24:29 ]
>>834
>>831によると、固定も可変も関係ないらしいから、光源固定のラジオシティも
光源がぐりぐり動くラジオシティもあるってことになるよね。

837 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:28:35 ]
3Dの勉強始めようかな…
なぜかゲームプログラマーになってしまったしな…

838 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:29:35 ]
ここはあなたのブログではありません。

839 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 01:30:56 ]
>>836
んー
俺の認識だと、ラジオシティでは1枚の光源は
固定したものとしてレンダリングするもんだと理解してるから

可変ってのは無いもんだと思って831を書いたんだけども。
ぃゃ、正直光源がグリグリ動くラジオシティがあるなら、参考にしたいから知りたいというのがある。


確かに1枚=1フレームとして、リアルタイムのラジオシティが出来るのであれば
それは光源が可変なのだと思うけど。
SIGGRAPHでさえ、リアルタイムラジオシティは出てない、はず。

PS3を3台だかつかって、リアルタイムレイトレしてる変な人たちはいたけど

840 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 05:58:03 ]
変って言うなw

841 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:08:46 ]
ピクセルシェーダで画面の輝度の高い部分にグレア処理をかけたいと思ってます。

画面と同じ大きさで作成したテクスチャにオブジェクトを描画して、
最後にそのテクスチャにグレア処理をかけて画面いっぱいに映し出された
ポリゴンに描画するというやり方でやってます。

しかし、やり方が悪いのかぼやけます。根本から間違ってるのでしょうか?
画面いっぱいに映し出されたポリゴンは出力を見ながら手作業で大きさを
調整しているので、サイズが画面と完全に一致してないのが原因なのか…。

842 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:38:04 ]
テクスチャ自体の解像度が低いとかじゃないの?


843 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:52:51 ]
テクスチャのサイズですが、生成時に画面と同じ640*480を指定しています。
1024*1024等の2のべき乗で無いからぼやけるのでしょうか?

試しに1.5倍の960*720のテクスチャにモデルを描画した後640*480の画面に
ピクセルシェーダで描画したらぼやけは無くなりました。
でもこれは高解像度から低解像度への変換なので当たり前というか…。

844 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:59:54 ]
使ってるビデオカードは2の乗数でないテクスチャに対応しているものか?
そうでないなら640*480なんていう半端なサイズのテクスチャは作れないが



845 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:07:26 ]
ためしに2^nにしてみて検証


846 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:50:05 ]
どうせヘルプをまともに読まずD3DXでテクスチャを作って、勝手に自爆しているだけだろ。

847 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 19:27:26 ]
シェーダが使えるのにテクスチャが2^nでしか作れないなんて、
VP870(PS1.2)とかXabre(PS1.3)くらいで、シェーダモデル2.0以降なら
1つも無いと思うが。

俺はどうせ座標が0.5ずれてるFAQネタだと思うが。

848 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 19:33:05 ]
ウィンドウサイズは640x480だけど
クライアント領域が640x480じゃないってオチは?

849 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:17:33 ]
サンプルブラウザのチュートリアル6メッシュっちゅうのを動かしてみたんだが、
メッシュの回転や平行移動ってどうやればええのん?

850 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:33:42 ]
>>849
ワールドマトリックスに好きな行列をセットしろ。

851 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:42:07 ]
>>850
サンキュー!

852 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 21:56:16 ]
誰か>>801に答えてくれたりしない?

未だにだめっぽなのよ

853 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:03:58 ]
>>850
行列のセットがよくわからなかったので、アフィン変換ちゅうのを使おうとしたんだけど、
こんなエラーが「error C2065: 'null' : 定義されていない識別子です。」

// Set up world matrix
D3DXMATRIXA16 matWorld;
D3DXMatrixRotationY( &matWorld, timeGetTime()/1000.0f );

D3DXVECTOR3 t(1.0f, 0.0f, 0.0f);
D3DXMatrixAffineTransformation( &matWorld, 1.0f, null, null, &t); // ここでビルドエラー
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );


なんで、D3DXMatrixRotationY、D3DXMatrixLookAtLHは使えるのに、
お友達っぽいD3DXMatrixAffineTransformationが使えないのかわかる?

854 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:04:40 ]
null→NULL



855 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:06:24 ]
>>854
ひゃっほう(’’*

856 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:26:17 ]
質問です。

3Dゲームでパラメータ等を2Dで表示する機能を実装したんですが、すごく重くなってしまいました。
本で調べてみたのですがClearでZバッファを一度消しているのが原因らしいです。
とりあえず原因はわかったのですがどういう解決策をとればいいのかわかりません。

いい解決策とかパラメータ表示の代替案とかご存知なら教えていただきたいです。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<237KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef