【C++】 DirectX初心者質問スレ Part41 【C】
■ このスレッドは過去ログ倉庫に格納されています
回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
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リンク >>187
色々やってみたんですが、まずくり抜きたい画像を描画しておき
そのあとにマスク画像として用意した全部黒で真ん中だけ丸くアルファ値ゼロの画像を
上から描画して、最後にその合成された画像を加算アルファで描画すると
余計な部分の黒が全部透明になって理想に近い形になりました。
ただ加算されるので真ん中の描画される部分がちょっとピカピカしてしまいますが。
もうちょっと試行錯誤してみます。 >>192
加算以外で綺麗に抜ける方法教えて頂けないでしょうか?
ブレンディングカラーキーはハードが対応してなかったです。 ステンシルがいいんじゃねーの?
そもそもステンシルって
そういう型抜きをやるための機能だし
ステンシルバッファをゼロクリア
型抜き用画像を描画(描画されたピクセルのみステンシル値インクリメント)
対象の画像描画(ただしステンシル値!=ゼロのピクセルのみ)
こんな感じで >>194
ステンシルですか。やってみます。ありがとうございます。 ボカシが必要なら
マルチテクスチャブレンディングで
いいだろう
シェーダ使わないってんで
D3D9あたりだと思うが
RGBとAを別々に設定出来るし
要望は満たせるだろう >>198
ぼかしが必要なので、それよろしければ詳しくおねがいします! ここまで書いてあれば調べて実装するのは余裕だと思う。
ぼかす部分をアルファ値0.5、落とす部分を0にするだけではないかと。
でもdx9は使いにくいから、せめて11とシェーダーを使うべき。 9だと理解に変な癖が付くから悪い面が多い。 頂点配列。というかGPU上のメモリ確保(コミットリソース)は時間掛かるんだな。
d3d12、amdのプロセッサ内蔵GPU、デバッグモードなんだけど、4秒掛かった。
300個、それぞれ600バイトぐらいの頂点配列を確保するのに掛かった時間
と、書いて気づいた。そうかデバッグレイヤーか で、デバッグレイヤーを不活性にしたら、めでたくサクサク動きました。 DirectShowの質問なんですが動画再生している時に動画の上に図形を表示したいです。
表示中のウィンドウからHDCを取得して描画すれば一応表示できますがちらつきます。
検索してもあまり情報が出てこないので教えてもらえると助かります。 調べてたらテクスチャにして表示すれば簡単に実現できそうだったのでこれでやることにしました。 ユニティとアンリアルエンジンの認知度上昇
ハボックのクローズド化
APIの単純化によるアプリケーション実装の複雑化
ポリゴンデータ(アセット)の生産性の低さ
実現に必要となるデバイスの多さ
APIだけでは解決しない課題が多い
なら出来合いレディメードのアセットを簡単に使えるミドルウェアに流れる。
今、d3d12でウィンドウ処理を書いてるけど、 兎に角つまらないのに無駄に複雑になる。 ユニティやアンリアルエンジンの開発者にDirectXやOpenGLがいらないかどうか聞いてみてはどうか。 DirectXで開発ならフルスクラッチ開発になるの? フルスクールエッチに見えたがそれは個人の定義しだい 消防士が17歳高校生(M)に水着モデルやらまいか?
↓
上半身さわる
↓
逮捕 codeさんのおかげで影が薄くなりつつある
VisualStudio2019です
相変わらずレガシィなままです DirectX9でD3DXLoadMeshHierarchyを実行しているときに画面が固まります。
なのでD3DXLoadMeshHierarchyを別スレッドで呼びたいのですが可能でしょうか? VS2017とかにD3D9.hとかまだあるんだな
よくわからんディレクトリだったけど 最近、D3D12を色々触ってみた感想。
新しく登場したディスクリブタは、リソースに近いものなんだね。
描画パスをかなり綺麗に実装できた。 >>223
テッセレーションに関わる論文に見えた。 DirectXが/(^o^)\オワタってなってから久しいなw 久しぶりにパソコン買い換えたから
OpenGL(+FreeGLUT)かDirectX(VS2017)あたりで遊んでみたい
どっちがおすすめ? ム板が終わってる。デジタルネイティブにプログラムは無理。 >>227
1. Unity
2.D3D11
3.D3D12
4.Vulkan
OpenGLはない。もはやCOBOLの域 MME(MikuMikuEffect)でDirectX9でテッセレーションみたいな感じに
角を滑らかにしようと思っています。LoD等は一切考慮しません。
まず初めにMME自体がMMDに対してAPI HOOKを行っているようで、
d3d9.dllを用意してAPI HOOKでDirectX11に横流しするというのは諦めました。
(既存のd3d9.dllがどういう動きをしているか把握しないとならないため)
StreamSourceという機能でなんか角を滑らかにするような動作を
実現してくれてるようにも見えるのですが、
MSDNのDirectX9の開発者向けFAQには
「頂点シェーダは、頂点の作成や破棄を行うことはできません。」
とも記載があって、素人がちょっと調べてできるならとっくに誰かがやってるかな…
やっぱり無理なのか。とも考えています。
今までDirectXやHLSLに全くかかわった事が無かったので、
何かしら実現のためのヒントを頂けたら幸いです。 補足としてやりたいことのイメージを実際にやってるサイトを紹介します。
https://hexadrive.jp/lab/demo/65/ 局面分解に用いる頂点配列はパッチプリミティブを必須とする。(一般的なトライアングルリストではない)
局面分解するMMEもトライアングルリストだろうから、そこはクリアできそうに思うが、問題はテッセレート回路は9だと非対応じゃないかと思う。
9cならジオメトリシェーだがあるから、ソフトウェアで模倣は難しくないと思うが、かなり面倒で制限月になる。
その上でかなり計算回数が増えるから、フレームレートを落とすと思われる。
ノートパソコンあたりのGPUだと10万ポリゴン、1パスでフレームレートは12ぐらいまで落ちる。
そもそもテッセレートしても人形の肌は綺麗にならない。
美を感じるのは素材配置の比率で決まる。
テッセレートは単なる頂点追加(固定間隔での頂点追加。つまり足し算)。
はなからハイポリゴンを法線マップにベイクした方が綺麗で早く、効率がよい。
と、昔やったときに結論づけた。
ただ工夫の余地はある。 簡単に言えば、単純に頂点を増やしただけでは、陰影のリアリティを増やすことに寄与するが、美しくはならない。
曲線のギザツキを抑えることで綺麗にはなるが、それなら単にレンダリングターゲットの面積を広げた方が楽で早い。
今のピクセルは、まだまだ荒い。 ご回答ありがとうございます。
テッセレーションを実現したとしても、
期待している効果は得られない可能性があるということですね。
もっと勉強します。 >>237
ヘキサの人のソースコードがあるのかとちょっとわくわくして開いたらバイナリのみでワロタ DirectXかあ、懐かしいなあ
今はどうなってるんだろう レイトレというても、遅延シェーディングのことだけど。
バルカンでも11でも実装できる。
専用回路があるわけじゃない。
リアルタイムに反射成分を決める因子(陰面遮蔽、拡散反射、鏡面反射なんか)を計算して、2パス目でそれを参照して輝度を決める。
ビューの一面から見たポリゴンの成分を計算するから、これでそれっぼい陰影がだせる。
でもプリレンダしたライトマップのテクスチャの方が早くてリアル。 SpriteFontって描画の時にサイズ指定できないの? DirectX11なんですが、単なるトランスフォーム済みのテクスチャ貼り付けた板ポリを移動させるとして
1 頂点バッファをMapして毎回座標情報を書き換える
2 頂点バッファはいじらず、定数バッファに差分の移動量x,yを入れて更新し、毎回GPUに最終座標を足し引きさせる
感覚的には後者の方が良さそうなんですが、どっちが速いですかねぇ
自分でも実験したのですが、やり方悪いのか毎回100〜300msecくらい余裕で誤差が出て参ってます
誤差込みで、ほとんど変わらない印象なのでどっちでも良さそうではあるのですが、
ここまで来ると気になっちまって…… これからdirectxを始めようと思うんだけど
どのバージョンでやればいいか教えて下さい。
サイト見てるとdirect9が一番参考書が多くておすすめって書いてあるけど
このスレ読んでると11か12の方がいいですか? 12でええんでない?
もうwin7のサポートなくなるし 11が良いし、たぶんそれで十分。
12に行く前にUnityに行っちゃうかもねw >>257です。
画像の描画
画像でアニメーション
フォントの設置
カーソルがフォントの上に来たら光る
wavの再生
上記の事をやりたいです。
ほぼ無知なので
これからどのバージョンで勉強しても挫折すると思うので
direct 3d12使おうと思います。
申し訳ないですが
皆さんは、どうやってでdirect12の勉強をしていますか?
書籍の参考書がなかったのでお願いします。 画像データの各ピクセルの色情報ってどうすれば取得できますか? きちんと解説ある本を読んで勉強しないと難しいのに新しいバージョンは日本語の本がない
そして古い本に附属してるライブラリは今の環境だとすんなり使えなかったりするから結構詰んでる
素直にunity使うのが一番効率よく勉強できると思うわ
c++に拘るならdirectxやってもいいとおもうけど 日本語で出ても余計判りにくくなることの方が多い
日本語だから判りやすいとは限らない どっかの会社のページでやってる機械翻訳とかひでえしな ヘリコプターがシアトル付近を飛行中に、ナビゲーション・システムと
通信系が故障してしまい、現在位置を把握することができなくなって
しまった。機長は、近くに見えた高いビルにヘリコプターを寄せ、周りを
旋回しながら、副操縦士に「私は今どこにいますか?」と大きな紙に書かせ、
それをビルの中の人間に見せるように命じた。
ビルの中の人間は、大きな紙に「あなたは今、ヘリコプターの中です」と
書いて答えてきた。機長はにっこりと笑って手を振り、副操縦士に言った。
「あれはマイクロソフトの本社ビルだ。ここから東へ向かえば空港が
あるはずだ」
「どうしてマイクロソフトの本社ビルだと分かったんです?」
「奴らはいつも、技術的には完璧だが、まったく役に立たない答えしか
寄こさないからさ」 >>276
どこで観たか忘れたけどどこかで観たコピペ DirectX12のwindows7対応って今更何がしたいのかさっぱり理解出来ないな 常に我々の想像の斜め下を行くのがMicrosoftという会社なのだよ。 Windows10への移行が進まないのでまたWindows7からやり直す気になったんだな。
殊勝なこった。 ほんまマジ7永続化しないかな
10使ってるけどクソすぎて腹立ってる >>284
>>281はwindows7なんてもう3割切ってるのになんで今更って意味だったんだけどな 自分は、もう最新のDirectXの開発から身を引いている者なのですが、
下記のニュースにて、Windows7でDirectX Raytracingが
動作するのではと思いました。
ttps://www.4gamer.net/games/033/G003329/20190314031/ ■ このスレッドは過去ログ倉庫に格納されています