■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
鬱だ氏のう DirectX (Part 16)
501
名前:
デフォルトの名無しさん
:2006/07/24(月) 19:29:52
>>500
ワラタ
あと500オメ。
502
名前:
デフォルトの名無しさん
:2006/08/09(水) 15:41:36
同人プログラマの俺がシェーダと戦う意味はあるのか質問
503
名前:
デフォルトの名無しさん
:2006/08/09(水) 16:41:18
オレは同人STGでもシェーダー使ったぞ。
2DSTGだから機体選択の所だけだがなー
504
名前:
デフォルトの名無しさん
:2006/08/09(水) 20:21:10
1週間以上前の話だがSIGGRAPHの記事来たね.
ttp://journal.mycom.co.jp/articles/2006/08/01/siggraph01/
505
名前:
デフォルトの名無しさん
:2006/08/09(水) 20:24:04
∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚)ノ < シェーダ
| ⊃| \__________
| |
⊂ノ〜
∪
506
名前:
デフォルトの名無しさん
:2006/08/10(木) 00:58:28
>>504
おー。
時間見て読むことにするわ。
50倍速メディアンフィルタとかってどんな実装だったのん?
507
名前:
デフォルトの名無しさん
:2006/08/10(木) 07:18:25
∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚)ノ < シェーダ
| ⊃| \__________
| |
⊂ノ〜
∪
508
名前:
デフォルトの名無しさん
:2006/09/27(水) 13:22:59
DirectDrawで元絵から色違いの絵をBltするにはどうするんですか?
509
名前:
デフォルトの名無しさん
:2006/09/27(水) 13:28:09
イメージを変えたい色に変換する。
510
名前:
デフォルトの名無しさん
:2006/09/28(木) 10:27:32
∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚)ノ < シェーダ
| ⊃| \__________
| |
⊂ノ〜
∪
511
名前:
デフォルトの名無しさん
:2006/10/04(水) 19:09:39
レスのない
>>510
の為にage
512
名前:
デフォルトの名無しさん
:2006/10/05(木) 08:52:50
レスのないかわいそうな
>>511
の為にage
513
名前:
デフォルトの名無しさん
:2006/10/06(金) 17:17:26
レスのないかわいそうな
>>512
の為にぬるぽ
514
名前:
デフォルトの名無しさん
:2006/10/06(金) 21:30:03
>>513
蛾!
515
名前:
デフォルトの名無しさん
:2006/10/19(木) 23:17:07
今更D3D8からD3D9に移行しているんだが、
テクスチャ(D3DPOOL_DEFAULT)→テクスチャ(D3DPOOL_DEFAULT)
のコピーって出来ない?
Update系は元がD3DPOOL_SYSTEMMEMでないと駄目だし、
StretchRectは先にテクスチャが使えないし。
516
名前:
デフォルトの名無しさん
:2006/10/20(金) 00:14:04
できないっぽいねぇ。
しかしテクスチャからテクスチャにコピーなんて使うか?
しかもD3DPOOL_DEFAULT同士で。
517
名前:
デフォルトの名無しさん
:2006/10/20(金) 00:56:14
>>515
DrawPrimitive
518
名前:
デフォルトの名無しさん
:2006/10/20(金) 01:01:17
それRTじゃないと無理だべ
519
名前:
デフォルトの名無しさん
:2006/10/20(金) 01:09:04
D3DPOOL_DEFAULTならRT textureにしておきゃいいじゃん。
520
名前:
デフォルトの名無しさん
:2006/10/20(金) 02:47:35
要る要らないはとりあえず置いといて、
汎用的なCopyRectsを何故無くしたのかと。
521
名前:
デフォルトの名無しさん
:2006/10/20(金) 06:04:57
無駄な機能を削ってスリム化しただけだろう。
DrawPrimitiveで済むことだし。
522
名前:
デフォルトの名無しさん
:2006/10/20(金) 09:34:37
実際DEFAULT同士の転送なんてまずやらねぇからな・・・
523
名前:
デフォルトの名無しさん
:2006/10/20(金) 18:08:01
>>520
CopyRectsなんか用意しとくと、何も知らない初心者が使っちゃうだろ。
524
名前:
デフォルトの名無しさん
:2006/10/21(土) 00:59:24
それはそれで構わない気がするけどなー。
遅い以上のデメリット無さそうだし。
525
名前:
デフォルトの名無しさん
:2006/10/21(土) 01:04:24
じゃあ、CopyRectじゃなくてラスタースクロール機能だったらどうよ。
ハードで対応してなくてもライブラリとしては実装できるでしょ。
それを使った初心者が、何も知らずに「遅いー」って言うのは目に見えてる。
なら実装しない方が初心者には優しい。
526
名前:
デフォルトの名無しさん
:2006/10/21(土) 01:10:54
そりゃラスタスクロールをCopyRectで実装するライブラリ作者が阿呆でFAだろ。
527
名前:
デフォルトの名無しさん
:2006/10/21(土) 01:12:24
>ラスタースクロール機能だったらどうよ。
明らかに話が反れてる。
きょうび爺が懐かしむだけの時代のアダ花と、素の転送機能を一緒にすんなと。
528
名前:
デフォルトの名無しさん
:2006/10/21(土) 01:20:02
ハードで対応してないって点では同じだろ。
529
名前:
デフォルトの名無しさん
:2006/10/21(土) 01:31:31
StretchRectはハードウェア転送だけどな
530
名前:
デフォルトの名無しさん
:2006/10/21(土) 01:33:32
2D向けの機能は最近のチップじゃ削除されたんだってよ。
オレも知らなかったからスゲー叩かれたよ。
531
名前:
デフォルトの名無しさん
:2006/10/21(土) 01:52:58
2D絡みで残ってる機能なんて、マウスカーソルの描画まわりくらいじゃないのか?
こないだ低スペックPCで無理やりゲーム動かしたらマウスカーソルが真っ黒にぶっとんで吹いた。
532
名前:
デフォルトの名無しさん
:2006/10/21(土) 02:06:54
>>530
具体的にどのチップで、何の機能が削除されたんだ?
いつもこういう話になると、聞きかじりで、
具体例が存在しない、いい加減な噂を広める馬鹿が現れるんだが。
533
名前:
デフォルトの名無しさん
:2006/10/21(土) 02:12:56
知らねーよ。
何でオレに聞くんだ?
534
名前:
デフォルトの名無しさん
:2006/10/21(土) 02:17:26
とりあえずこのスレ的にはDirectDrawが消えた時点からが
2Dご愁傷様時代の幕開けと思って間違いありますまいよ。
535
名前:
デフォルトの名無しさん
:2006/10/21(土) 02:18:43
DirectDrawにすがりつく人がいつまでもDirectX7使ってウザいんですが・・
536
名前:
デフォルトの名無しさん
:2006/10/21(土) 02:20:34
というか現行のGeforceFXだと固定頂点機能すら削除されてるわけだが。
537
名前:
デフォルトの名無しさん
:2006/10/21(土) 03:01:26
>>535
7から8で明らかに世代交代した感があるのに、未だに移れん人っているのな…
ちょっと驚きだ
枯れてて安心とかそういうレベルでの考えで使ってるわけでもなかろうし
538
名前:
デフォルトの名無しさん
:2006/10/21(土) 03:07:21
>537
会社のwin2kのローカルマシンで
こっそり弄れるのが良かったりとか?
539
名前:
デフォルトの名無しさん
:2006/10/21(土) 03:08:53
単に使ってるラッパーライブラリがDirectX7止まりだとか、
アセンブラでアルファブレンディング実装して悦に入ってるとか、
取り付かれたかのように超低スペックPCも動作対象に入れたがるとか、
さまざまな理由でDirectX7を使ってる人がいます。
540
名前:
デフォルトの名無しさん
:2006/10/21(土) 03:10:28
>>538
DirectX9はWin98/98SE/ME/2000/XP/VISTAに対応だぞ。
何気に対応OS多くて機能的にもなかなかの優れものだ。
541
名前:
デフォルトの名無しさん
:2006/10/21(土) 03:13:06
DirectX9長いからね・・・
せっかく安定して開発できるのに、数年後にはD3D10移行が待ってると思うと
少しばかりウンザリするね。しかも、D3D10は数年進化し続けるだろうし。
542
名前:
デフォルトの名無しさん
:2006/10/21(土) 10:16:19
>>541
それについて行こうとして一番つらいのはビデオボード交換かなぁ。
Vista君何回までOK?>ビデオ交換
543
名前:
デフォルトの名無しさん
:2006/10/21(土) 10:40:38
無知を晒すな
544
名前:
デフォルトの名無しさん
:2006/10/21(土) 11:44:26
Vistaってそんな制限あるの?ないの?
っつーか、D3D10移行で大変なのは、そんな金で解決できる部分じゃないんだが・・
545
名前:
デフォルトの名無しさん
:2006/10/21(土) 12:53:49
俺はDX10世代のビデオカードでるまではこのままRadeon X1900XTで粘る予定。
546
名前:
デフォルトの名無しさん
:2006/10/21(土) 16:18:32
>>545
出てもすぐ買える値段じゃねぇからなぁ。
半年寝かすと偉く下がるが。
547
名前:
デフォルトの名無しさん
:2006/10/21(土) 21:57:52
>540
いあ、このPCネットに接続出来ないんだわ
かと言ってわざわざCDで持ってくるのもな
だから敢えて7で(ぉぃ
548
名前:
547
:2006/10/21(土) 21:58:45
「この」じゃねぇ「うちの勤務先の」だw
549
名前:
デフォルトの名無しさん
:2006/10/21(土) 22:12:56
>>547
ワラタ、どうやって書き込んでるのか悩んじゃったぢゃないか(w
550
名前:
デフォルトの名無しさん
:2006/10/22(日) 04:16:56
>>547
そんな理由あるかw
ネットに繋げてるそのPCでは当然DirectX9使ってるんだよね?w
551
名前:
デフォルトの名無しさん
:2006/10/22(日) 11:16:12
>>548
マ板で携帯厨に会うとは思わなかった、というところでした。
552
名前:
デフォルトの名無しさん
:2006/10/22(日) 13:46:13
いやここわむいたなのだが
553
名前:
デフォルトの名無しさん
:2006/10/22(日) 19:58:39
まいった
554
名前:
デフォルトの名無しさん
:2006/10/27(金) 17:35:25
数百の遠景をビルボードで表示する場合にZバッファを有効にして
書き込む方法とZバッファを無効にしてソートして書き込む方法では、
どちらがパフォーマンスが良いでしょうか?
555
名前:
デフォルトの名無しさん
:2006/10/27(金) 21:33:47
CPUに負荷をかけるかGPUに負荷をかけるかの違い
556
名前:
デフォルトの名無しさん
:2006/10/27(金) 21:50:36
まずその数百の遠景とやらをソートしてテクスチャにレンダリング、そしてそのテクスチャをスプライトとして表示する
必要に応じて数フレームに一度テクスチャを更新、これ最強
557
名前:
デフォルトの名無しさん
:2006/10/27(金) 22:23:05
>>554
数百程度なら zデータも1次+2次キャッシュに収まるだろうから
計算量 n*log(n) 程度のzソートで済ませるのが正解。
ソートで問題になるのはポリ数が数万オーダー以上になる時だ。
それに半透明ビルボードを使うことになれば嫌でもソートすることになる罠。
558
名前:
デフォルトの名無しさん
:2006/10/27(金) 22:44:20
ztestオフにしちゃったら山の裏側からちょこっと顔出してるビルボード木とかはどーすんの?
559
名前:
デフォルトの名無しさん
:2006/10/28(土) 01:08:12
最初に描けい。
560
名前:
デフォルトの名無しさん
:2006/10/28(土) 01:12:04
1.スクリーン座標上にある不透明の物体を描画
2.ワールド座標上にある不透明の物体を前から順に描画
3.ワールド座標上にある半透明の物体を後から順に描画
4.スクリーン座標上にある半透明の物体を描画
ってのがとりあえず塗りが多いときの基本か?
実用面でいったらモデルはまとめるよりわけたほうが動作がいいな。
クリッピングではじける部分は多い方がいいし。
無駄にまとめると突っ込まなくていいものまでDrawPrimitiveに渡すことになる。
クリッピングではじけるならそれにこしたことないしね。
クリッピングさえちゃんとやればどんだけでかい世界をこさえても視錐台に入るもんだけ計算すればいい。
561
名前:
デフォルトの名無しさん
:2006/10/28(土) 01:16:12
Zテストに頼りきり->
利点:
コードがシンプルに収まる
パイプラインを刻まないで済むなら通常描画は十分に高速
欠点:
描画順番につきものの絵の破綻が起きるかもしれない
丁寧にソートした場合に比べてフィルやZバッファシーク等でGPUの性能を無駄にするかもしれない
Zソートする->
利点:
奥から書けば描画順番につきものの絵の破綻を回避できるかもしれない
手前から描けばZテストでオクルージョンカリングが機能的に働くかもしれない
欠点:
CPU責任による頂点バッファの加工等がついてまわるので、
パイプラインが止まる、CPU負荷が嵩む等が問題になることもある
でも普通数百のオーダー程度ならソートなんかしてもしなくても大して変わらんよ。
Zテスト有りで万とか描くならそりゃ別だけど。
562
名前:
デフォルトの名無しさん
:2006/10/28(土) 01:20:03
>>560
多い場合に限らず、まあ基本だよな。
もっと言うならモデルのメッシュも外側から内側に巻くようにインデクス作っておけば
Zの書き込みだのテクスチャのフェッチだのが減って軽くなる。
もちろんそこまで最適化する必要があるのは、それ相応の複雑さを持ったモデルに限っての話だけど。
563
名前:
デフォルトの名無しさん
:2006/10/28(土) 02:22:52
>>559
最初かーそうだな最初に描けばいいな!なんでこんな簡単なことに気がつかなかったんだ!!!
564
名前:
デフォルトの名無しさん
:2006/10/28(土) 02:40:07
>>561
動的頂点場バッファならパイプライン止めることなく書き換えできるぞい
565
名前:
デフォルトの名無しさん
:2006/10/28(土) 07:28:04
>>561
>描画順番につきものの絵の破綻が起きるかもしれない
2度塗りで回避できる。
Zが効いてるから2度塗りしても更新部分はわずか。
描画してもたいした負荷にならずに矛盾無く描画できる。俺、オススメ。
566
名前:
デフォルトの名無しさん
:2006/10/28(土) 10:49:56
>2
度塗りで回避できる。
何そのトンデモ回避方。
ABCと描かなきゃならんところがACBみたいになっちゃって
部分的に破綻しちまうところを、ACBACBと描くって話か。
ウンコ漏らしそうなほどにおぞましいが、それで解決するところは
それなりに多そうなのがまた。
567
名前:
デフォルトの名無しさん
:2006/10/28(土) 14:55:59
描画順序ひとつ語ってみても
プログラマ一人ひとりに一家言があって興味深いですな
568
名前:
デフォルトの名無しさん
:2006/10/28(土) 22:39:47
2度塗りは目からウロコが飛び出た。たぶん絶対に使わんけど一応メモっとくww
569
名前:
デフォルトの名無しさん
:2006/10/29(日) 00:02:00
何話してるんだかわかんない
>描画順番につきものの絵の破綻が起きるかもしれない
これが何のことなんだかわかんない
570
名前:
デフォルトの名無しさん
:2006/10/29(日) 01:18:34
>>569
半透明ポリゴン描くときの昔からの問題で、
Zテストが原因で、奥から描かないと正しく描画されないんだよ。
2度塗りすれば良いらしいがw (←これのことは忘れてやれw
571
名前:
デフォルトの名無しさん
:2006/10/29(日) 04:12:07
>>570
お馬鹿。
そんな話はしてない。
半透明はソートして後ろから描画するのは変わらない。
それでも交差してるものとかで破綻が起きる。
2度塗りはそれを回避できて、Zが効いてるからピクセルフィルレートがほとんど負荷にならない。
やれるならやっただけ得な手法。
572
名前:
デフォルトの名無しさん
:2006/10/29(日) 04:28:15
>>571
よくわかんないなぁちゃんと説明できない?
なんかすごいすごいばっかりなのがすごい怪しいよ
573
名前:
デフォルトの名無しさん
:2006/10/29(日) 04:51:11
試せば一発だろ
574
名前:
デフォルトの名無しさん
:2006/10/29(日) 05:06:06
いや「破綻」というのが具体的にどういう現象をさしてるのかわからないんだよ
それがわからんと試しようがないでしょう?
順番が違うと最終的に半透明が重なってできる色が違ってしまうのが
透明度を半分にして2回描くと同じになるよということ?
それとも一回目ztestをオンにして普通に描いちゃってるので他の半透明板の裏に入ってる部分が
描けないのを2回目ztestの条件を逆にしてもう一度描きましょうということ?
575
名前:
デフォルトの名無しさん
:2006/10/29(日) 05:25:52
>>574
そんな難しいこと考えずに葉っぱとか木とか多いシーンを2回描いてみればいいんじゃね?
576
名前:
デフォルトの名無しさん
:2006/10/29(日) 08:20:23
>>574
半透明のポリゴン同士が交差していたり、3枚のポリゴンが互い違いに
重なり合っていると、Zソートでも正確には描画できないよ。
ただ、それは二度塗りしようと回避できないと思うが、どういう理屈なのか
ちゃんと説明してくれんかねぇ。
577
名前:
デフォルトの名無しさん
:2006/10/29(日) 09:20:26
>半透明のポリゴン同士が交差していたり
うわ考えたくねえw
578
名前:
デフォルトの名無しさん
:2006/10/29(日) 13:23:18
>>571
なんだ、半透明同士が交差した場合の破綻の話かよ。
描画順番は関係ないじゃん。
でも、結局はZ比較の問題だろ?
579
名前:
デフォルトの名無しさん
:2006/10/29(日) 13:36:08
2度塗りというか、Zのみ更新するんだろ
580
名前:
デフォルトの名無しさん
:2006/10/29(日) 14:20:36
Z更新じゃなくて、本当に2度塗りだと思うよ。
1度目の描画でZバッファが埋まってるから、
それ使えば2度目の描画コストが低いって言ってるみたい。
確かに実際そうだから、どうしようもない時は実装すればよいが・・
581
名前:
デフォルトの名無しさん
:2006/10/29(日) 15:46:52
半透明はZ比較なしでやるのは常識だろ
手前に赤い半透明で奥に青い半透明があったとして
どっちを先にレンダしようが結果は同じだろうが
何が2度塗りだよw
582
名前:
デフォルトの名無しさん
:2006/10/29(日) 16:03:16
>>581
←馬鹿は黙ってろ。
ま、俺は髪の毛ぐらいしか2度塗りは使ったことないけどな。
583
名前:
デフォルトの名無しさん
:2006/10/29(日) 16:05:59
>>582
具体的に
584
名前:
デフォルトの名無しさん
:2006/10/29(日) 16:20:33
>>582
>>581
にとって半透明って50%のブレンドしか知らないだけだろ。
そんなハードウェアあるのかしらんけど。
585
名前:
デフォルトの名無しさん
:2006/10/29(日) 16:24:28
背景色があるから50%ブレンドでも正しくないだろ
586
名前:
デフォルトの名無しさん
:2006/10/29(日) 17:07:49
今は亡きPowerVRシリーズは結局どういう仕組みだったんだろう
587
名前:
デフォルトの名無しさん
:2006/10/29(日) 22:41:57
単純に2回描くって言ってるからどうも半透明板を重ねた色について問題視してるんではなくて
金網なんかの輪郭が透明度で抜かれた板を手前から描いてしまったときの問題について言っているらしい?
2回目描画時にzが効くからどうこう言ってるわけだから
1回目はztest不明zwriteオン
2回目はztestオンzwrite不明
1回目のztestをオンだと仮定すると2枚重なってる奥の板を後で描こうとしたときztestに引っかかって描かれない
2回目も当然だめ だからこれはあり得ない
1回目のztestはオフだと仮定すると1回目は奥の板が手前に描かれて変な図になるが
2回目はztestがオンなので1回目で奥の板が手間の板に重なって描いた部分だけに手前の板が
上書きされてまともな画ができる
こういうこと?
588
名前:
デフォルトの名無しさん
:2006/10/30(月) 02:41:56
なんか、2回描画しても交差したやつは正しく描画されない気がしてきた。
最初に言った奴、詳しく説明してみてください。
589
名前:
デフォルトの名無しさん
:2006/10/30(月) 03:41:16
まず奥にA、手前にBの2枚の半透明の板がある場合を考えてみる
これは必ずA-Bと1度づつ描画されないといけない、これは大前提
>581-585
2度描画の手法がどのようなものかはわからないがB-Aで描画コールされる場合に正しく描画されるためには
1度目 BがはじかれAのみが描画される
2度目 Bのみ描画されAは描画されない
が絶対条件になる
残念ながらこの条件を満たすステート設定方法は俺には思いつかない
てゆうか2枚とかケチなこと言わず大量に重なっていた場合を考えれば
たった2回の描画で正しく描画されるわけ無いことぐらいすぐわかるだろぼけ
590
名前:
デフォルトの名無しさん
:2006/10/30(月) 03:44:58
>気がしてきた。
(; ^ω^) …
591
名前:
デフォルトの名無しさん
:2006/10/30(月) 03:50:24
>>589
それは交差したポリゴンってわけじゃないよね?話がちがくない?
>>571
は二度塗りすることで交差したポリゴンの破綻も回避できるって言ってるんだけど
文句があるんならソイツに言ってくれないかな。
592
名前:
デフォルトの名無しさん
:2006/10/30(月) 03:56:26
>591
交差してないポリすら正しく描画できないっていってんだから
交差してるポリは言わずも名が
あと
>589
は別に
>588
に限定して言ってるわけじゃない
593
名前:
デフォルトの名無しさん
:2006/10/30(月) 04:04:00
まあ最初に二度描きの話したやつは「ソートしなくても良い」って意味で
言ったような気がするんだが、それはその時点でダウトだよな。
好意的に解釈して交差したポリゴンの話に持っていったとしてもダウト。
> あと
>589
は別に
>588
に限定して言ってるわけじゃない
そっか。ぼけって言われてカチーンって来たんでね。
二度塗りに感動した人もいるみたいなんで何となくフーンって思ってたけど
考えてみたら何も解決して無いことに気付いた。
二度目は何も描画しないんじゃないか?
594
名前:
デフォルトの名無しさん
:2006/10/30(月) 04:05:48
あと、「いわずもなが」じゃなくて「言わずもがな」が正解なw
595
名前:
デフォルトの名無しさん
:2006/10/30(月) 04:09:56
「ダウト」 って 「間違い」 じゃなくて 「疑惑」 って意味だよな?
596
名前:
デフォルトの名無しさん
:2006/10/30(月) 04:13:29
この板もID欲しいな
俺様がくだらない揚げ足取ってるように見えて萎えるわ
597
名前:
デフォルトの名無しさん
:2006/10/30(月) 04:30:02
ID欲しいね・・「ダウト」って言った張本人なんだがw
598
名前:
デフォルトの名無しさん
:2006/10/30(月) 06:54:01
まず基本は、テクスチャ切り替えのコストを無くすためポリゴンの集合をメッシュと呼ぶことにして、
不透明のメッシュ単位で前方からZT on, ZW onで書いていくとZテストで処理を軽減できる。
次に奥側からZT on, ZW offで半透明ポリゴンを含むメッシュを書いていく。
重なりの順序が大体合うのと、ポリゴン単位にソートしたときには、半透明球内の半透明球などが
ポリゴン単位に重なりの順序が異なる場合があり、色味が変わる問題が、正しくない色としても周囲の色と
一致するため、それほど問題ではなくなる。
何気に3枚のポリゴンが折り重なって一番手前のポリゴンが決められない場合や、交差している場合も無難に表示される。
解決するにはシェーダーでの単純幾何図形に限ってリアルタイムレイトレか、
MRTを用いて画素単位にZと色のスタックを作って後処理をするなど。
その前提で2枚の交差ポリゴンA,Bを書くことを考えてみると
完全透明のマテリアルにして、AをLess, ZT on, ZW onにして書く、
ZTの順序を逆にGreaterして、BをZT on, ZW on(ZWはどっちでも)にして書く、
次にAをLess Eq, ZT on, ZW onにして書く。
最後にBをLess, ZT on, ZW onにして書く。
ただし、背景に不透明ポリゴンがあってはいけないし、普通は使えないテクニックだと思う。
他に方法あるかな?
599
名前:
デフォルトの名無しさん
:2006/10/30(月) 07:24:15
>>589
「Z値が同値以外すべて描画」でどう?
600
名前:
デフォルトの名無しさん
:2006/10/30(月) 07:35:39
>589
でいうB-Aの場合はいいけどA-Bだと駄目だな
601
名前:
デフォルトの名無しさん
:2006/10/30(月) 07:47:43
俺、一度だけゲームのプロジェクト参加して辞めちゃったヘタレだけど
そんときのプロジェクトで半透明の2度塗りはやってたな。
ステートをどうしてたかはわすれたけど、やってた気がする。
602
名前:
デフォルトの名無しさん
:2006/10/30(月) 08:00:58
まあそのうち565がちゃんと説明してくれるだろうから気長に待つが吉
603
名前:
デフォルトの名無しさん
:2006/10/30(月) 08:18:04
一応紹介しておく
http://spin.s2c.ne.jp/quick007.html
>▼ id Software社の次世代エンジンでの描画順非依存の半透明ポリゴン描画(OIT)
>
> id Software社のリードプログラマのJohn Carmack氏が、8月のQuakeCon 2004の基調講演(動画(GameSpy PC)、Johnny Watson氏によるテキスト化、GameSpyのレポート記事)で、
>同社の次世代描画エンジン向けに検討している、描画順に依存しない半透明ポリゴンの描画手法(Order Independent Transparency)について触れています。
>これは、Doom3でリードデザイナを務めたTim Willits氏が、描画エンジンに対してゲームデザイナの視点から最も強く望んでいる機能とのことです。
>Doom3エンジンまでは、マテリアル単位で描画順をあらかじめ指定できるだけ(.mtrファイルのsort)でした。
>
> 次の2つの手法を検討しているようです。(※誤った解釈が含まれている可能性があります)
>
>(1) 複数のレイヤに分けて描画し、合成する方法 半透明オブジェクトは異なるバッファに描画する。半透明部分が重なっているかどうかをエンジン側で判定し、この場合、別の描画バッファに分けて描画する。
>そして、複数の描画バッファ(レイヤ)は適宜、合成する。同一オブジェクト内での描画順の問題は解決できない点、大量のビデオメモリを消費する点が欠点。
>(※複数のレイヤという点ではデプスピーリングにも似ていますが、描画パスが1回で済む点で異なります)
>
>(2) スティプル描画してポストフィルタを掛ける方法 アルファブレンディングは使用せず、半透明度に応じたスティプルパターンで半透明ポリゴンを描画する。
>(スティプル描画=スティプルパターン(ビットマスク)に応じた三角形内の特定のピクセルだけに点描)
> 最後に、ブラー系のポストフィルタを画面全体に掛ける。スティプルパターンの選択に工夫の余地がある。この方法はDoomエンジンの作成の際にも実験したが、
>Doom3エンジンのターゲットとなるGPUでは十分なフィルタリングを掛けられなかったため、採用しなかった。
>
>(Date: 2004-10-23)
604
名前:
デフォルトの名無しさん
:2006/10/30(月) 20:25:12
ボリューム構造のVRAMを持たせて、リアルタイムレイトレで表示をする
ビデオカードとかが安価にでてくれば解決するんだが。
その前にDX10ぐらいでNurbs曲面のプリミティブを
GPU側で処理してくれるようにはなりそうかな。
605
名前:
デフォルトの名無しさん
:2006/10/31(火) 00:35:47
なんでオタって自分の自慢ができる分野の話を流れ無視して勝手にしゃべりだしちゃうの?
606
名前:
デフォルトの名無しさん
:2006/10/31(火) 00:49:20
一般的な話はまったく出来ないから。
607
名前:
デフォルトの名無しさん
:2006/10/31(火) 12:38:59
なんか臭いなーて思ったら俺の臭いだった
先生に「教室から出て行けw」と冗談半分に言われた
言われたこっちは冗談半分に聞こえない
608
名前:
デフォルトの名無しさん
:2006/10/31(火) 16:53:20
女の足の臭いの方が臭いぜ
夏場、専門学校で授業中に靴を脱いだ奴らがいたんだが
脱いだ瞬間酸っぱい匂いが教室中に充満して地獄と化した。
609
名前:
デフォルトの名無しさん
:2006/10/31(火) 20:19:33
>>603
その中に「二度描き」って画期的な方法がかかれてないのはなぜ?w
610
名前:
デフォルトの名無しさん
:2006/11/01(水) 02:11:52
二回目の描画には最低限Zオフセットは入れてるものだと思ってた。
いや、そうだよね?
俺、エスパーじゃないよね??
611
名前:
デフォルトの名無しさん
:2006/11/01(水) 09:20:54
Zオフセットってなあに?
612
名前:
デフォルトの名無しさん
:2006/11/01(水) 09:37:49
Z-biasのコトでね?
613
名前:
デフォルトの名無しさん
:2006/11/01(水) 15:24:37
z-biasを適切に設定するには結局ソートするしかなくね?
614
名前:
デフォルトの名無しさん
:2006/11/01(水) 15:43:21
意味不明
615
名前:
デフォルトの名無しさん
:2006/11/01(水) 22:50:35
z-biasとz-sortはぜんぜん関係ねーんだけど
616
名前:
デフォルトの名無しさん
:2006/11/02(木) 10:13:21
2度塗りの説明まだーーーー?チンチン(AA略
数人マンセーしてたのがいたはずなのに
ここへきて全員が全力でスルーとかカッコイイにもほどがあるぞ
617
名前:
デフォルトの名無しさん
:2006/11/02(木) 10:37:05
ごめん、条件反射でマンセーしただけ
618
名前:
デフォルトの名無しさん
:2006/11/04(土) 00:52:08
脊髄反射みたいなレスだったし、似たような名前のスレと被っててみつからないんじゃない?age
619
名前:
デフォルトの名無しさん
:2006/11/04(土) 00:52:57
チェック入ったままだった。
age
620
名前:
デフォルトの名無しさん
:2006/11/04(土) 17:22:42
DirectSoundで3Dサウンドをやろうとしているのですが、
環境SEとして3Dバッファの固定座標を指定して鳴らした後にListener座標を変えても
音量や聞こえる位置が変化してくれなくて悩んでいます。
CommitDeferredSettings();も行っています。
どなたかお教えください、よろしくお願いします。
621
名前:
デフォルトの名無しさん
:2006/11/06(月) 14:40:58
どうしてMSの配布物は無駄に幾重にも圧縮されているのかね?
622
名前:
デフォルトの名無しさん
:2006/11/06(月) 16:05:09
ビンテージのベースを質屋にうって出刃包丁を買いましょう
高層ビルにあるクラブに行き浴びる程お酒を飲みましょう。
廊下に出て窓を開けましょう開けましょう。
マズは腹に出刃包丁でブッスリさしましょう。
コンクリートの下地めがけてすぐに飛び降りましょう。
さようなら。
623
名前:
デフォルトの名無しさん
:2006/11/06(月) 16:11:21
圧縮をかけつづければ最後にはどんな情報も1ビットになると信じているMS
624
名前:
デフォルトの名無しさん
:2006/11/06(月) 17:25:53
1ビットじゃファイルに書き出せないから
1バイトの時点で止めといたほうが効率がよい!ヽ(´ー`)ノワーイ
625
名前:
デフォルトの名無しさん
:2006/11/06(月) 17:32:51
一番多いのは自己解凍ZIPに自己解凍CABかな
でもって中身のMSI自体がそもそも圧縮されてると
626
名前:
デフォルトの名無しさん
:2006/11/06(月) 22:33:21
( ^ω^)せっかく来たのにまだ二度塗りの解説ないお
( ^ω^)また来週くるお
627
名前:
デフォルトの名無しさん
:2006/11/07(火) 04:34:58
もう来なくて結構です。
628
名前:
デフォルトの名無しさん
:2006/11/07(火) 10:33:14
もう( ^ω^)とか時代遅れなのよね
629
名前:
デフォルトの名無しさん
:2006/11/07(火) 10:41:26
では改めて。
「シッシ」
630
名前:
デフォルトの名無しさん
:2006/11/07(火) 23:17:53
>>624
オマイ天才!
確かに、1bitも1バイトもディスク上のサイズは変わらんよな
631
名前:
デフォルトの名無しさん
:2006/11/08(水) 17:11:09
二度塗りの説明があるサイト発見。
ttp://www.platz.or.jp/~moal/reflect2.html
よく読んでみたが、何が解決したのかは分からないw
これでも半透明の描画は問題あるよね。
632
名前:
デフォルトの名無しさん
:2006/11/08(水) 18:18:20
それは床の反射を描画するために、元々透明でないものを半透明で描画するときに
問題が発生するという話で、このスレで出た二度塗りとは関係ない。
633
名前:
デフォルトの名無しさん
:2006/11/09(木) 04:51:10
***** 肛 門 基 礎 T *****
アナル=肛門の(形容詞)
アヌス=肛門 (名詞)
○ 彼女のアヌスはヒクヒク動いている。
× 彼女のアナルはヒクヒク動いている。
○ 彼女とアナルセックスしたい。
× 彼女とアヌスセックスしたい。
例外
○ アナル男爵(肛門の男爵。アナル好きな男爵)
○ アヌス男爵(固有名詞。名前が肛門)
634
名前:
デフォルトの名無しさん
:2006/11/09(木) 06:58:42
>>632
いや、これでいいんじゃない?
なんか、内容的にこれに見えるけど。
635
名前:
デフォルトの名無しさん
:2006/11/09(木) 07:03:44
もしかして、ステート変えなくても普通に2回書くだけでもいけるのか・・・。
636
名前:
デフォルトの名無しさん
:2006/11/09(木) 07:03:55
>>633
「アナル好きな男爵」ではなくて「アヌス好きな男爵」が正しいのでは?
637
名前:
デフォルトの名無しさん
:2006/11/09(木) 09:27:37
631は最も手前のポリゴンのみ1度だけ塗るための方法でこの場合とは全く関係ない
638
名前:
デフォルトの名無しさん
:2006/11/09(木) 13:04:19
この場合っつっても結局どの場合なのかはうやむやにされたままだったしなぁ
こっちが勝手に決め付けてただけで
639
名前:
デフォルトの名無しさん
:2006/11/09(木) 16:20:31
この場合って・・
アンタ詳しそうだから、そもそもの問題を再定義してくれよ。
640
名前:
デフォルトの名無しさん
:2006/11/09(木) 17:40:42
637ではないが、二度塗りの話は一般的な半透明の描画の話の流れで
出てきたから、俺はそういう話だと思っていたが。
半透明のポリゴン同士が重なっているときの問題解決法みたいな感じ。
631の話は、反射を表現するための手段として半透明で描画してはいるが、
描画対象の本質は半透明ではなく不透明。
今ならこんな回りくどいことしないで、一度テクスチャに描画してから
それを床に合成する方が一般的じゃないかね。
641
名前:
デフォルトの名無しさん
:2006/11/10(金) 00:44:52
どっちが速いの?
Zバッファこさえとくだけでいいなら手間もかからないし、いい方法だね。
しかも、2回目はZテストが効いてるからかなりいいな。
642
名前:
デフォルトの名無しさん
:2006/11/10(金) 02:35:47
>この場合
重なっているというか、交差している場合の話だと思う
>>561
,
>>565-576
結局ウヤムヤだが
643
名前:
デフォルトの名無しさん
:2006/11/10(金) 19:12:07
エロゲでフルスクリーンがダブルで出来ないのなんとかしてくれ
644
名前:
デフォルトの名無しさん
:2006/11/10(金) 19:32:24
日本語でおk
645
名前:
デフォルトの名無しさん
:2006/11/10(金) 22:48:36
/) /)
/ ⌒ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ●_ ● | < まだ2度塗り説明きてないの・・・また来週こよ
(〇 〜 〇 | \_________
/ |
| |_/
646
名前:
デフォルトの名無しさん
:2006/11/11(土) 00:00:28
ぴかちゅー!上!上!
647
名前:
デフォルトの名無しさん
:2006/11/11(土) 01:10:50
二度塗りって。
人物モデルの髪の毛に使うようなやつ?
648
名前:
デフォルトの名無しさん
:2006/11/11(土) 22:27:23
>>647
それが何だか分からんが、ちと説明してみ?
649
名前:
デフォルトの名無しさん
:2006/11/14(火) 05:07:06
http://72.14.235.104/search?q=cache:YPfjD4v_tewJ:spin.s2c.ne.jp/cgi-bin/tech.cgi%3Flog%3D1%26vew%3D38+%E9%AB%AA%E3%81%AE%E6%AF%9B+%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1+%E6%8F%8F%E7%94%BB%E9%A0%86&hl=ja&ct=clnk&cd=1
これかな
650
名前:
デフォルトの名無しさん
:2006/11/14(火) 13:50:18
>649
なんかそれ見れないね、webarchive使えば見れるけど
ともあれGJ
651
名前:
デフォルトの名無しさん
:2006/11/14(火) 17:57:37
http://web.archive.org/web/20040714085905/http://spin.s2c.ne.jp/cgi-bin/tech.cgi?log=1&vew=38
よし
652
名前:
デフォルトの名無しさん
:2006/11/14(火) 23:52:37
いつの話だよ、って思った。
シェーダ使える昨今でも同じような処理してる人がいたら見てみたい。
653
名前:
デフォルトの名無しさん
:2006/11/15(水) 00:14:53
おまえは何を言っているんだ
654
名前:
デフォルトの名無しさん
:2006/11/15(水) 00:52:41
アルファ値により分岐して深度値の書き込みの有無を判別って一般的?
655
名前:
デフォルトの名無しさん
:2006/11/15(水) 00:57:54
一般的っていうか、アルファの問題は解決できない問題だから
いろいろな解法があるわけよ。これもその中の一つだね。
656
名前:
デフォルトの名無しさん
:2006/11/15(水) 00:58:06
限定的な状況で使えた、ってことだろ
よくやることじゃん
657
名前:
デフォルトの名無しさん
:2006/11/15(水) 21:00:11
自分的にはalphaが100%ならソートなりzテストが必要で
そこから1ポイントでも透明度が加わった途端に適当に重ねて描かなきゃならんようになる
という発想というか包括的な視点みたいなのがなかったんでちょっと目から鱗だったよ
うれしくてURLの貼り方ミスった
zbufferはこのまま平坦な2次元配列のままいくのかな
それとも1ピクセルごとにスタックもったりとかするのかな
658
名前:
デフォルトの名無しさん
:2006/11/15(水) 21:28:56
>>657
既にシェーダとMRTでZバッファに相当する物なんてどうにでもなるが。
659
名前:
デフォルトの名無しさん
:2006/11/15(水) 21:40:27
>658
657じゃないけどぜひ詳細を
660
名前:
デフォルトの名無しさん
:2006/11/16(木) 00:19:46
ピクセルシェーダで自前でZ値を計算して保持・比較するだけだろ、たぶん。
R16G16B16A16Fとか使って頑張れば4層Zバッファとかも夢じゃないよね。
661
名前:
デフォルトの名無しさん
:2006/11/16(木) 00:30:41
半透明をちゃんと見せるためだけにどんだけ他の処理削るんだよw
662
名前:
デフォルトの名無しさん
:2006/11/16(木) 00:33:37
同じ要領で理論上はディープシャドウマップも実装できる
はずなんだけど、実験レベルのサンプルコードとかみたことないね。
663
名前:
デフォルトの名無しさん
:2006/11/16(木) 00:59:38
ディープシャドウマップがどんなのか知らんが
無いものは作ってみてはどうか?
664
名前:
デフォルトの名無しさん
:2006/11/16(木) 01:43:41
ディープシャドウマップって何だっけ?
ピクサーがモンスターズインクのときに開発した手法?
665
名前:
デフォルトの名無しさん
:2006/11/18(土) 20:47:58
>>660
ワロタw
PowerVRでも使っとけと思う
まあ、でも、将来、GPUの能力上がったら、あながちなくはないのかw
666
名前:
デフォルトの名無しさん
:2006/11/18(土) 21:42:43
Real Time Rendering の第2版にアキュムレーションバッファを使った
正しい順番の半透明レンダリングってのがあったけど
667
名前:
デフォルトの名無しさん
:2006/11/18(土) 22:35:16
あったあった。
原著で半分読んでまんどくさくなって放り出した。
668
名前:
デフォルトの名無しさん
:2006/11/20(月) 08:50:03
久々にBBXを覗いてきたらspam投稿でひどいことになってる
669
名前:
デフォルトの名無しさん
:2006/11/23(木) 15:57:21
7950GTが2枚あるので、あえてSLIをせずにプログラムをいじって遊んでいるんですが
この環境でそれぞれのカードから1つのディスプレイにケーブルをつなぐ
(いわゆるDualView状態)と、
GetAdapterCountでデバイス数が2と返されます。
そこで、敢えてCreateDeviceの第一引数に1を与えてデバイスを作成すると、
描画(ピクセルシェーダ)パフォーマンスが落ちてしまいます。
これは、
http://www.microsoft.com/japan/msdn/directx/techart/DirectX8faq.aspx
にある複数でデバイスで性能低下する仕様(?)あたりを引きずっているんでしょうか。
(もっとも、私のプログラムでは複数のデバイスは生成していませんが。)
それとも、私のプログラムが悪いのでしょうか。
何かご存知の方がおりましたらご教授ください。
複数ディスプレイで性能が落ちないなら、それはそれで色々とくだらない遊びのネタが思いつくんだけどなぁ。
670
名前:
デフォルトの名無しさん
:2006/11/23(木) 16:04:59
そのへんは昔からあんまり改善されてないねえ
vistaだとどうなるんだろう
671
名前:
デフォルトの名無しさん
:2006/11/23(木) 16:09:48
>>669
1枚目と2枚目で接続バスの帯域は同じなの?
672
名前:
669
:2006/11/23(木) 17:46:08
>>671
nForce590SLIを使っているので大丈夫なはずなんですが。
とりあえず懲りずに色々と実験中。
使っているのが1番のみなのに遅いってことは、
プライマリなデバイスとそうでないもので何らかの差があるのかなぁ、
といった感じです。
673
名前:
デフォルトの名無しさん
:2006/11/23(木) 19:53:45
XPでホバーテキストが表示されるときに処理重くなる現象とかがあるから
>>669
のリンク先のハナシと
プライマリーと関係して何か起きてるのかもしれないね。
674
名前:
669
:2006/11/29(水) 22:24:48
せっかくなので実験経過を報告します。
ついでに誰か人柱になってくれる人を募集。後でテストプログラムUPしますので。
今回実験したのは、複数のGPUを搭載した環境において、
CreateDevice関数に対して明示的にGPU(デバイス番号)の指定を行うと、
どうなるか(GPUごとにシェーダパフォーマンスに差が生じるか)、です。
GeForce7950GTが2枚非SLIで搭載されたPCを用意し、
ビデオカード1枚につき1本のディスプレイケーブルを接続しました。
この時点でGetAdapterCount()の返り値は2です。
デバイス番号に0を与えた場合と1を与えた場合の性能(FPS)を測定すると、
デバイス番号0の方が高速でした。(70FPS vs 18FPS)
更に画面のプロパティからプライマリディスプレイを変更してから再測定すると、
逆の結果が得られました。(18FPS vs 70FPS)
なお、ウィンドウの表示位置は結果に影響がありませんでした。
(ひょっとしたら、ウィンドウ表示位置と描画しているデバイスが合っている必要があるかと思いましたが。)
私の手元の実験結果から
1:プライマリディスプレイであるかは性能に関係が無く、
デバイスの認識順が先のGPU(ディスプレイ)の性能が高い
→ビデオカードが刺さっているPCI-eバスに依存しているかもしれません。
データ転送量が小さい+nForce590SLIなので考えたくありませんが。
2:複数のGPUを搭載した環境では、各GPUが本来の演算性能を発揮できるかようではない
以上のことが推測できました。
これらが私の環境に特有の問題なのか、それともなんらかの仕様に基づいているのかがわかりません。
何か御存知の方がおりましたら情報提供をお願いします。
なお、実験環境はAthlon64X2,GeForce7950GT*2,ForceWare93.71,WindowsXP64といった環境です。
675
名前:
デフォルトの名無しさん
:2006/12/01(金) 00:14:38
ちょっとNVPerHUD4入れてみたんだが
DirectX *RETAIL* runtime detectedの下に
Error adding counter [gpu_idle]とかづらづらと出てきて
一番したのグラフとかがcounters not availableとかで表示されにゃい。
WinXP,GeForceFX5900XTでPerKitは最新なんだけど、おんなじ様なことになってる人いない?
ユーザーガイドみてもそれっぽいとこは最新のドライバいれろとしか書いてないし・・・・。
676
名前:
デフォルトの名無しさん
:2006/12/01(金) 00:42:00
Textureとspriteとsurfaceの違いがよく分かりません。
どれも画像を扱う時に出てくるのですが、
これらの違いについて分かるサイトがあったら教えてください。
677
名前:
676
:2006/12/01(金) 00:42:42
すみません、書き込むスレを間違えました。
取り消しします。
678
名前:
デフォルトの名無しさん
:2006/12/15(金) 10:42:56
ツールアプリ等では作業の効率を向上させるため
2つ以上ウィンドウを使用して操作することが多いですけど、
ゲームではウィンドウ(Windowsの窓)を2つ以上使うニーズはありますか?
679
名前:
デフォルトの名無しさん
:2006/12/15(金) 11:04:14
>>678
何でそんなこと聞くんだ?
自分で必要なら作ればいいじゃん。
そもそもDirectX関係なくないか?
680
名前:
デフォルトの名無しさん
:2006/12/15(金) 11:52:23
>>678
需要は別に無いな。
複数ウィンドウを使うとむしろ操作が煩雑になりそうだ。
処理速度も大分落ちるだろうし。
681
名前:
デフォルトの名無しさん
:2006/12/15(金) 14:09:35
シミュレーション系ではたまに見かける気がする。
中の窓の描画を全部DirectXでやってるかは別問題だが。
一応FAQによれば、窓ごとにD3DDeviceを作ったりするのは非効率で、
遅くなるので、1つのデバイスを使いまわすべき、らしい。
682
名前:
デフォルトの名無しさん
:2006/12/15(金) 15:43:40
ゲームの場合は、ゲーム内に独自のウィンドウシステムを組み込んでしまうのが
一般的だから、OSのウィンドウシステムはあまり使わないね。
683
名前:
デフォルトの名無しさん
:2006/12/15(金) 16:06:24
毎回作りながら、非効率だよなあとは思うんだが、結局作っちまうんだよな。
内容にもよるとは言え、普通にGDI+で書いてりゃ面倒ないのになあとか思ったり、思わなかったり。
684
名前:
デフォルトの名無しさん
:2006/12/16(土) 02:37:54
未だに文字入力にIME使わせずに一覧から文字を選ばせるゲームとかあるよな。
685
名前:
デフォルトの名無しさん
:2006/12/16(土) 03:25:30
>>684
ゴメンw
アーケードとかのノリでどうしてもそっちにしちょう
686
名前:
デフォルトの名無しさん
:2006/12/16(土) 03:37:13
実用性が求められるビジネスアプリじゃないからな。
OSのウィンドウシステム使え?キーボードで文字入力させろ?
ゲームのインターフェイスはデザインとか雰囲気のが重要。
プレイヤーの使い勝手なんて二の次でいいんだよ。
687
名前:
デフォルトの名無しさん
:2006/12/16(土) 05:15:34
>プレイヤーの使い勝手なんて二の次でいいんだよ。
滅びの第一歩
つーかIMEのプログラムなんて大して難しいもんでもないのに
ほとんど放置されてるのはなんでなんだろうな
SDKのオマケにすらサンプル入ってるのに
688
名前:
デフォルトの名無しさん
:2006/12/16(土) 05:42:20
コンシューマへの移植を夢見て・・・
689
名前:
デフォルトの名無しさん
:2006/12/16(土) 05:50:26
ATOK積め。
みたいな。
690
名前:
デフォルトの名無しさん
:2006/12/16(土) 13:23:01
>>687
サポートがめんどいからとか?
691
名前:
デフォルトの名無しさん
:2006/12/16(土) 15:01:00
>>683
DirectXとGDIの組み合わせって経験的に
どうもかみ合わない感じだからためらうんだよね。
前にDirectXで描いてからGDIでサブウィンドウ描いてたら
ウィンドウ全体がガクブルするようになってしまった事がある。
結局全部DirectXで書き直したけど、ものすごい回り道だったから
それからはGDIと組み合わせる事は無くなったなぁ。
692
名前:
デフォルトの名無しさん
:2006/12/16(土) 17:08:50
>>687
DirectXの領域から一歩はずれるとただのザコプログラマになるやつがいるから。
例えば俺
693
名前:
デフォルトの名無しさん
:2006/12/16(土) 22:37:26
>>684
馬鹿なプレイヤーは一覧から選ぶしか出来ないからな
694
名前:
デフォルトの名無しさん
:2006/12/17(日) 00:52:08
>>691
んだんだ。
GUIは色々抜け道ありすぎてサポートしきれんときも多いべ。
例えばIMEの全角文字入力中にAlt+XXXとかShift+XXXとかのショートカット押されたときとか大丈夫なんか?と聞きたい。
「大丈夫なんか?」とは変な動作しないかどうか?ってことだな。
また、とてもバッファに収まらんような大量の文字列をクリップボードにもってきて>貼り付け
とかさ。IME制御やったことないからわからんけど、そういうのって気にしなくてもうまくいくようになっとるの?
はっきりいってGUIには苦い思い出しかない。
ゲーム前の環境設定で設定項目のチェックをエディットのキルフォーカスでやってたことがあるんだけど
キルフォーカスって別にフォーカスアウトすれば必ず走るわけじゃなくて、
特定の動作のときには走らないこともある。例えばボタンのコントロールを押したまま範囲外にずらしたときにキルフォーカスは走らない。
また、ファイル(F)みたいなメニューがあるときにエディットからAlt+Fでファイル(F)に飛んだときなんかもキルフォーカスは走らない。
こういうGUIの糞みたいな動作の1つ1つをガードかけて行く作業がアフォらしくてたまらない。
(できないわけではない、面倒なのでやりたく無い。疲れる。金にならない。はっきりいって無駄。)
695
名前:
デフォルトの名無しさん
:2006/12/17(日) 00:55:19
あ、GUIってWindowsのなw
696
名前:
デフォルトの名無しさん
:2006/12/17(日) 00:56:40
いや、GUIじゃなくてGDIの間違いw
吊ってくるw
697
名前:
デフォルトの名無しさん
:2006/12/20(水) 20:38:26
SDK2002落とせなくなってね?
698
名前:
デフォルトの名無しさん
:2006/12/28(木) 10:58:57
http://msdn2.microsoft.com/en-us/default.aspx
に
December 2006 DirectX SDK が公開されました。
最新バージョンの DirectX SDK が公開されました。
本リリースの新機能には以下のものがあります、
Direct3D 10 を含む Windows Vista の最初のリリースをサポートする更新ライブラリ、
そして新しいサンプルと技術情報が追加されました。
っていうのがあるんだが、リンク先の
http://wwwstaging.dns.microsoft.com/japan/msdn/directx/downloads.aspx
が存在しない。
というかそのサーバってMSの内部鯖じゃないか。
699
名前:
デフォルトの名無しさん
:2006/12/28(木) 11:01:54
http://msdn.microsoft.com/directx/sdk/
700
名前:
デフォルトの名無しさん
:2006/12/28(木) 17:15:52
いやそれはもちろん知ってるけど、かっこ悪いなあと。
701
名前:
デフォルトの名無しさん
:2007/01/04(木) 20:53:30
最近、「寄生派遣」という言葉をよく聞くようになりました。
契約終了を切り出されると「切られたら生活できません」などと
泣き落としで契約更新を迫る派遣のことです。
今月初め、半年前に辞めた派遣が出社してきてみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。
派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず
複数の会社を渡り歩いてください。
ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。
狭いワンルームを電化製品で埋めるために派遣で足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
702
名前:
デフォルトの名無しさん
:2007/01/05(金) 00:31:26
>>701
話術スキル・泣き落としスキルは確実に上がってるなw
703
名前:
デフォルトの名無しさん
:2007/01/11(木) 22:58:39
質問失礼します。
CEditのようなコンポーネントをDirectX上で描画したいのですが、どうやれば良いでしょうか?
IMEは実装したのですが、複数行書くとなると大変な処理になるので、別の何かしらを利用したいと考えております。
書籍やHPの情報等、似た情報ならなんでもかまいません。
分かる方、お願いします。
704
名前:
デフォルトの名無しさん
:2007/01/11(木) 23:17:11
‖
___ ‖
/ `ヽ‖
,:' 、ゑ
,' ; i 八、
|,! 、 ,! | ,' ,〃ヽ!;、
|!| l川 l リへ'==二二ト、
リ川 !| i′ ゙、 ', ',
lルl ||,レ′ ヽ ,ノ ,〉
|川'、 ,,.,.r'" ,,ン゙
`T" ! ,/ '.ノ,/|
/ ,!´ !゙ヾ{ |
/ ,' i ゙ ! ,l゙
,r‐'ヽ-、! ', l|
{ `ヽ ! 「゙フ
,>┬―/ ; i,`{
/ /リ川' ', ゙、
/ ,/ ゙、 ゙、
ノ / ', `、
\_/ ; ゙、ヽ、
l__ ! ___〕 ,、l
 ̄`‐┬―r┬‐r'´ `'‐'′
| .! | |
| | .| |
705
名前:
デフォルトの名無しさん
:2007/01/11(木) 23:19:10
どうしてくれるんだ
派遣のほうが給料が高いというから俺様は正社員を辞めて派遣になったんだぞ!
謝る気があるなら俺様に正社員に戻る方法を教えてくれ
706
名前:
デフォルトの名無しさん
:2007/01/11(木) 23:56:46
>>703
GDIように、描画とめるAPIあったと思うけど、そうすると、ほかの描画がとまるわけで、
結局自前描画しか方法ないです
707
名前:
デフォルトの名無しさん
:2007/01/12(金) 00:04:32
>>706
返答ありがとうございます。
そうですか。。。
自分なりに、もう少し探ってみます。
708
名前:
デフォルトの名無しさん
:2007/01/13(土) 20:25:19
コントロールを置いてある場所に描画しなければいいだけなのに、
何を探る必用があるのかさっぱり理解できない。
709
名前:
PPP
:2007/02/02(金) 18:28:42
最大頂点数が65534個を超えるMeshObjectについて質問なのですが、
DrawSubset処理がうまくいきません。
一応描画はされるのですが、思うような形がでてきません。
苦肉の策でDrawPrimitiveを使用すると自分が思っている形が出てきたので
頂点データなどは正常であると思います。
原因をご存知であればご教授ください
710
名前:
デフォルトの名無しさん
:2007/02/02(金) 20:46:08
シェーダの勉強をはじめた者です。
本を読んだり自分なりにググったのですが、分からなかったので質問させてください。
基礎的な質問なんですが…。頂点シェーダ結果の出力方法として
「out修飾子を使う方法」「構造体を宣言して構造体を返す方法」の2種類があると思います。
この2つのどちらを使うかを選択する基準って何かあるのでしょうか?
例えば参照の方が効率が良かったりするように、outの方が効率が良いとかあったりしますか?
711
名前:
デフォルトの名無しさん
:2007/02/02(金) 22:25:57
複数outする時は構造体使うしかないだろ。
712
名前:
デフォルトの名無しさん
:2007/02/03(土) 01:01:55
返信ありがとうございます。
すぐ参照できるサンプルソースでなくて恐縮ですが、
「ゲームエフェクトマニアックス」という本のサンプルソースにある
エフェクトファイルでoutが複数利用されているものがあるので
outは複数使えると理解していたのですが、それが間違っているという
事でしょうか?
私が参考にしたのは下記URLのサンプルプログラムにある
エフェクトファイルの一つ「Wave.fx」で、その中に宣言されている
頂点シェーダ「WaveVS」の宣言に下記のようにoutが複数使われていました。
// 頂点シェーダ
void WaveVS (
float4 pos : POSITION,
float2 normal_uv : TEXCOORD0,
out float4 Pos : POSITION,
out float2 NormalUV : TEXCOORD0,
out float3 WVPos : TEXCOORD1
) {
// 頂点座標とテクスチャ座標
Pos=mul(pos, WVProj);
NormalUV=normal_uv;
// ワールドビュー変換した頂点座標
WVPos=mul(pos, WView);
}
(参考URL)
・「ゲームエフェクトマニアックス」
ttp://www.cmagazine.jp/books/effect/index.html
・同書籍サンプルプログラム
ttp://www.cmagazine.jp/books/effect/effect.zip
713
名前:
デフォルトの名無しさん
:2007/02/03(土) 01:56:14
>>711
いや、
>>712
みたいな書き方できんだよ。なんか。
C言語とそっくりとおもいきや実はちょっと違うみたいな・・・
なんか気持ち悪いけどできるんだw
誰の好みかは知らんけどw
>>712
どっちでもいいんじゃね?
言語に複数の方法が用意されてるってそんだけのことでしょ?(多分)
こだわる意味あるの?
714
名前:
デフォルトの名無しさん
:2007/02/03(土) 02:27:15
>>713
こだわる理由は「効率の良い方を使いたかったから」という事です。
形が参照にも似てましたし、2つある=違いがあるのかな?と思ったので。
2つに違いがないのであれば、好みで良さそうですね〜
返信ありがとうございました。
715
名前:
デフォルトの名無しさん
:2007/02/03(土) 02:32:26
効率が気になるなら実測実測。
実測したらついでに報告してくれれば尚良し。
716
名前:
デフォルトの名無しさん
:2007/02/03(土) 02:47:01
>>714
エフェクトコンパイラ fxc.exe の /Fc オプションでアセンブリコードを出力して実際の命令を比較しなさい。
http://msdn.microsoft.com/library/ja/directx9_c/directx/graphics/reference/effectfilereference/commandlinecompile.asp
717
名前:
デフォルトの名無しさん
:2007/02/03(土) 02:54:40
有無。実測以外に無し。
そのときそのシーン、システムごとに違うときも多々有り。
だれがなんと言おうと実測以外に信じるもの無し。
ていうか、そんなもん毎回質問されちゃいくら過疎スレでもさすがに邪魔だろw
測れ、ひたすら測れ。信じるのは実測値のみ。
718
名前:
デフォルトの名無しさん
:2007/02/03(土) 03:19:01
>>715
>>716
>>717
誰もが疑問に思うところで既に「こっちの方が良い」or「どっちでも一緒」という
結論&共通理解がある内容だと思って質問させていただいたんですが、
共通理解があるほど一般的な内容ではなかったんですね。
出力する変数の数や頂点数などによっても変わる可能性があるかもしれませんので
716さんの言うようにアセンブリコードの比較をしてみたいと思います。
ただ、今急ぎの作業があるので、結果報告は一週間以上後になるかもしれません…。
相談に乗っていただいて有り難うございました。
719
名前:
デフォルトの名無しさん
:2007/02/03(土) 03:22:49
>>718
状況をいうと、正直、複雑過ぎてわからないって感じ。
モデル数とか頂点数、フィルレートにも注意しろ。
本当に自分が考えてる値だけがその数値の結果につながってるとは限らない。
測るにも要素がありすぎて「そのシーンではそうでした」としか言えない状況。
つまり、「よくわかっていない。」
720
名前:
デフォルトの名無しさん
:2007/02/03(土) 03:30:18
なんか話を変な方向に広げてる奴がいるが、
>>710
の問題に関しては
>>716
でアセンブリ命令が同一だったら
速度を実測するまでもなくどんなシーンでも絶対に結果は同じだぞ。
721
名前:
デフォルトの名無しさん
:2007/02/03(土) 03:48:27
俺もなんで検証に一週間もかかるのか、フィルレートとかの話が
出てくるのか分からんぜ。
どんなコードに展開されるかっていう、物凄く単純な話なのに。
722
名前:
デフォルトの名無しさん
:2007/02/03(土) 09:04:05
>>720
いや、
>>719
は速度を測る問題全般について言ったんだけど
723
名前:
デフォルトの名無しさん
:2007/02/03(土) 09:11:22
>>718
はアセンブリコードの比較をするってだけの話なんだが。
つかoutはを引数に書こうが、構造体にしようが、C言語みたいに
直値だ、参照だ、ポインタだ、ってわけじゃなく分岐もポインタもない
単純なアセンブリになるだけだから出て来るコードにも速度にも
違いは無いと思うんだが・・・
724
名前:
デフォルトの名無しさん
:2007/02/03(土) 09:18:45
>>723
それは予想でしょう。
やっぱりコード吐いてみないとわかんないよ。
組んだ奴が馬鹿な奴かもしれんし。
725
名前:
デフォルトの名無しさん
:2007/02/03(土) 09:41:09
>>724
おいおい
726
名前:
デフォルトの名無しさん
:2007/02/03(土) 09:55:04
>>725
なんか違うこと言ってる?
組んだ奴が違うように組んだら違うもんがでるじゃん。
727
名前:
デフォルトの名無しさん
:2007/02/03(土) 10:17:49
平行ライトx1+半球ライティング
ポイントライトx4
ライトスキャタリング
ボーンアニメーション
上の要素が入ったシェーダーを構造体を用いた場合と
引数を用いた場合でfxc.exeでコンパイル。
結果どちらも「// approximately 132 instruction slots used」
まぁ当たり前っちゃー当たり前の結果だが。
728
名前:
デフォルトの名無しさん
:2007/02/03(土) 10:22:01
>>727
じゃあ、同じように組んであるっぽいって言えるな。
729
名前:
デフォルトの名無しさん
:2007/02/03(土) 10:22:38
>>727
有無。
やはりコード吐くのが一番早い。
730
名前:
デフォルトの名無しさん
:2007/02/03(土) 12:04:11
>>726
頂点シェーダの出力はピクセルシェーダのレジスタへのマッピングを人間が読みやすくするためだけにあるから
構造体表現しようが直接出してやろうが落とされるバイナリには関係ないんだよ。
まぁレジスタ番号が変わるコトはあるかもしれんけどな。
731
名前:
デフォルトの名無しさん
:2007/02/03(土) 12:18:54
>>717
>>719
>>722
>>724
こういう奴とは一緒に仕事したくないなと思った
おまえ以外誰一人として一般論の話なんかしてないっつの
732
名前:
デフォルトの名無しさん
:2007/02/03(土) 12:27:33
>>710
で質問させていただいた者です。
何を言っても余計な言い訳ですが、「fxc.exeをまだちゃんと使ったことがない」&
「毎日徹夜するほど別作業の締切に追われている」ということで、検証作業は
一週間後ぐらいに開始できると思います…という意図の書き込みでした。
検証していただいた727さん、相談にのっていただいたみなさん本当に
ありがとうございました。
>>727
検証代行していただいてしまって申し訳ありません…。
どちらも同じということで、安心して使えます。
本当にありがとうございました!
733
名前:
デフォルトの名無しさん
:2007/02/04(日) 01:27:49
2枚のテクスチャの合成を行っているのですが、合成をするとcolor値は反映されないものなのでしょうか。
pDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);
pDevice->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);
pDevice->SetTextureStageState(1,D3DTSS_COLOROP,D3DTOP_BLENDTEXTUREALPHA );
pDevice->SetTextureStageState(1,D3DTSS_COLORARG1,D3DTA_TEXTURE);
pDevice->SetTextureStageState(1,D3DTSS_COLORARG2,D3DTA_CURRENT);
合成は上記のように行っています。描画はDrawPrimitive。
pDevice->SetTexture( 0, NULL );
でテクスチャを張らないようにしたり、
pDevice->SetTextureStageState(1,D3DTSS_COLOROP,D3DTOP_DISABLE);
pDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_MODULATE);
合成をしなければcolor値が反映されます。
テクスチャの合成をしつつcolor値を反映させることは出来ないのでしょうか。
734
名前:
デフォルトの名無しさん
:2007/02/04(日) 01:33:59
>>733
なんかよくわかんねーけどこれ↓全部設定してもう1回やってみ?
D3DTSS_ALPHAARG0
D3DTSS_ALPHAARG1
D3DTSS_ALPHAARG2
D3DTSS_ALPHAOP
D3DTSS_COLORARG0
D3DTSS_COLORARG1
D3DTSS_COLORARG2
D3DTSS_COLOROP
もちろんそれぞれに設定したもんの意味をちゃんと理解してよろ。
自分が設定してるもんが色なのか?αなのか?
735
名前:
733
:2007/02/04(日) 01:52:56
すみません、color値は頂点のです。
アルファ値を含むテクスチャの合成をしているのですが、ライトを切ってもテクスチャの色がそのまま反映されます。
合成方法を変えると透明な部分が黒で合成されるなど期待通りに合成されません。
頂点色は正常に設定されているためテクスチャ無しや合成無しでは反映されます。
736
名前:
デフォルトの名無しさん
:2007/02/04(日) 02:31:27
>>735
いや。
合成方法云々より俺には全然理解してないようにしか見えないんだけど。
それでも先へ進みたい?
まず、テクスチャステージとオペレーションを理解する必要があるんじゃね?
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/DirectX9_c/directx/graphics/reference/d3d/enums/d3dtextureop.asp
コードを見てどこがどう変ですよとか指摘するのもちょっと鬱なぐらいアレなので
とりあえずじっくり見てみることをお勧めする。
737
名前:
デフォルトの名無しさん
:2007/02/04(日) 02:51:55
>>733
そのテクスチャステージのどこに頂点カラーがある?
頂点カラーを無視する設定にしているんだから、反映されなくて当然。
738
名前:
デフォルトの名無しさん
:2007/02/04(日) 02:59:50
ちなみにヒントをいうとマジで設定するとこんな感じになるぐらいやっかいなシロモンだ
D3DTSS_COLORARG0ってどういう扱いだったか忘れた。
下の例もD3DTSS_COLORARG1,2を使うのかD3DTSS_COLORARG0,1を使うのかは忘れた。すまん。
下の例はテクスチャステージを3枚使うときな。
//1枚目w
pDevice->SetTexture(0,
pDevice->SetTextureStageState(0,D3DTSS_COLOROP
pDevice->SetTextureStageState(0,D3DTSS_COLORARG1
pDevice->SetTextureStageState(0,D3DTSS_COLORARG2
pDevice->SetTextureStageState(0,D3DTSS_ALPHAOP
pDevice->SetTextureStageState(0,D3DTSS_ALPHAARG1
pDevice->SetTextureStageState(0,D3DTSS_ALPHAARG2
739
名前:
デフォルトの名無しさん
:2007/02/04(日) 03:00:10
//2枚目w
pDevice->SetTexture(1,
pDevice->SetTextureStageState(1,D3DTSS_COLOROP
pDevice->SetTextureStageState(1,D3DTSS_COLORARG1
pDevice->SetTextureStageState(1,D3DTSS_COLORARG2
pDevice->SetTextureStageState(1,D3DTSS_ALPHAOP
pDevice->SetTextureStageState(1,D3DTSS_ALPHAARG1
pDevice->SetTextureStageState(1,D3DTSS_ALPHAARG2
//3枚目w
pDevice->SetTexture(2,
pDevice->SetTextureStageState(2,D3DTSS_COLOROP
pDevice->SetTextureStageState(2,D3DTSS_COLORARG1
pDevice->SetTextureStageState(2,D3DTSS_COLORARG2
pDevice->SetTextureStageState(2,D3DTSS_ALPHAOP
pDevice->SetTextureStageState(2,D3DTSS_ALPHAARG1
pDevice->SetTextureStageState(2,D3DTSS_ALPHAARG2
それぞれカラーオペレーション、αオペレーションを設定しなきゃならんし、
ステージ毎にテクスチャも設定せにゃならんことも注意。
自分のやることがどんな計算をしなきゃならんかよく考えるのが吉。
次のモデル描画するときに残ってると面倒なのでモデル描画する毎に俺は初期化して使ってた。
740
名前:
733
:2007/02/04(日) 03:08:41
レスありがとうございます。
てっきりテクスチャをどっかで処理して、それを頂点カラーに反映させて表示させているのかと思ってました。
頂点情報は正常なので合成が問題と悩んでいました(´・ω・`)
無論、初期化とかもしていませんでしたので組み込んでおきます。
741
名前:
デフォルトの名無しさん
:2007/02/04(日) 04:48:44
飛び降りとか飛び込みとか、人様に迷惑かけないように氏…
742
名前:
デフォルトの名無しさん
:2007/02/05(月) 02:16:28
シェーダにおける最適化に関する質問です。
「環境光と拡散反射光の色味をまとめ、環境光の強さをライトベクトルの
w成分に格納する」という最適化を考えています。
これは環境光と拡散反射光の色味が違わないことが条件で実行できる
最適化だとは思うのですが、これを無理やり環境光と拡散反射光が
異なる物体に適用したいと考えています。
このときに、色味と環境光の値を計算する式のようなものはありませんか?
自分なりに色味に単純平均をつかってみたりしたのですが
うまくいきませんでした…。
また、こういった類の命令数を減らす最適化のテクニックについて
紹介されているサイトなどがありましたら教えていただければ幸いです。
長文失礼しました。
・元の式
color = amb + max(0, dot(N, L))*diff + pow(hl, power)*spec
・最適化後
color = col*max(amb, dot(N, L)) + pow(hl, power)*spec
743
名前:
デフォルトの名無しさん
:2007/02/05(月) 10:01:10
よほど頂点数が多いか、複雑な頂点シェーダーを多用してない限りは
足引っ張るのはCPU、ピクセルシェーダー、メモリアクセスだから
頂点シェーダーを躍起になって結果が変わるほど計算式変えてまで
最適化する必要は無いと思うが・・・
744
名前:
デフォルトの名無しさん
:2007/02/05(月) 12:50:21
>>743
「法線マップのアニメーション」&「ピクセル単位でのライティング」のような
ことをやっているので、使用してるのはピクセルシェーダです。
説明省いちゃってすいません。
ピクセルシェーダーで、「法線マップの取得→クック・トランスの反射モデルを実装」
って感じで作ると、「64命令を超えました」っていうエラーが出てしまいまして…。
少しでも命令数を減らして最適化していったら何とかならないかなと思ったんです。
81命令→64命令なので、普通にやっても無理っぽいんですけどね…。
まだ実験すらしてない段階ですが、普通はパスを分けて解決したりするんでしょうか?
745
名前:
デフォルトの名無しさん
:2007/02/05(月) 21:58:56
片方はピクセルシェーダを使わずに2パス
746
名前:
デフォルトの名無しさん
:2007/02/05(月) 22:08:20
面倒臭ぇ、加算にして二度塗りしちまえ。
1発目
color = amb + max(0, dot(N, L))*diff
2発目
color += pow(hl, power)*spec
747
名前:
デフォルトの名無しさん
:2007/02/05(月) 23:06:31
>>745
アドバイスありがとうございます。
それができれば理想的なんですが、法線マップから法線を
読み込む必要があるので、法線が絡む部分はどうしても
ピクセルシェーダになってしまうんです…。
自分が調べた限り、法線マップを利用する場合は、
(3.0以降じゃない限り、)ピクセルシェーダでなければ
どうしようもないという事だと理解したのですが
上手い手法があるんでしょうか?
法線が不要な部分は出来る限り頂点シェーダに回すという
最適化はやってみようと思います。
>>746
アドバイスありがとうございます。
やはり一般的な式などは存在しない(というかそんなことを
しようとしない)んですね。
どのみちクック・トランス実装の為にパスを分ける事になりそうですし
別々に扱うことも今後は考慮したいと思います。
748
名前:
デフォルトの名無しさん
:2007/02/05(月) 23:38:08
>>747
頂点シェーダーでテクスチャ読めても
法線バンプはピクセルシェーダーでしか出来ないだろ。
俺はバンプ時にはクック・トランス使うのはあきらめた。
ライトが増えるとどうしようもないし素直にフォンでやることにしてる。
モデル1つにソコまで処理かけるよりも画面全体のクオリティを
重視したいってのもあるけど。
749
名前:
デフォルトの名無しさん
:2007/02/06(火) 10:54:20
>>748
詳しく調べてないのでできるという保障はないんですが、頂点シェーダで
テクスチャを、ピクセルシェーダでのテクスチャと全く同等に扱えるとすれば
頂点ベースの法線を基にした法線アニメーションをさせるとか…。
でもそんなことするぐらいなら、頂点座標の物理シミュレーションを担当させたほうが
よさそうですね(笑)
具体的な経験談で本当に参考になりました。
他の人がどうしてるかを調べる方法がなかったので。
私の場合は、単体のシミュレータに近いものなので、処理をかけても良いので
クック・トランスの実装もそのうち取り組んでみたいと思います。
とりあえずは、フォンで行くことになりそうですが。
貴重なアドバイスありがとうございました。
750
名前:
デフォルトの名無しさん
:2007/02/06(火) 17:17:10
キューブ環境マッピングによる水面への映り込みを実現しようと考えています。
GetCubeMapSurface関数を使って、球に近い物体への環境マッピングに
成功したので、それを応用して水面(平面)へのキューブ環境マップを
実現しようとしたのですが、次のような点が上手くいきませんでした。
キューブマップ描画時の射影行列などの設定に問題があるのでしょうか?
同様の経験をされたことがある方がいらっしゃいましたらアドバイスを
いただけませんか?
「視線の入射角が極端に大きくなる(水面に近い高さから覗き込む)と
水面と壁面の間に何も移らない分断された空間ができる」
「Y軸回転させると部屋の角の映り込みと、部屋の角の物体がズレてくる」
「映り込みがカメラ位置(水面の中央)を超えると、変に屈折する」
最後の一つはキューブ環境マップでは仕方ないのかなと思うのですが。
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.