回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前
【C++】 DirectX初心者質問スレ Part39 【C】
http://echo.2ch.net/test/read.cgi/tech/1418438785/
>>2リンク
探検
【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
2016/09/25(日) 14:43:57.34ID:3wiQalb8
887デフォルトの名無しさん
2017/10/26(木) 08:31:02.36ID:DZBV7Mqr 面白い現象に出くわした。
Intel内蔵グラフィックスとnVidia
環境がd3d11、x64、7
同じバイナリを使って深度バッファシャドウで影をだしたら、影のでき方が違う。
インテルだと右に影ができる。
nVidiaだと左右に影がでる。
射影行列かラスタライザの生成座標(z成分)か出力マージャが深度値を出す部分に機種依存する所があるみたい。
不思議…
Intel内蔵グラフィックスとnVidia
環境がd3d11、x64、7
同じバイナリを使って深度バッファシャドウで影をだしたら、影のでき方が違う。
インテルだと右に影ができる。
nVidiaだと左右に影がでる。
射影行列かラスタライザの生成座標(z成分)か出力マージャが深度値を出す部分に機種依存する所があるみたい。
不思議…
888デフォルトの名無しさん
2017/10/26(木) 08:37:07.99ID:u4KXmkwx >>887
未だに同じコードで絵が違うとかあるんだなw
未だに同じコードで絵が違うとかあるんだなw
889デフォルトの名無しさん
2017/10/26(木) 09:46:01.63ID:5HwalKyO >>886
GetDeviceCaps()は
IDirect3DとIDirect3DDeviceにしか無いみたいなのですが。
それからIDirectSound8とIDirectSoundBuffer8の方にはGetCaps()がありますが
IDirectSoundBuffer8::GetCaps()の方はバッファ作成時に指定したフラグが何かだけが取得できるようです(dwFlagsに指定したものがそのまま取得できるようです)。
IDirectSound8::GetCaps()の方にはエフェクト関係の能力値は無いような気がします。
どこで調べれば良いのでしょうか?
GetDeviceCaps()は
IDirect3DとIDirect3DDeviceにしか無いみたいなのですが。
それからIDirectSound8とIDirectSoundBuffer8の方にはGetCaps()がありますが
IDirectSoundBuffer8::GetCaps()の方はバッファ作成時に指定したフラグが何かだけが取得できるようです(dwFlagsに指定したものがそのまま取得できるようです)。
IDirectSound8::GetCaps()の方にはエフェクト関係の能力値は無いような気がします。
どこで調べれば良いのでしょうか?
890デフォルトの名無しさん
2017/10/26(木) 14:16:23.49ID:5HwalKyO 自己解決しました。
dsbdesc.dwFlags = DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLFX;
このフラグ指定でいけました。
DSBCAPS_STATICとDSBCAPS_CTRLFREQUENCYとDSBCAPS_CTRLFXは同時指定できないみたいですね。
今回はDSBCAPS_STATICを同時に指定してるのが原因でした。
dsbdesc.dwFlags = DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLFX;
このフラグ指定でいけました。
DSBCAPS_STATICとDSBCAPS_CTRLFREQUENCYとDSBCAPS_CTRLFXは同時指定できないみたいですね。
今回はDSBCAPS_STATICを同時に指定してるのが原因でした。
891デフォルトの名無しさん
2017/10/26(木) 15:36:50.90ID:Bl1h7ruS インテルiGPUはちょくちょく仕様外の挙動するから困る
俺はテクスチャフィルタリングで悩んだ
俺はテクスチャフィルタリングで悩んだ
892デフォルトの名無しさん
2017/11/20(月) 21:25:05.41ID:OdK/uj9I DirectX 9 シェーダプログラミングブック
古本探しまくったが、CD付きが売ってない。
なくても勉強する上で問題ない?
古本探しまくったが、CD付きが売ってない。
なくても勉強する上で問題ない?
893デフォルトの名無しさん
2017/11/24(金) 22:58:36.59ID:XYQirtg4894デフォルトの名無しさん
2017/12/03(日) 18:44:30.00ID:qMNlGUHN 質問があります。
当方、vvvvというフリーのソフトでシェーダーを書こうとしているものですが、
HLSLに関する質問です。
次のようなエフェクトを考えています。
@ビデオからの入力をリアルタイムに取る
Aそれをパーティクル化する
Bパーティクルをいろいろ動かす
@とBはどうにでもなるのですが、Aをどうやって実践したらよいかが色々調べましたが
分かりません。
テクスチャをサンプリングして、それをピクセル単位にスケーリングして(ここまではできます)、
それを分解するというか、とにかくテクスチャからパーティクルを生成したいのですが、
考え方等を教えて頂けないでしょうか。
よろしくお願いします。
当方、vvvvというフリーのソフトでシェーダーを書こうとしているものですが、
HLSLに関する質問です。
次のようなエフェクトを考えています。
@ビデオからの入力をリアルタイムに取る
Aそれをパーティクル化する
Bパーティクルをいろいろ動かす
@とBはどうにでもなるのですが、Aをどうやって実践したらよいかが色々調べましたが
分かりません。
テクスチャをサンプリングして、それをピクセル単位にスケーリングして(ここまではできます)、
それを分解するというか、とにかくテクスチャからパーティクルを生成したいのですが、
考え方等を教えて頂けないでしょうか。
よろしくお願いします。
895デフォルトの名無しさん
2017/12/03(日) 19:31:21.97ID:goJgyMoW 考えるな
感じるんだ
感じるんだ
896デフォルトの名無しさん
2017/12/03(日) 19:57:29.73ID:xSL5mF2a パーティクル化するの定義がよくわからん
897デフォルトの名無しさん
2017/12/03(日) 20:19:00.98ID:qMNlGUHN >>896
要するに映像効果としては、画像をピクセルレベルで分解して好き勝手にいじりたいんです。
ダンサーさんとのセッションか何かで、動いているダンサーさんをパーティクル上にして縦横無尽に動かしたら、
面白い効果が得られるのではないかと思いまして。
ここ↓でやっているようなことを、HLSLの文法で実装したいのです。つまりテクスチャの対応する
ピクセルの色を取得したいのです。
https://mike-neko.github.io/blog/metal-image/
ですので、考え方というよりは↑のサイトのコードのHLSLへの翻訳をしたい、ということです。
要するに映像効果としては、画像をピクセルレベルで分解して好き勝手にいじりたいんです。
ダンサーさんとのセッションか何かで、動いているダンサーさんをパーティクル上にして縦横無尽に動かしたら、
面白い効果が得られるのではないかと思いまして。
ここ↓でやっているようなことを、HLSLの文法で実装したいのです。つまりテクスチャの対応する
ピクセルの色を取得したいのです。
https://mike-neko.github.io/blog/metal-image/
ですので、考え方というよりは↑のサイトのコードのHLSLへの翻訳をしたい、ということです。
898デフォルトの名無しさん
2017/12/03(日) 20:22:53.42ID:WDmLCv4g >>897
ソースがあるんだから移植しろよ、アホか
ソースがあるんだから移植しろよ、アホか
899デフォルトの名無しさん
2017/12/03(日) 21:03:11.39ID:qMNlGUHN すみません、初心者なもので、HLSLの文法がよく分かっていないのです。
例えばこの一文にしても、
particles[index].color = image.read(id);
このままじゃHLSLでは使えませんよね、
じゃあ、済みません、一つだけに質問を絞って消えます。
上の変数particlesですが、Metalという言語において
元のテクスチャを格納したバッファだと思われます。
HLSLだと、サンプラーを使いたいテクスチャで定義することと同義だと思われます。
というかここまで書いてきて思ったのですが、要するにテキスチャを読みこむというのは、
文字通り画像を分解することじゃなくて、画像と同じスケールの板を用意して、それに画像の色を取得させて、
元画像をパーティクル化しているように見せている、ということですよね。
ですので、分からないのは、
particles[index].position = float4(id.x / (float)size.x, id.y / (float)size.y, 0, 1);
これをHLSLでどう表現するかです。変数パーティクルの後に配列[index]があり、
さらにpositionなるメソッド?が用意されている。ここでパーティクルが配置されているものと思われます。
とても直感的で分かりやすいですが、これをどうHLSLに翻訳するか、教えて頂けないでしょうか。
例えばこの一文にしても、
particles[index].color = image.read(id);
このままじゃHLSLでは使えませんよね、
じゃあ、済みません、一つだけに質問を絞って消えます。
上の変数particlesですが、Metalという言語において
元のテクスチャを格納したバッファだと思われます。
HLSLだと、サンプラーを使いたいテクスチャで定義することと同義だと思われます。
というかここまで書いてきて思ったのですが、要するにテキスチャを読みこむというのは、
文字通り画像を分解することじゃなくて、画像と同じスケールの板を用意して、それに画像の色を取得させて、
元画像をパーティクル化しているように見せている、ということですよね。
ですので、分からないのは、
particles[index].position = float4(id.x / (float)size.x, id.y / (float)size.y, 0, 1);
これをHLSLでどう表現するかです。変数パーティクルの後に配列[index]があり、
さらにpositionなるメソッド?が用意されている。ここでパーティクルが配置されているものと思われます。
とても直感的で分かりやすいですが、これをどうHLSLに翻訳するか、教えて頂けないでしょうか。
900デフォルトの名無しさん
2017/12/03(日) 22:05:15.66ID:xSL5mF2a DirectXしかわからないけど
入力で座標とどのピクセルを描画するかの情報を送る
↓
頂点シェーダでパーティクルのポリゴン作る
↓
ピクセルシェーダで入力情報をもとにテクスチャの1pxを描画
って感じだと思う
入力で座標とどのピクセルを描画するかの情報を送る
↓
頂点シェーダでパーティクルのポリゴン作る
↓
ピクセルシェーダで入力情報をもとにテクスチャの1pxを描画
って感じだと思う
901デフォルトの名無しさん
2017/12/04(月) 01:03:00.54ID:g/Dvecy1 シェーダコード見てみたけど100行ぐらいしかないやん
しかもシェーダなんて似たようなコードだし
リファレンス見ながら書き直してもたいしたことないだろ
「真性の馬鹿なので勉強の仕方がわかりません。答え教えてください」
こういう風にしか見えんわ
しかもシェーダなんて似たようなコードだし
リファレンス見ながら書き直してもたいしたことないだろ
「真性の馬鹿なので勉強の仕方がわかりません。答え教えてください」
こういう風にしか見えんわ
902デフォルトの名無しさん
2017/12/04(月) 02:52:37.40ID:5zvUhAUl903デフォルトの名無しさん
2017/12/04(月) 16:21:04.56ID:PtiyKmP1 馬鹿には無理
904デフォルトの名無しさん
2017/12/04(月) 17:19:00.46ID:UVpqn+og 自己紹介乙
905デフォルトの名無しさん
2017/12/04(月) 19:45:16.62ID:5zvUhAUl 馬鹿だから無理でした。
内容としては、
頂点シェーダで、テキスチャのサイズにテキスチャ座標をスケーリングしたものと同様の変数を
x座標、y座標ように2つ用意する
↓
それをそのまま2つの配列にする
↓
頂点座標のx成分、y成分にそれぞれ配列を代入する
↓
確保していたテクスチャから色情報を取得してそれを頂点座標に代入
↓
頂点座標を出力(ピクセルシェーダはスルー)
そうしたら、何も映りませんでしたが、入力していたメッシュをワイヤーフレームワイヤーフレームとか
ソリッドとかで表示できる機能がvvvvにはあるのですが、それをポイントにしたら
点が一つだけ表示されました。
書いていて情けなくなるくらい自分馬鹿だなあと思っています。
でも実現の方法が分からず・・・優しい方教えてください。
内容としては、
頂点シェーダで、テキスチャのサイズにテキスチャ座標をスケーリングしたものと同様の変数を
x座標、y座標ように2つ用意する
↓
それをそのまま2つの配列にする
↓
頂点座標のx成分、y成分にそれぞれ配列を代入する
↓
確保していたテクスチャから色情報を取得してそれを頂点座標に代入
↓
頂点座標を出力(ピクセルシェーダはスルー)
そうしたら、何も映りませんでしたが、入力していたメッシュをワイヤーフレームワイヤーフレームとか
ソリッドとかで表示できる機能がvvvvにはあるのですが、それをポイントにしたら
点が一つだけ表示されました。
書いていて情けなくなるくらい自分馬鹿だなあと思っています。
でも実現の方法が分からず・・・優しい方教えてください。
906デフォルトの名無しさん
2017/12/05(火) 01:37:34.16ID:wXeULMnZ 俺って天才だなあ
907デフォルトの名無しさん
2017/12/05(火) 11:28:09.79ID:Kxri3/vO VSとPSの最低限の物を理解してれば難しくないだろ
908デフォルトの名無しさん
2017/12/05(火) 14:04:47.35ID:JFWc1rHJ ソース貼れ
909デフォルトの名無しさん
2017/12/05(火) 16:03:39.98ID:D/e4ygg6 とりあえず最低限の頂点シェーダだけです。配列index[],index2[]にはソフトウェアの方から、座標を任意個数リニアに出力してくれるノードを使っています。
入力してるメッシュは1つだけで、出力されてるのも1つだけなので、このコードをどういじってもせいぜい変形したメッシュにビデオ入力がそのまま映るだけです。目的としては320*240個のパーティクルを作りたいのですが、
ソフトウェア側でその数のパーティクルを用意するのでなく、単にその数の座標を入力しているだけの状態です。
struct vs2ps
{
float4 Pos : POSITION;
float2 TexCd : TEXCOORD0;
};
// --------------------------------------------------------------------------------------------------
// VERTEXSHADERS
// --------------------------------------------------------------------------------------------------
float index[320];
float index2[240];
vs2ps VS(
float4 PosO : POSITION,
float4 TexCd : TEXCOORD0
)
{
vs2ps Out;
PosO.x=index[TexCd.x * (ArrSize-1)];
PosO.y=index2[TexCd.x * (ArrSize-1)];
Out.Pos = mul(PosO, tWVP);
Out.TexCd = mul(TexCd, tTex);
return Out;
}
入力してるメッシュは1つだけで、出力されてるのも1つだけなので、このコードをどういじってもせいぜい変形したメッシュにビデオ入力がそのまま映るだけです。目的としては320*240個のパーティクルを作りたいのですが、
ソフトウェア側でその数のパーティクルを用意するのでなく、単にその数の座標を入力しているだけの状態です。
struct vs2ps
{
float4 Pos : POSITION;
float2 TexCd : TEXCOORD0;
};
// --------------------------------------------------------------------------------------------------
// VERTEXSHADERS
// --------------------------------------------------------------------------------------------------
float index[320];
float index2[240];
vs2ps VS(
float4 PosO : POSITION,
float4 TexCd : TEXCOORD0
)
{
vs2ps Out;
PosO.x=index[TexCd.x * (ArrSize-1)];
PosO.y=index2[TexCd.x * (ArrSize-1)];
Out.Pos = mul(PosO, tWVP);
Out.TexCd = mul(TexCd, tTex);
return Out;
}
910デフォルトの名無しさん
2017/12/05(火) 16:14:07.63ID:D/e4ygg6 あとPSとVSのバージョンは3.0までしかソフトウェアが対応していません。
DX9の環境です。
よろしくお願いします。
DX9の環境です。
よろしくお願いします。
911デフォルトの名無しさん
2017/12/05(火) 20:03:21.35ID:pLTMnh9T DX9だと入力のメッシュを320*240にしないと難しいよ
912デフォルトの名無しさん
2017/12/06(水) 07:35:08.83ID:wUCWLeX9 その場合、単一のメッシュ(320*240)をピクセル毎になるように分割する、ということになるのでしょうか?
幸い、メッシュを任意個に分割するノードがvvvvにはあります。
幸い、メッシュを任意個に分割するノードがvvvvにはあります。
913デフォルトの名無しさん
2017/12/06(水) 14:41:43.41ID:JYUSgfd5 おまえ、人に聞いてばっかだな
マジ寄生虫
マジ寄生虫
914デフォルトの名無しさん
2017/12/06(水) 17:04:03.53ID:wUCWLeX9 流石に潮時ですかね
スレ汚し失礼しました
ただ、具体的な回答があればもっと早く消えていたのですが。
残念です。
スレ汚し失礼しました
ただ、具体的な回答があればもっと早く消えていたのですが。
残念です。
915デフォルトの名無しさん
2017/12/14(木) 23:24:46.89ID:EX9aqF1y このスレはバカしかいないからな
916デフォルトの名無しさん
2017/12/16(土) 12:16:16.86ID:mmje4ODI 自己紹介
917デフォルトの名無しさん
2018/02/04(日) 21:11:37.50ID:DR0CpTml DirectXも終わりかな
918デフォルトの名無しさん
2018/02/04(日) 21:43:22.78ID:BflI37ma まだ終わらんよ
919デフォルトの名無しさん
2018/02/05(月) 15:47:52.04ID:D7qesvRf CreateCompatibleBitmapでメモリビットマップを作成し、
それに対してGDIのDrawTextで描画し、それを画面にBitBltするという、
昔からよくある手法で画面に大量の文字を描画する処理があるのですが、
DirectWriteに置き換えると文字を綺麗にできると聞きました。
CreateCompatibleBitmapなどの仕組みは残したまま、
メモリビットマップへのDrawTextの部分を置き換えることは可能でしょうか?
よいサンプルがあれば勉強してみたいのですが。
それに対してGDIのDrawTextで描画し、それを画面にBitBltするという、
昔からよくある手法で画面に大量の文字を描画する処理があるのですが、
DirectWriteに置き換えると文字を綺麗にできると聞きました。
CreateCompatibleBitmapなどの仕組みは残したまま、
メモリビットマップへのDrawTextの部分を置き換えることは可能でしょうか?
よいサンプルがあれば勉強してみたいのですが。
920デフォルトの名無しさん
2018/02/05(月) 18:26:14.26ID:qXocenM+ >>919
GDIでTextOut/DrawTextやってる程度なら出力先をGDIとしてDirect2D上に描画
Direct2D and GDI Interoperability Overview
https://msdn.microsoft.com/en-us/library/windows/desktop/dd370971
Rendering DirectWrite
https://msdn.microsoft.com/en-us/library/windows/desktop/ff485855.aspx
文字単位で凝った処理してるならリンク先にもあるけどDrawGlyphRunというメソッド中心で調査されたし
リッチなレンダリング目的ならどの方法でやるにしても
既定だと基本的にGDI互換の方向で描画して大差無いので
IDWriteRenderingParamsを適切に設定する
GDIでTextOut/DrawTextやってる程度なら出力先をGDIとしてDirect2D上に描画
Direct2D and GDI Interoperability Overview
https://msdn.microsoft.com/en-us/library/windows/desktop/dd370971
Rendering DirectWrite
https://msdn.microsoft.com/en-us/library/windows/desktop/ff485855.aspx
文字単位で凝った処理してるならリンク先にもあるけどDrawGlyphRunというメソッド中心で調査されたし
リッチなレンダリング目的ならどの方法でやるにしても
既定だと基本的にGDI互換の方向で描画して大差無いので
IDWriteRenderingParamsを適切に設定する
921デフォルトの名無しさん
2018/02/06(火) 11:46:02.28ID:tlS6x/He922デフォルトの名無しさん
2018/02/06(火) 12:56:29.36ID:HnlXhHfV テクスチャに描画は知ってた方がよくね
923デフォルトの名無しさん
2018/02/09(金) 15:51:11.72ID:ukoLQzoH そんなの誰だって知ってるよだろw
924デフォルトの名無しさん
2018/02/10(土) 11:37:08.60ID:nvNZfDk8 文字サイズ固定ならテクスチャが最強だよね
925デフォルトの名無しさん
2018/02/10(土) 19:32:54.48ID:/TjPUdsq 低レベルな争いだなあ(´・ω・`)
926デフォルトの名無しさん
2018/02/11(日) 01:05:56.81ID:WMQeXuiD 本当にやりたいことを聴かずに遠回しに質問するからだよ
927デフォルトの名無しさん
2018/02/11(日) 18:35:56.75ID:3GTkA4HB 質問の目的は明確だし1レス目の回答で完了してるのに
どんだけバカが揃えばこんなうんこみたいな流れになるんだ...
どんだけバカが揃えばこんなうんこみたいな流れになるんだ...
928デフォルトの名無しさん
2018/02/17(土) 11:36:46.23ID:0Y0wbDyD 頂点を射影変換して、さらにクリッピングまでされた頂点をテッセレーションで分割したいのですが、
パイプラインの流れ的に普通にはできません。
やれるとしたら、ジオメトリシェーダでプログラマブルにクリッピングして、
それをストリームアウトし、再度頂点シェーダから読み込んでテッセレーションするというやり方でしょうか?
プログラマブルなクリッピングが可能かどうかが問題ではりますが・・・。
もっといい方法があれば教えてほしいです。
パイプラインの流れ的に普通にはできません。
やれるとしたら、ジオメトリシェーダでプログラマブルにクリッピングして、
それをストリームアウトし、再度頂点シェーダから読み込んでテッセレーションするというやり方でしょうか?
プログラマブルなクリッピングが可能かどうかが問題ではりますが・・・。
もっといい方法があれば教えてほしいです。
929デフォルトの名無しさん
2018/02/17(土) 14:07:50.33ID:2QbLbnEt クリッピング最後じゃいかんの
930デフォルトの名無しさん
2018/02/17(土) 15:15:17.47ID:zOfD1Lkw 4ヶ月ぶりに覗いたけど
相変わらずかそってんのな
amdのfetch4ってgatherredで効くの?
Sample()で4点フェチして自前でバイリニアすると(dx9のshadowmapのサンプル)
ちゃんと補完されるのに
gatherredだとモザイクみたくなるんだよな
コツ教えて
相変わらずかそってんのな
amdのfetch4ってgatherredで効くの?
Sample()で4点フェチして自前でバイリニアすると(dx9のshadowmapのサンプル)
ちゃんと補完されるのに
gatherredだとモザイクみたくなるんだよな
コツ教えて
932デフォルトの名無しさん
2018/02/19(月) 15:18:33.91ID:LkkqjNZ1 ピクセルシェーダはピクセル単位だし
クリッピングされた頂点が欲しいというなら
これは不適当だ
アンタの言うとおり
ジオメトリで三角形分割して
ストリームアウトプットしか無いんじゃないか
クリッピングされた頂点が欲しいというなら
これは不適当だ
アンタの言うとおり
ジオメトリで三角形分割して
ストリームアウトプットしか無いんじゃないか
933デフォルトの名無しさん
2018/02/20(火) 12:16:25.68ID:/DCDJ0JE 何がしたいのか、サッパリわからん。
この説明だと、二次元に落とし混んだ後に三次元計算したい!と無理なロジックを考えとるように聞こえるの。
この説明だと、二次元に落とし混んだ後に三次元計算したい!と無理なロジックを考えとるように聞こえるの。
934デフォルトの名無しさん
2018/02/20(火) 12:24:07.25ID:/DCDJ0JE そもそも「クリップ」が何を、どのような結果を期待しているのか?がわからない。
「ワールド座標内から三次元に空間を切り取りたい」
だけならば、頂点シェーダで空間外にある頂点を捨てれば済む訳なんだが、
するとドメイン、ハルシェーダに流し込むべきプリミティブの整合がなくなる。
そうなるとジオメトリシェーダでプリミティブ単位で落とすことになるが、これだとパイプラインの工程に制約され、テセレータに戻すには二バス目が必須となる。
「ワールド座標内から三次元に空間を切り取りたい」
だけならば、頂点シェーダで空間外にある頂点を捨てれば済む訳なんだが、
するとドメイン、ハルシェーダに流し込むべきプリミティブの整合がなくなる。
そうなるとジオメトリシェーダでプリミティブ単位で落とすことになるが、これだとパイプラインの工程に制約され、テセレータに戻すには二バス目が必須となる。
935デフォルトの名無しさん
2018/02/20(火) 12:29:55.68ID:/DCDJ0JE 書きながらなんとなく、メッシュをピクセル単位で落としたい、
メッシュの衝突をシェーダでやりたいのかと思ったが、そうなるとテセレータが欲しいという意図が不明。
もちっと具体的に実現したい結果を説明しないと有意義な答えは出てこないと思う。
メッシュの衝突をシェーダでやりたいのかと思ったが、そうなるとテセレータが欲しいという意図が不明。
もちっと具体的に実現したい結果を説明しないと有意義な答えは出てこないと思う。
936デフォルトの名無しさん
2018/02/20(火) 12:34:30.91ID:/DCDJ0JE シェーダは別に1パスであらゆることが実現できるようには設計されていない、
一般的な三次元描画のセオリーを基軸にして、高速に計算できるように設計している。
パイプラインのフローに合わないものを実現するならば、マルチパスにするか、アルゴリズムを変えないと実現できずにアシぶみするだけ。
一般的な三次元描画のセオリーを基軸にして、高速に計算できるように設計している。
パイプラインのフローに合わないものを実現するならば、マルチパスにするか、アルゴリズムを変えないと実現できずにアシぶみするだけ。
937デフォルトの名無しさん
2018/02/20(火) 14:06:33.85ID:ZhrEO/E0 930だがcapsviewerみたらshader _gather4がoffだった
このせいか?
GPUは超最新のRX470だから意外だ・・
クリッピングに関しては
やってることがおかしいのは
皆わかっていることだろう
大事なのは本人が満足することであって
忠告は余計なお世話だ
このせいか?
GPUは超最新のRX470だから意外だ・・
クリッピングに関しては
やってることがおかしいのは
皆わかっていることだろう
大事なのは本人が満足することであって
忠告は余計なお世話だ
938デフォルトの名無しさん
2018/02/20(火) 18:24:40.52ID:ptcA/Sk+ 仰有る通りです。
939デフォルトの名無しさん
2018/02/20(火) 18:40:51.90ID:Q8WKYTfx 1パスでやるなら一つ方法がある。
頂点シェーダは頂点番号を引数に取れたはずだから、三角形リスト(ようはストリップとファン以外)を前提に頂点番号の剰余をとる。
あとは定数バッファにクリップしたい空間をいれるなりする。
というか、クリップしたいのが何なのかがわからんと、これでいけるのかもわからんが。
頂点シェーダは頂点番号を引数に取れたはずだから、三角形リスト(ようはストリップとファン以外)を前提に頂点番号の剰余をとる。
あとは定数バッファにクリップしたい空間をいれるなりする。
というか、クリップしたいのが何なのかがわからんと、これでいけるのかもわからんが。
940デフォルトの名無しさん
2018/02/20(火) 18:53:53.14ID:NF5x4bMT そうだ。俺が知る限り、ピクセルシェーダ以外にdiscard命令はないから、厳密にはクリップはできないと思う。
これはプリミティブの一貫性を担保出来なくなるからだと思う。
つまりクリップ後じゃないとダメというなら、それはかなり無理をしないと実装しにくいと思います。
おわり
これはプリミティブの一貫性を担保出来なくなるからだと思う。
つまりクリップ後じゃないとダメというなら、それはかなり無理をしないと実装しにくいと思います。
おわり
941デフォルトの名無しさん
2018/02/20(火) 19:35:33.56ID:u4AWVd2v Direct3Dの描画はプリミティブ単位だからね
三角形や線とかな
だから頂点シェーダで頂点を破棄なんて
そもそもナンセンス
大体頂点を破棄したら三角が線になっちまうしな
クリッピングってのは平面に交差した三角形を破棄し
その接触してた境界線を使って
1〜2個の三角形を作って追加することだな
掻い摘まむと
三角形や線とかな
だから頂点シェーダで頂点を破棄なんて
そもそもナンセンス
大体頂点を破棄したら三角が線になっちまうしな
クリッピングってのは平面に交差した三角形を破棄し
その接触してた境界線を使って
1〜2個の三角形を作って追加することだな
掻い摘まむと
942デフォルトの名無しさん
2018/02/20(火) 19:39:01.32ID:u4AWVd2v それにクリッピングしてない三角形と
クリッピングして半分サイズになった三角形を
それぞれテッセレーションかけたとして
描画に差が出るとは思えないんだよな
結局出来る絵は一緒だろみたいな
クリッピングして半分サイズになった三角形を
それぞれテッセレーションかけたとして
描画に差が出るとは思えないんだよな
結局出来る絵は一緒だろみたいな
943928
2018/02/20(火) 21:55:02.19ID:o7gc+o+D みなさん、ご意見ありがとうございます!
ジオメトリシェーダーでプログラマブルにクリッピングし、
次のパスでテッセレーションさせる方法で思惑通りにできました。
品質、パフォーマンスともにばっちりです。
プログラマブルシェーダの威力を今までで一番実感できましたw
入力頂点や最終的な表現が少々特殊なアプリケーションなので、こんなことしてます^^;
ジオメトリシェーダーでプログラマブルにクリッピングし、
次のパスでテッセレーションさせる方法で思惑通りにできました。
品質、パフォーマンスともにばっちりです。
プログラマブルシェーダの威力を今までで一番実感できましたw
入力頂点や最終的な表現が少々特殊なアプリケーションなので、こんなことしてます^^;
944デフォルトの名無しさん
2018/02/21(水) 05:52:54.40ID:4FJWcrHN 特殊学級逝け
945デフォルトの名無しさん
2018/02/21(水) 06:44:11.37ID:3DX90cKY なんかできない理由を引き出すことが目的だったみたいだね。
946デフォルトの名無しさん
2018/02/21(水) 10:51:47.16ID:zwuXHePG >>941-942
ほんそれ
ほんそれ
947デフォルトの名無しさん
2018/02/21(水) 21:15:13.73ID:PIrsuTwG プロかアマか知らんが
実際にテッセレーション使う
アプリがあることに驚きだ
実際にテッセレーション使う
アプリがあることに驚きだ
948デフォルトの名無しさん
2018/02/22(木) 03:58:30.48ID:uf68Vai0 モデラーソフトウェアが曲面を出力しないからね。
俺はデザイン段階のメッシュ生成に使うぐらいだな
ランタイムは使い処がない。元が面しかないから
俺はデザイン段階のメッシュ生成に使うぐらいだな
ランタイムは使い処がない。元が面しかないから
949デフォルトの名無しさん
2018/02/27(火) 12:28:04.97ID:KIqtFKWO DirectXからは外れるが
俺もクリッピングの処理作ってたんだが
単精度が誤判定が多くて苦労した
結局倍精度で作り直したよ
scalar * dot( vec4, vec4 ) と dot( vec4, scalar * vec4 )
これでさえ解が異なるからな
桁落ちしてるんだろーが
ひ弱過ぎてやってらんねーよ
お前等も内積使ってる箇所は
誤差りまくってると思った方がいいよ
俺もクリッピングの処理作ってたんだが
単精度が誤判定が多くて苦労した
結局倍精度で作り直したよ
scalar * dot( vec4, vec4 ) と dot( vec4, scalar * vec4 )
これでさえ解が異なるからな
桁落ちしてるんだろーが
ひ弱過ぎてやってらんねーよ
お前等も内積使ってる箇所は
誤差りまくってると思った方がいいよ
950デフォルトの名無しさん
2018/02/27(火) 12:31:23.94ID:KIqtFKWO あれれ?
これは解が違ってて当たり前だな・・
もう引退するわ俺、、
これは解が違ってて当たり前だな・・
もう引退するわ俺、、
952デフォルトの名無しさん
2018/02/27(火) 14:28:31.83ID:5gkszjPl わらうしかないな
953デフォルトの名無しさん
2018/02/27(火) 14:36:21.65ID:MLnedvVc 【UFO】 山本太郎も横浜で遭遇 ≪W◇″型の発光体≫ 世界にテレパシー放送 【大宣言】
http://rosie.5ch.net/test/read.cgi/liveplus/1519704223/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1519704223/l50
954デフォルトの名無しさん
2018/02/27(火) 19:11:26.74ID:26shKBED >>950
そんなことでくよくよするな。
内積よりも項に入る浮動小数点の桁の差が誤差の原因
1e7 * 4e-8 なんかは普通に誤差がでる。
深度バッファシャドウなんか、もう泣けるはどにエイリアスがでるからね
そんなことでくよくよするな。
内積よりも項に入る浮動小数点の桁の差が誤差の原因
1e7 * 4e-8 なんかは普通に誤差がでる。
深度バッファシャドウなんか、もう泣けるはどにエイリアスがでるからね
955デフォルトの名無しさん
2018/03/01(木) 13:17:36.41ID:Cf0RGA4u direct3d11でGPU利用率を出したいんだが
どうすればいい?
ID3DCounterってのも
リファレンスに何も載ってなくて
いまいち使い方がわからん
どうすればいい?
ID3DCounterってのも
リファレンスに何も載ってなくて
いまいち使い方がわからん
956デフォルトの名無しさん
2018/03/01(木) 18:51:45.37ID:uQBf/C/G >>955
Windows10のタスクマネージャで見れるヤツじゃアカンの?
Windows10のタスクマネージャで見れるヤツじゃアカンの?
957デフォルトの名無しさん
2018/03/01(木) 19:30:18.95ID:Cf0RGA4u958デフォルトの名無しさん
2018/03/05(月) 01:01:52.39ID:20zxqeLy 最近AIAI騒いでるのでDirectXついでにCSで人工知能やってるけど
directxって本当に何でもできる優れものですね!!
directxって本当に何でもできる優れものですね!!
959デフォルトの名無しさん
2018/03/05(月) 01:24:16.82ID:mY7Ak3+Q DirectXのXはAIでも何でもありの意味なのだ
960デフォルトの名無しさん
2018/03/07(水) 09:34:05.29ID:qEJjJFd9 Dwarf.xに不透明度0が設定されているせいで
何にもエラーがでないのに何も表示されなくて
泣きそうになりながらデバッグしてた。
俺の毛根が全てタヒんだ。絶対に許さない。
何にもエラーがでないのに何も表示されなくて
泣きそうになりながらデバッグしてた。
俺の毛根が全てタヒんだ。絶対に許さない。
961デフォルトの名無しさん
2018/03/07(水) 17:37:46.73ID:Xgof0Akv カリカリすんな、ハゲるぞ
962デフォルトの名無しさん
2018/03/09(金) 22:39:40.57ID:k21qhUCP XMVECTORF32 v; ←不定値
v = XMVECTORF32(); ←(0.0f, 0.0f, 0.0f, 0.0f )が代入される
XVECTORF32の定義を見ても特に0初期化してるコードは見られないんだけど、どういうこと??
v = XMVECTORF32(); ←(0.0f, 0.0f, 0.0f, 0.0f )が代入される
XVECTORF32の定義を見ても特に0初期化してるコードは見られないんだけど、どういうこと??
963デフォルトの名無しさん
2018/03/09(金) 22:44:00.05ID:FxEAZLjZ >>962
おまえが無知だってこと
おまえが無知だってこと
964デフォルトの名無しさん
2018/03/10(土) 00:49:48.96ID:6Ku/v/4o >>962
963の否定を書こうと頑張ったけど無理だった。
963の否定を書こうと頑張ったけど無理だった。
965デフォルトの名無しさん
2018/03/10(土) 00:53:19.18ID:6Ku/v/4o まるで、0次元に奥行きと時間軸があると証明しろ、という問題
966962
2018/03/10(土) 01:00:56.50ID:jUXiXJgT ひょっとして内部的にはfloat()が呼ばれてるのかな?
プリミティブ型のコンストラクタは0になるし。
プリミティブ型のコンストラクタは0になるし。
967デフォルトの名無しさん
2018/03/10(土) 06:10:20.45ID:L0iyZELB >>962
おいおい
おいおい
968962
2018/03/10(土) 09:01:27.06ID:jUXiXJgT 分かりました。
POD型の構造体ってやつですね。
デフォルトコントラスタがメンバを0初期化するっていう。
忘れてました^^;
POD型の構造体ってやつですね。
デフォルトコントラスタがメンバを0初期化するっていう。
忘れてました^^;
969デフォルトの名無しさん
2018/03/10(土) 10:37:49.64ID:eraRXpqW 陰影が鮮やかな既定動作か。。
970デフォルトの名無しさん
2018/03/10(土) 17:50:17.71ID:L2iBNePa あのう、oswin8でdirectXのゲーム作ろうとしたらd3dx9.hが開けなくて何が悪いのか解らないんだけど誰か教えて
ちゃんとパスも通してるはずなんだけど開けない
ちゃんとパスも通してるはずなんだけど開けない
971デフォルトの名無しさん
2018/03/10(土) 17:54:04.71ID:5pXC+BOT SDKは入れたか?
972デフォルトの名無しさん
2018/03/10(土) 17:58:33.24ID:5pXC+BOT973デフォルトの名無しさん
2018/03/10(土) 18:00:00.90ID:L2iBNePa 一部はアプリ関係で入れられなかったけど入れた
DXSDK_Jun10
これ入れた
DXSDK_Jun10
これ入れた
974デフォルトの名無しさん
2018/03/10(土) 20:47:35.40ID:L2iBNePa975デフォルトの名無しさん
2018/03/11(日) 14:33:15.88ID:hH1O5ykj インクルードディレクトリもライブラリディレクトリでもパス通してるんだけどエラーが起きる
directX入れなおした方が良いかな?
directX入れなおした方が良いかな?
976デフォルトの名無しさん
2018/03/11(日) 15:31:20.81ID:zWe+i43K 画面コピペか
少なくともどんなエラーかくらい書け
少なくともどんなエラーかくらい書け
977デフォルトの名無しさん
2018/03/11(日) 16:36:05.71ID:Rp+gMgwe 1>------ ビルド開始: プロジェクト:oikake, 構成:Debug Win32 ------
1> Gameplay.cpp
1>c:\k013a2065\oikake\oikake\gameplay.cpp(8): fatal error C1083: include ファイルを開けません。'd3dx9.h':No such file or directory
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(356,5): error MSB6006: "CL.exe" はコード 2 を伴って終了しました。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
1> Gameplay.cpp
1>c:\k013a2065\oikake\oikake\gameplay.cpp(8): fatal error C1083: include ファイルを開けません。'd3dx9.h':No such file or directory
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(356,5): error MSB6006: "CL.exe" はコード 2 を伴って終了しました。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
978デフォルトの名無しさん
2018/03/11(日) 18:23:51.34ID:nU46plwc >>977
馬鹿すぎる
馬鹿すぎる
979デフォルトの名無しさん
2018/03/11(日) 20:17:55.04ID:1mhcZmSW 学校の端末か
980デフォルトの名無しさん
2018/03/11(日) 21:27:53.94ID:w65DB/Z1 >>978
お前さー、もう出てくるなよ
自分がわかるクソみてーな質問には
偉そうに役に立たないレス返しやがって
ちょっと深い話になるとついてこれず
だんまり決めやがって
これからもそのスタイル続けるなら
コテハンにしろよ臆病者が
お前さー、もう出てくるなよ
自分がわかるクソみてーな質問には
偉そうに役に立たないレス返しやがって
ちょっと深い話になるとついてこれず
だんまり決めやがって
これからもそのスタイル続けるなら
コテハンにしろよ臆病者が
981デフォルトの名無しさん
2018/03/12(月) 03:16:30.51ID:IdW8RVi3 エスパーするとおれが答えられない質問はするな、ということですな。
982デフォルトの名無しさん
2018/03/12(月) 03:31:55.46ID:xicg2nss ちげーよヴァカ
無意味なレスを返すなって
言ってるんだよ
「馬鹿すぎる」ってレスに
どんな情報的価値があるの?
無駄な文章を載せるなよ
しかも随分昔から繰り返しやがって
言ってもわかんねーだろうがな
わからねー池沼だから繰り返す訳で
無意味なレスを返すなって
言ってるんだよ
「馬鹿すぎる」ってレスに
どんな情報的価値があるの?
無駄な文章を載せるなよ
しかも随分昔から繰り返しやがって
言ってもわかんねーだろうがな
わからねー池沼だから繰り返す訳で
983デフォルトの名無しさん
2018/03/12(月) 08:18:41.78ID:H/PJUZeP ネットは答えを教えてくれる魔法の箱じゃない。
礼儀も立場も弁えず、垂れながすのも自由なら答えない自由もある。
ttps://social.msdn.microsoft.com/Forums/en-US/e8ecf535-c80d-4e9a-90f5-720e92a3cc43/including-d3d9xh?forum=vcprerelease
礼儀も立場も弁えず、垂れながすのも自由なら答えない自由もある。
ttps://social.msdn.microsoft.com/Forums/en-US/e8ecf535-c80d-4e9a-90f5-720e92a3cc43/including-d3d9xh?forum=vcprerelease
984デフォルトの名無しさん
2018/03/12(月) 15:04:36.61ID:zt/LuZHd 馬鹿すぎる
985デフォルトの名無しさん
2018/03/12(月) 15:22:57.63ID:eQiZqVT0 もう解りやす過ぎるわ連投でID一致しないように日付変えて書き込んで特定されないよう対策してるやつ
986デフォルトの名無しさん
2018/03/12(月) 16:03:36.74ID:CSgz2Faf スルー力は朝日新聞が最強
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- オマエら女に飽きただろ
- BTSのバラエティ面白すぎワロタ
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
