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


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

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



1 名前:デフォルトの名無しさん [2018/03/23(金) 15:24:12.95 ID:1IsbON+l.net]
回答する人も、質問する人も必ず読んでください

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

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

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


【C++】 DirectX初心者質問スレ Part40 【C】(c)2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1474782237/

>>2リンク

159 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 22:02:25.18 ID:DVXllMcK.net]
DirectXに互換性などはないような。
ただ過去のスタックが残っているだけのこと。
それすらDirect3D9c未満が動くのか?は疑問がある。 ドライバが非対応なんじゃないだろうか。

あと、動画再生時のCODECが非対応で、動画再生できずに堕ちるってのもあるような。
ソフトウェアMIDIもドライバで実現しているのか、Microsoft標準ドライバが実装しているのかも疑問がある。

取り敢えず、過去に買ったWindows 95時代のゲームで動画再生できずに堕ちたゲームは観た事がある。

160 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 22:08:06.99 ID:DVXllMcK.net]
Windowsは、Windowsのみで機能を実現など出来ていない。
ハードウェアを扱う部分は、メーカーが提供するドライバが核であり、
そこがWindowsの互換性を提供し、メーカーに向けたドライバ要件が担保となっている。

Officeが必要とするドライバ機能がドライバ要件を決定づけていて、
サポート期間中の製品が必要とする部分なら、ドライバも必須となる。
従って、Direct3D関係の機能は、既に9c未満が動く保証はないと思う。

161 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 00:02:40.53 ID:gdLwWWhU.net]
>>159
ドライバの対応次第ってことかな?
現状ではDirectX6や7や8のゲームは普通に動いてるけど
メーカーがドライバ対応しなくなった時が終わりってこと?

162 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 07:52:43.20 ID:K+Ua86eW.net]
>>161
ここでウダウダ聞いてもなんの担保にもならんぞ
対応しなくなったら終わりではなく更新されないだけ、それで動き続けるかどうかは神の味噌汁
たまたま動かなくなっただけかもしれない、たまたま動いているだけかもしれない

3DゲームはドライバでなくDirect3DのAPIに対してアクセスしているので
WindowsでDirect3D(の該当バージョン)が態々削除されない限りは互換性はあるとは言える
もちろん削除されなくてもWindowsの更新で内部の挙動が変化してゲームが動かなくなるなんてことはざらにある

163 名前:デフォルトの名無しさん [2018/09/20(木) 10:45:06.47 ID:7WHuQIEO.net]
WMが変わった時が一番大きい変化だった気がする

164 名前:デフォルトの名無しさん [2018/09/20(木) 10:51:48.29 ID:7WHuQIEO.net]
DWMが変わったタイミングで動かなくなったアプリが増えたっていう意味です

165 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 09:48:58.26 ID:qOWS4e0S.net]
>>162
互換性自体は結構あるね。
VBのDirectX用のDLLはもうOSに含まれてないけど自前で用意すれば結構動く。
ただ昔のゲームで使われてたカラーキーがもうダメなハードがあるね。

166 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:28:30.46 ID:7CqPf/Kx.net]
パレットテクスチャとかも危ないか?

167 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 21:47:58.86 ID:tZvIjPe8.net]
危ないね



168 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 17:39:33.56 ID:egrolh38.net]
質問です。
メインスレッドで描画しながら別スレッドでテクスチャを大量に読み込むと
画面がちらつきます。D3DXCreateTextureFromFileを実行した時にちらついてるようです。
ここにコードを書く事が出来ないのでエスパーでおねがいします。
思い当たる原因はありますか?D3DDeviceをスレッドをまたいで参照してたりするからでしょうか?

169 名前:デフォルトの名無しさん [2018/09/27(木) 17:40:00.04 ID:egrolh38.net]
age

170 名前:デフォルトの名無しさん [2018/09/27(木) 18:12:40.71 ID:lrUHFZkm.net]
ロックするかあらかじめ全部読んでおくか

171 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:45:06.26 ID:PZih89QY.net]
D3DDeviceを
マルチスレッドで使う場合
スレッドセーフで作らんとダメだろう
そこはちゃんとやってるのか?

172 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 21:58:29.85 ID:ZotRguTd.net]
マルチスレッドモードに設定してないと、Debugモード実行で警告メッセージ出まくらなかったっけ?
それが出てたら、出ないようにするとこから。

173 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 00:01:13.37 ID:frk51yg8.net]
>>170-172
ありがとうございます。やぱ作り方を不味ってるっぽいっすかね?
言われた事を参考に自分なりに調べてみます。
また何かあったら宜しくお願いします。

174 名前:デフォルトの名無しさん [2018/09/28(金) 08:46:21.34 ID:WfDD/blL.net]
ちらつきで疑わしいのは、presentする辺りかな
ディスプレイに表示する描画ターゲットを作り込むときに参照しているテクスチャでもあるんでないかと。
というか複数のスレッドからデバイスコンテキストを触ると蹴られたと思う。

それでもちらつきが一時的な症状ならば、テクスチャ関数が中で排他しているからでなかろうか?

ところでチラツキって具体的な症状としては、どれなんだろう。
・一瞬黒か白が入る
・カクカクしたアニメーションになる
・デジタルノイズが入る
・サブリミナルな絵が入る
・何しにきたんだよ?お前のために決まってるだろ!と友貴に言われる

175 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 09:59:25.03 ID:frk51yg8.net]
>>174
ありがとうございます。
テクスチャ読み込みした瞬間に「・デジタルノイズが入る」といった感じです。
具体的に言うと「ブロックノイズっぽいものが所々に出る」といった感じです。
症状自体はそこまで酷い訳ではないんですが、チラチラするので気になってます。
一回あたりのノイズのサイズは小さいですね。画面がフルHD時で、128x128くらいです。

176 名前:175 mailto:sage [2018/09/28(金) 12:12:50.63 ID:frk51yg8.net]
テクスチャ読み込み中は特に自分ではD3DDeviceの書き換えは行っていなかった(と思う)のですが
一応念のために以下みたいなクラスを作って排他処理を徹底したら直りました!
しかも20秒くらいかかってたテクスチャ読み込みが何故か5秒くらいで終わるようになって
いいことずくめでw 最高っす。

class CLockObject {
protected:
CRITICAL_SECTION m_CriticalSection;
public:
CLockObject(){ InitializeCriticalSection(&m_CriticalSection); }
void Lock(void){ EnterCriticalSection(&m_CriticalSection); }
void UnLock(void){ LeaveCriticalSection(&m_CriticalSection); }
~CLockObject(){ DeleteCriticalSection(&m_CriticalSection); }
};


スレッド1
LockObject.Lock();

Direct3D描画処理

LockObject.UnLock();


スレッド2
LockObject.Lock();

テクスチャ読み込み

LockObject.UnLock();

177 名前:デフォルトの名無しさん [2018/09/28(金) 14:01:09.20 ID:KnH7gKZy.net]
>>175
その症状ならむしろ巧くマルチスレッドに動いてしまっている、疑いもあるような。
読み込みが未完なテクスチャを読み込めば、瞬間的に変な画素を参照するから、それがノイズに映る。
でも考えにくいので、変な描画、予期していない描画が挟まれて映っている。

あと突っ込まれなかったから自分で言うが
友貴はチラチラじゃなく、ちゃらいだろ。



178 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 15:26:49.89 ID:frk51yg8.net]
>>177
ありがとうございます。
一応>>176でノイズ自体は解決して読み込み速度も上がったのですが
描画スレッドと別で読み込みスレッドでテクスチャを読み込んでいる時に
今度は排他処理の影響か描画速度がかなり落ちてしまう症状が出てます。
ただ別スレッドにして排他処理をしっかりやって読み込むと読み込み速度は
かなり速くなったので開始時に画面を黒で塗りつぶして一気に読み込む方法をこれでやろうと思ってます。
出来れば描画スレッドの速度が落ちずに読み込めればいいんですがこれでも問題ないかなと。

まとめると以下のような感じですね
1 シングルスレッドで開始時に読み込むと普通に20秒くらいかかる
2 マルチスレッドで排他処理無しで読み込むと描画しながら読み込めるが20秒くらいかかりノイズも発生
3 マルチスレッドで排他処理有りで読み込むと描画速度がかなり遅くなるが5秒ほどで読み込める

179 名前:デフォルトの名無しさん [2018/09/28(金) 16:04:50.25 ID:O5kQkBkV.net]
そもそもそのテクスチャは実行時に毎回読まないといけないものなのか?

180 名前:デフォルトの名無しさん [2018/09/28(金) 17:38:36.81 ID:TYfa5akj.net]
176の実装だとマルチに動いていない気がする。
クリティカルセクションは、一つのスレッドが入ったら、離れるまでは他のスレッドが待たされる。
つまり並列に実行していない。
真面目に並列度を高めるならば、テクスチャ毎に排他オブジェクトを持たせて、読み込みが完了していないテクスチャを描画ループのスレッドが触ろうとしたら、そいつをまるごとスキップして描画を続けるとかするべきかも。

ジオメトリなんかの単位でアセットを管理しているならば、読み込み完了前のジオメトリに紐付くテクスチャや頂点は描画をスキップする実装。
あとはオフラインサーフェースへの書き込みなんかの単位でまるごとスキップとかもできるかも。
チラツキを予防して、読み込み終わったアセットを段階的に画面に映したいなら、そういったリソース管理が必要。

でも大抵は、そんなことせず、読み込みが全部終わるまでは黒い画面を見せる実装を選ぶと思う。
GPUコアの限界までテクスチャなんかの読み込みスレッドを並列化することを選びそう。

181 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 11:09:20.58 ID:hzO5ElQi.net]
>>180
ありがとうございます。
なるほど。効率の面ではまだまだ出来る事は色々あるんでしょうね。
ただ複雑になって下手な事して不具合が出ると困るので自分も単純な方法で行こうと思います。
マルチスレッドで読み込むと読み込み速度自体は上がったので排他処理だけしっかりやって
あとは画面を塗りつぶしてそこで一気に読み込む方法を今回は採用しようと思います。

182 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 16:02:49.13 ID:urX7Wqqu.net]
d3dのヘルプを読むと
マルチスレッドでは
イミディエイトコンテキストは使わずに
別途デバイスコンテキストを作って
描画スレッドではそれを使うようにとあるよ

多分必要なのはそういうところと思う

183 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 16:32:57.82 ID:apMOeRQP.net]
D3DXCreateTextureFromFileとか言ってるからDeferred Contextすらない世代のことじゃろ

184 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 17:59:08.87 ID:3HnGx7Th.net]
1809記念
Direct3D12でコマンドキューにシグナルするタイミング
1.ExecuteCommandList()
2.Present()
一回のコールの度にフェンスの数値をインクリメント(=GPUに処理を実行する契機を与える)
これを怠ると終了契機にフロントバッファをコマンドキューが掴んでる、との例外が出る。

ギットハブのError on shutdownってタイトルのスレッドにも報告されている。英語

取り敢えず、APIマニュアルでこの旨の事柄を書いたページは見つけられなかった。

ただのシェア

185 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 18:58:30.47 ID:bNH0XzXA.net]
>>184
これからもよろしく頼む

186 名前:デフォルトの名無しさん [2018/10/08(月) 01:17:59.94 ID:OIFhWgmg.net]
ある画像を別に用意したマスク画像の形でリアルタイムでくり抜きたいです(マスク画像のフチのぼかされてる所も再現したい)。
ただしシェーダーは使わずやりたい。ステンシルとかブレンディングでどうにかなりますか?
リアルタイムでやりたいのでロックして直接弄るとかは無しでお願いします。

フォトショの例ですがこんな事をリアルタイムでやりたい(くり抜かれた画像の余白の部分はアルファ値で透明になるように)
https://helpx.adobe.com/jp/photoshop-elements/kb/cq07050438.html

187 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 01:37:54.77 ID:LP2GoVYR.net]
(1)マスクをレンダーターゲットのαに書き込み
(2)くり抜き対象画像のブレンディング設定値を工夫して書き込み

でいけるかな?



188 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 02:02:38.28 ID:OIFhWgmg.net]
>>187
(1)は、アルファチャンネルつきの画像を用意して描画するとして
ARGBのうちAだけが反映されるように(2)でうまく合成するという事になりますかね?
RenderStateはSRCがDESTALPHAにすると(1)の画像のアルファ値が上手く反映されますね。
ただDESTをどの値にしてもARGBのうちのRGBの部分も反映されてしまってフチが黒くなってしまいます(マスク画像が黒い為)。
ARGBのAだけ反映させるにはどうしたらいいでしょうか。

189 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 02:21:51.96 ID:LP2GoVYR.net]
マスク画像のRGBはオール0(真っ黒)で、Aだけマスクの形となるα値にする。
んで、(1)のときはRGBは加算合成で、AだけSrcをDstにそのまま書き込みってできないかな?

190 名前:デフォルトの名無しさん [2018/10/08(月) 03:05:32.73 ID:OIFhWgmg.net]
>>189
加算合成で黒が見えなくなるのは黒のピクセルのAが0になるからじゃないですかね?
RGBはどうやってもなんらかの値を取らないといけないので…
ブレンディングでやるのは無理なんでしょうか…

191 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 03:58:31.81 ID:OIFhWgmg.net]
>>187
色々やってみたんですが、まずくり抜きたい画像を描画しておき
そのあとにマスク画像として用意した全部黒で真ん中だけ丸くアルファ値ゼロの画像を
上から描画して、最後にその合成された画像を加算アルファで描画すると
余計な部分の黒が全部透明になって理想に近い形になりました。
ただ加算されるので真ん中の描画される部分がちょっとピカピカしてしまいますが。
もうちょっと試行錯誤してみます。

192 名前:デフォルトの名無しさん [2018/10/08(月) 13:27:01.63 ID:+5qyKWRv.net]
馬鹿っぽい

193 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:56:19.98 ID:OIFhWgmg.net]
>>192
加算以外で綺麗に抜ける方法教えて頂けないでしょうか?
ブレンディングカラーキーはハードが対応してなかったです。

194 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 20:56:30.32 ID:/sZzmon7.net]
ステンシルがいいんじゃねーの?
そもそもステンシルって
そういう型抜きをやるための機能だし

ステンシルバッファをゼロクリア
型抜き用画像を描画(描画されたピクセルのみステンシル値インクリメント)
対象の画像描画(ただしステンシル値!=ゼロのピクセルのみ)

こんな感じで

195 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 08:22:35.91 ID:6/4ynI0N.net]
>>194
ステンシルですか。やってみます。ありがとうございます。

196 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 12:15:05.77 ID:FMe/8vRd.net]
錆びたりしませんか

197 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 14:39:00.46 ID:iGqJuC8Y.net]
ぼかしが不要ならステンシル一択だろうけど



198 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 16:30:24.65 ID:46xU4Pr2.net]
ボカシが必要なら
マルチテクスチャブレンディングで
いいだろう

シェーダ使わないってんで
D3D9あたりだと思うが
RGBとAを別々に設定出来るし
要望は満たせるだろう

199 名前:デフォルトの名無しさん [2018/10/09(火) 21:27:06.70 ID:dz3bRAZk.net]
>>193
ピクセルシェーだでdiscard

200 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 01:30:12.35 ID:y7T0G2Lv.net]
>>198
ぼかしが必要なので、それよろしければ詳しくおねがいします!

201 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 17:16:24.70 ID:l/LT+zZU.net]
>>200
自分で調べろ、ボケ

202 名前:デフォルトの名無しさん [2018/10/11(木) 08:36:28.94 ID:A/mBZEYO.net]
ここまで書いてあれば調べて実装するのは余裕だと思う。
ぼかす部分をアルファ値0.5、落とす部分を0にするだけではないかと。
でもdx9は使いにくいから、せめて11とシェーダーを使うべき。 9だと理解に変な癖が付くから悪い面が多い。

203 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 19:21:20.72 ID:M/Pzk+yk.net]
頂点配列。というかGPU上のメモリ確保(コミットリソース)は時間掛かるんだな。
d3d12、amdのプロセッサ内蔵GPU、デバッグモードなんだけど、4秒掛かった。
300個、それぞれ600バイトぐらいの頂点配列を確保するのに掛かった時間

と、書いて気づいた。そうかデバッグレイヤーか

204 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 20:22:12.35 ID:7WoSY3Qh.net]
>>203
おっそw

205 名前:デフォルトの名無しさん [2018/10/13(土) 13:43:59.70 ID:yMYV8KuT.net]
で、デバッグレイヤーを不活性にしたら、めでたくサクサク動きました。

206 名前:デフォルトの名無しさん [2018/10/14(日) 12:50:45.12 ID:G4e8iFcg.net]
おめ

207 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 21:50:45.22 ID:QZ6Q+R/H.net]
いえいえ



208 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 17:41:49.33 ID:tYMDCx/a.net]
DirectXは終わった?のかなあ...

209 名前:デフォルトの名無しさん [2018/10/16(火) 22:26:26.55 ID:PgSsQcUe.net]
直に触る人が減ったってだけじゃないの??

210 名前:デフォルトの名無しさん [2018/10/17(水) 16:49:45.63 ID:6p6LFcpX.net]
DirectShowの質問なんですが動画再生している時に動画の上に図形を表示したいです。
表示中のウィンドウからHDCを取得して描画すれば一応表示できますがちらつきます。
検索してもあまり情報が出てこないので教えてもらえると助かります。

211 名前:210 mailto:sage [2018/10/17(水) 17:23:02.52 ID:6p6LFcpX.net]
調べてたらテクスチャにして表示すれば簡単に実現できそうだったのでこれでやることにしました。

212 名前:デフォルトの名無しさん [2018/10/19(金) 14:51:44.60 ID:uYziTuig.net]
これのことかな
中央下あたり
https://www.buzzfeed.com/jp/yuikashima/sneaks?utm_term=.rlAOZ60VP

213 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 08:15:36.30 ID:JtURtT5N.net]
ユニティとアンリアルエンジンの認知度上昇
ハボックのクローズド化
APIの単純化によるアプリケーション実装の複雑化
ポリゴンデータ(アセット)の生産性の低さ
実現に必要となるデバイスの多さ

APIだけでは解決しない課題が多い
なら出来合いレディメードのアセットを簡単に使えるミドルウェアに流れる。

今、d3d12でウィンドウ処理を書いてるけど、 兎に角つまらないのに無駄に複雑になる。

214 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 21:25:00.36 ID:Q7G3DiI6.net]
ユニティやアンリアルエンジンの開発者にDirectXやOpenGLがいらないかどうか聞いてみてはどうか。

215 名前:デフォルトの名無しさん [2018/10/24(水) 13:02:33.86 ID:XOgiiIOy.net]
ktkr
https://www.youtube.com/watch?v=alZ6wmwvck0

216 名前:デフォルトの名無しさん [2018/10/27(土) 10:26:01.93 ID:G+gLlX7z.net]
DirectXで開発ならフルスクラッチ開発になるの?

217 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 11:29:38.50 ID:S2kwpi8z.net]
フルスクールエッチに見えたがそれは個人の定義しだい



218 名前:デフォルトの名無しさん [2018/10/27(土) 11:55:15.64 ID:R2aCZi1a.net]
消防士が17歳高校生(M)に水着モデルやらまいか?

上半身さわる

逮捕

219 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 23:25:50.89 ID:4GYg5LKI.net]
codeさんのおかげで影が薄くなりつつある
VisualStudio2019です

相変わらずレガシィなままです

220 名前:デフォルトの名無しさん mailto:sage [2018/12/06(木) 21:25:28.88 ID:2emuZ+wP.net]
DirectX9でD3DXLoadMeshHierarchyを実行しているときに画面が固まります。
なのでD3DXLoadMeshHierarchyを別スレッドで呼びたいのですが可能でしょうか?

221 名前:デフォルトの名無しさん [2018/12/07(金) 14:07:41.34 ID:lkrG/qbb.net]
VS2017とかにD3D9.hとかまだあるんだな
よくわからんディレクトリだったけど

222 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 08:17:42.93 ID:yhm3vXF+.net]
最近、D3D12を色々触ってみた感想。
新しく登場したディスクリブタは、リソースに近いものなんだね。
描画パスをかなり綺麗に実装できた。

223 名前:デフォルトの名無しさん [2018/12/20(木) 19:53:19.82 ID:t8x/0UH1.net]
memo
www.im.uec.ac.jp/~koyama/W-FEM/freefem.pdf
www.infsup.jp/saito/materials/freefem15a.pdf

224 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 14:44:21.33 ID:fa+wuLMo.net]
>>223
テッセレーションに関わる論文に見えた。

225 名前:デフォルトの名無しさん [2018/12/25(火) 14:53:10.82 ID:3AxwGiO5.net]
ほんそれ

226 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 07:30:43.37 ID:N3HLJ9Bm.net]
DirectXが/(^o^)\オワタってなってから久しいなw

227 名前:デフォルトの名無しさん [2018/12/26(水) 13:12:26.20 ID:1qe+8L32.net]
久しぶりにパソコン買い換えたから
OpenGL(+FreeGLUT)かDirectX(VS2017)あたりで遊んでみたい
どっちがおすすめ?



228 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 03:02:26.32 ID:WK3RR0fL.net]
みんなUnityに行ってもうたんか?

229 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 06:45:36.95 ID:Nyp+m0P4.net]
ム板が終わってる。デジタルネイティブにプログラムは無理。

230 名前:デフォルトの名無しさん [2018/12/27(木) 09:45:39.70 ID:0qVX2+Xi.net]
UnityはC#だからつまらん

231 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 15:50:23.01 ID:VsBZ5jd+.net]
>>230
馬鹿は黙ってろよw

232 名前:デフォルトの名無しさん [2018/12/27(木) 16:17:54.12 ID:X03Q+yv7.net]
Unity使ったら負け

233 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 18:21:39.42 ID:dOtSBlSV.net]
>>227
1. Unity
2.D3D11
3.D3D12
4.Vulkan

OpenGLはない。もはやCOBOLの域

234 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 19:18:22.51 ID:KLVpsqro.net]
MME(MikuMikuEffect)でDirectX9でテッセレーションみたいな感じに
角を滑らかにしようと思っています。LoD等は一切考慮しません。
まず初めにMME自体がMMDに対してAPI HOOKを行っているようで、
d3d9.dllを用意してAPI HOOKでDirectX11に横流しするというのは諦めました。
(既存のd3d9.dllがどういう動きをしているか把握しないとならないため)

StreamSourceという機能でなんか角を滑らかにするような動作を
実現してくれてるようにも見えるのですが、
MSDNのDirectX9の開発者向けFAQには
「頂点シェーダは、頂点の作成や破棄を行うことはできません。」
とも記載があって、素人がちょっと調べてできるならとっくに誰かがやってるかな…
やっぱり無理なのか。とも考えています。

今までDirectXやHLSLに全くかかわった事が無かったので、
何かしら実現のためのヒントを頂けたら幸いです。

235 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 19:49:06.28 ID:a53hoGVo.net]
無理です

236 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 19:53:16.22 ID:KLVpsqro.net]
補足としてやりたいことのイメージを実際にやってるサイトを紹介します。
https://hexadrive.jp/lab/demo/65/

237 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 21:44:40.91 ID:biTn5Tv6.net]
>>236
ソース読めよ、低悩



238 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 22:04:00.71 ID:vZTWCt5h.net]
>>236
必要な前準備が行えないので無理です

239 名前:デフォルトの名無しさん [2018/12/29(土) 00:34:11.08 ID:5EjDFocT.net]
みんな鯖鯖していて気持ち良いねこのスレ

240 名前:デフォルトの名無しさん mailto:sage [2018/12/29(土) 00:36:15.93 ID:5X2fG6f6.net]
局面分解に用いる頂点配列はパッチプリミティブを必須とする。(一般的なトライアングルリストではない)
局面分解するMMEもトライアングルリストだろうから、そこはクリアできそうに思うが、問題はテッセレート回路は9だと非対応じゃないかと思う。
9cならジオメトリシェーだがあるから、ソフトウェアで模倣は難しくないと思うが、かなり面倒で制限月になる。
その上でかなり計算回数が増えるから、フレームレートを落とすと思われる。

ノートパソコンあたりのGPUだと10万ポリゴン、1パスでフレームレートは12ぐらいまで落ちる。
そもそもテッセレートしても人形の肌は綺麗にならない。
美を感じるのは素材配置の比率で決まる。
テッセレートは単なる頂点追加(固定間隔での頂点追加。つまり足し算)。

はなからハイポリゴンを法線マップにベイクした方が綺麗で早く、効率がよい。

と、昔やったときに結論づけた。
ただ工夫の余地はある。

241 名前:デフォルトの名無しさん mailto:sage [2018/12/29(土) 00:51:14.24 ID:5X2fG6f6.net]
簡単に言えば、単純に頂点を増やしただけでは、陰影のリアリティを増やすことに寄与するが、美しくはならない。
曲線のギザツキを抑えることで綺麗にはなるが、それなら単にレンダリングターゲットの面積を広げた方が楽で早い。

今のピクセルは、まだまだ荒い。

242 名前:デフォルトの名無しさん mailto:sage [2018/12/29(土) 07:19:07.61 ID:WVaqFV35.net]
ご回答ありがとうございます。
テッセレーションを実現したとしても、
期待している効果は得られない可能性があるということですね。
もっと勉強します。

243 名前:デフォルトの名無しさん mailto:sage [2018/12/29(土) 07:41:19.84 ID:CdjnIrQY.net]
>>237
ヘキサの人のソースコードがあるのかとちょっとわくわくして開いたらバイナリのみでワロタ

244 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 23:26:59.37 ID:ik3ktYf5.net]
tkとexってどう違うの?

245 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 00:32:57.91 ID:ZfwOhOL2.net]
>>244
https://github.com/Microsoft/DirectXTK/wiki
https://github.com/Microsoft/DirectXTex/wiki

246 名前:デフォルトの名無しさん [2019/02/02(土) 12:23:22.13 ID:OjPcxytf.net]
TeXと勘違いするわ

247 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 20:09:58.31 ID:G+y2g54x.net]
DirectXかあ、懐かしいなあ
今はどうなってるんだろう



248 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 21:03:56.81 ID:cXWzHlyL.net]
レイトレーシングができるようになりました

249 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 10:10:37.20 ID:3D7CJ72L.net]
は?

250 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 10:42:19.05 ID:gmj+GaWL.net]
レイトレというても、遅延シェーディングのことだけど。
バルカンでも11でも実装できる。
専用回路があるわけじゃない。

リアルタイムに反射成分を決める因子(陰面遮蔽、拡散反射、鏡面反射なんか)を計算して、2パス目でそれを参照して輝度を決める。
ビューの一面から見たポリゴンの成分を計算するから、これでそれっぼい陰影がだせる。
でもプリレンダしたライトマップのテクスチャの方が早くてリアル。

251 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 11:47:25.50 ID:U3ljW3xz.net]
https://www.4gamer.net/games/421/G042134/20180913178/

DXRのランタイム上でエミュレーションも実装されてるけど
専用ハードウェアも存在するようにしか見えんが

252 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 13:51:37.55 ID:3AxEdZ6i.net]
SpriteFontって描画の時にサイズ指定できないの?

253 名前:デフォルトの名無しさん mailto:sage [2019/02/09(土) 14:20:28.92 ID:9I7b9arc.net]
引数にスケール指定無かったっけ?

254 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 10:48:37.49 ID:6IZ9Hq7F.net]
ごめんなさいありました

255 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 00:39:23.90 ID:awXFg/MG.net]
DirectX11なんですが、単なるトランスフォーム済みのテクスチャ貼り付けた板ポリを移動させるとして
 1 頂点バッファをMapして毎回座標情報を書き換える
 2 頂点バッファはいじらず、定数バッファに差分の移動量x,yを入れて更新し、毎回GPUに最終座標を足し引きさせる

感覚的には後者の方が良さそうなんですが、どっちが速いですかねぇ
自分でも実験したのですが、やり方悪いのか毎回100〜300msecくらい余裕で誤差が出て参ってます

誤差込みで、ほとんど変わらない印象なのでどっちでも良さそうではあるのですが、
ここまで来ると気になっちまって……

256 名前:デフォルトの名無しさん [2019/02/11(月) 01:11:15.61 ID:jeSoh9Or.net]
後者

257 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 23:43:37.25 ID:m53MrtkR.net]
これからdirectxを始めようと思うんだけど
どのバージョンでやればいいか教えて下さい。
サイト見てるとdirect9が一番参考書が多くておすすめって書いてあるけど
このスレ読んでると11か12の方がいいですか?



258 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 23:51:49.70 ID:FT1ffmu4.net]
12でええんでない?
もうwin7のサポートなくなるし

259 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 01:50:58.93 ID:hh3hOFh3.net]
11が良いし、たぶんそれで十分。
12に行く前にUnityに行っちゃうかもねw






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

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

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