DirectXスレはないの?
■ このスレッドは過去ログ倉庫に格納されています
そもそもDirectXって今もライブラリ更新されてるの? 次のDirectYは欠番になって来年真打のDirectZが出るよ そんなことはない 一本も完成させてなくても「俺はぷろぐらむできるんだ」といって謎の上から目ビームを放つ奴をよく見かける この板、スレは700近くあるけど 完成品いくつあんだよ 機能的なアップデートはほぼ皆無なので、今更語ることは無いんだが、 >>1 は何の話がしたいんだ? スレを立てる前にその辺を具体的にしろよ。 今でもエロゲーではDirectX使われてるのかな? でもエロゲ会社って全然プログラマ募集してないね バルドの戯画とかアリスソフトぐらい directXはほとんど使ってないと思う >>10 プログラムは作れても糞ゲーしか作れない人だったり 面白いゲームを作るには、また別のスキルが必要だからな unityやらで簡単になった時代にD3DX生で頑張るのは無駄なんだろうか 必要なのは発想をカタチにする能力であってそれ以上でも以下でもない プログラマだけやってるならソレで良いけど、インディーズだと全部一人で作ってる事も珍しくないからな…… >>17 でも、俺は就職したいから生で触ってる 独学で厳しいけど頑張るよ DXライブラリで作ったゲームを提出して就職したー! とか聞いたことあるから無駄ではないんじゃない? ソースはないけどねww >>24 DXライブラリとDirectXは違うけどな DXライブラリで就職した例なら例の東方モドキのシューティングのソース解説してるサイトの管理人が 確かそうだったな。 さすがにDXライブリよかDirectXの方が技術力アピールにはなりますよね? 文系で周りにゲーム作ってる奴いないからこういう知識すらほとんどない・・ DXライブラリはDirectXを簡単に使えるようにした。 みたいな解釈でいいのかな? 役に立つかはわからないけど、DirectXできる人は尊敬するわ >>27 なぜDXLibじゃなくてDirectX を選んだのか? をきちんと説明できないとかえってマイナスかもよ オブジェクト指向プログラミングからするとDXライブラリは最低だし せめてSFMLくらいのもの使ってないとセンスないとみなされるだろうが DXライブラリからオレオレフレームワーク作りましたみたいになると クラス設計力とかそういう方向で評価されるかもしれん クソ!鎌田先生の入門書を読んだ程度の俺では何言ってんのか全然わからん そ、それでもスタートから終了までの流れがある3Dゲームは一応作れたんだぞ! 陽炎とかのエフェクトはシェーダ?ってのを利用すればいいのだろうか エフェクトは標準でいろいろあるはず! 公式のチュートリアルにわかりやすくかいてあった気がする >>18 この考え方に囚われている人が多すぎて DirectXみたいな基礎技術についてやり取りするには もはやゲ製は不適当なんよ アイデア至上主義の人間に引っ掻き回されないためにも ム板でやり取りするのが適当 >>38 でもム板の初心者スレがレベル高すぎて・・ >>39 せっかくこのスレ立ったんだし ここに質問書いてみたらいいと思う IDirect3DDevice9のSetTextureが負荷高いって聞くけど 1フレーム内で10回くらいなら呼び出して大丈夫かね そんなの、どんな場面でどんな結果になって だからどうしたって言い方じゃないと何とも言えない。 俺は必要であれば行うし、必要じゃなきゃやらない。 具体的には100種類のポリゴンモデルのそれぞれ異なるデータ群に対して、それぞれに割り当てたテクスチャをシェーダに送るのに毎回セットもするが、 俺の都合で一つにまとめていい部分は一つのテクスチャにするからモデルの描画指示数と同じ回数セットする訳じゃない。 10回って数字に根拠が見えないが、俺は上記の通り、それ以上かもしれないしそれ以下かもしれない。 話の前提や条件が無いと はい/いいえ が出せる訳無い類の質問。 Fontもテクスチャ 床に敷き詰めるマップタイルはいっかいのSetTextureで済ませる 3Dモデルも1体500ポリゴンとかをいっかいのSetTexture まあこのくらいしか工夫できんだろ SetTextureは100回以内と考えると良いかもしれんな 100回を超えるということは画面外オブジェクトのクリッピングを していないとか、基本テクニックを逸脱していると見なしても良いだろ 実測しないで回数云々を語るほど無意味なことはない。 そういう人間はプログラムを組むのに向いていない。 SetTextureはそれ自体が重いわけじゃないからな それを分かってない質問者相手に上手く応えてこそエスパーさ 今までHLSLのfx_4_0用シェーダを書いて使ってたんだけど 最近のfxc.exeがfx_4_0に対して非推奨警告を出して来るようになったから 各シェーダごとに別々に用意する方針に切り替えようとしている で、質問というか確認なんだけど 同じ定数バッファを複数のシェーダ(Vertex,Pixel,...)で共有するには 同一のバッファを複数のシェーダにSetConstantBuffersすれば良いって理解でおk? 47ですが、ようやく試すことができました。 んで、この理解であってたみたいですね。 DirectX、面倒過ぎ。DXlibに変えたらめちゃやりやすくなったわw DirectXのが理想だけど、DXlib覚えたらもう戻れんわ。戻るくらいならJAVAとかに行く。 DirectXやOpenGLを直接使わずにラッパーライブラリを通して 使うほうが良いのは当然だが、いまどきDXlibはないだろ すでにDirectX SDKはWindows SDKの中に入っちゃったしな 12はハードウェア自体は11でいけるみたいだね 10の時みたいに切り捨てるのかとおもた DirectX10/11は9世代のハードでも動作するのに、 切り捨てるとか意味不明。 馬鹿は書き込むな。 固定パイプラインなんか今更使ってられっかよ あんなブラックボックス うーんとなんか勘違いしてるみたいだから書いておく 固定はDirectX8な え、9も固定じゃないの? プログラマブルシェーダが8で HLSLが9で 10になって組み込みの頂点計算やライティング(←これを「固定〜」と呼ぶと思ってた)がなくなって自由に出来るようになった っていう認識だったんだけど・・・ 8とか9とかは「固定でも固定でなくても、どちらでも」じゃねーの? んおおおおおおめんどくしゃいいいいいいいいいいい 設計でハゲりゅうううううううううううううう いまどきのゲーム製作ならgpgpu使いこなすのが最低限レベルだと思ってたんだけど dxlibとか言ってる幼稚園児がいまだに居るんだな ではUEやUDK、Unityを使っていれば 「GPGPUを使いこなしている」と言っていいのか って話で GPGPUでググってみてイマイチ言ってることが分からない俺であった 頭字語であるGPGPUを小文字でgpgpuなどと書いたりComputeShaderという単語が出てこない時点で・・・ DxLibすら使いこなせない某kazuki君がたまたまググって見かけたGPGPUという単語を披露して必死で背伸びしてるのかと思ったぜ(´・ω・`) いやきっとグラフィック開発技術に長けている玄人さんなのだろう そうでなければ「今時DxLibガー」なんて言うはずが・・・ http://peace.2ch.net/test/read.cgi/gamedev/1404815419/632 暗に含んでいる意図や英字のクセからして、これ>>60 かな。 "CとDirectXを使うのはダサい"という前提で質問してる時点で既にして不自然だわな。 同意を求めて間接的に言質を得てDxLibはダサいって言いふらすつもりだったんだろうけど、あっちでも相手にされてないな。 哀れだ。 DXLibって聞くとDXライブラリが浮かぶ あの頃は楽しかった 奇跡的にあがってきたスレみたいだけど、まじめにないのか? せっかくのスレだし質問していい? DirectXやGLの描画って、一般的には ・あるフレームでCPU演算(ゲーム更新、CPUレベルの行列演算)とコマンド発行。 ・次のフレームでGPUがバックバッファに描画。 ・次の次のフレームでバッファがスワップされて表示される。 しくみだと思うんだけど、これを ・あるフレームでCPU演算とコマンド発行のあと、一気にGPU描画までやってしまう。 ・次のフレームでバッファがスワップされて表示される。 とすることはできる? もちろん「軽い」ゲームで。 できるし、家庭用ゲームでもわりと多いタイプじゃないかと思う 多くの開発者に使ってほしい学んでほしいとか言ってるけどMSDNのリファレンスがやや雑に感じるのよねぇ ・諸々の処理 ・全部描画してドンと表示 ・fpsが固定なら待ち時間を設ける を繰り返すプログラムで1つのサイクルの事を便宜上フレームと言ってるだけ。 昔よく使われていたCRTの周波数にあわせて60Hzとか30Hzに調整されることが多い。 勿論fpsが可変になるようにしてもいいし、フレームに拘らず描画してもいい。 待つ方法と前の描画にかかった時間を計測させながら逐一その時間を処理に反映させる方法があるけど やっぱ待つ方法が簡単でいいよな ああ、回答ありがとう。 これまではその辺はサンプル流用だったんだけど、 デバグモードで負荷を表すバーの表示がCPUとGPUの2段になってたんで。 スワップ(とそのための待機)は間違いなくPresent()だと思うんだけど、 発行した描画コマンドをGPUで実行開始する関数はPresent()とは別にあって、 それを見落としてるのかな? 本当は全部マニュアル読んで探すべきなんだろうけど、 さすがにちょっと量があり過ぎて辛い。 あ、もしかしてBufferCount=1でSetMaximumFrameLatency(1)とすればいい? 連投ごめん。 GPUとCPUの同期ならD3D11_QUERY_EVENTあたりでやる感じ 基本的にウィンドウモードだとWDMが邪魔してんのか知らんがどう頑張っても遅延は出ると思う DirectX9まではホビーユースもありだったけど、10からは完全にプロ向けになったよね しかもアンリアルエンジンとかUnityが使える時代にそれでゲーム作るのはもはや道楽 ゲーム制作したいない絶対にUnityとか使った方がいいんだもん プログラムしたいならまた別だけど、それならこの板の範疇じゃないかもしれんね dx9→11になってから同人界隈でもごっそりdirectX使う人減ったって聞いたけど何でなん? そんなに難しくなったの?10はなかったもの扱いされてるみたいだけど。 10は割とすぐ後に出た11が機能どころか動作要件もほぼすべて包括する内容だったため使う理由がまずない 同人界隈はよー知らんが10以降はXP切っちゃったのが主な要因じゃないかしらね 一年前まではXPで動きませんなんて言いづらい雰囲気だったし そもそも同人レベルじゃあ10以降にする恩恵もほぼ無いってのもあるし 日本語資料も9までに比べてほとんど蓄積されなかったのもあるだろうし ああそういやxpで遊べないんだったね。それですか。 10,11と、同人用途だと持て余すのは事実。 だが必死にageでそれを言ってウニを持ち上げてるのは後略。 Microsoft Windows 10 OS with DirectX 12 API Launching in July 2015 - Reveals AMD in Earnings Call http://wccftech.com/microsoft-windows-10-os-expected-launch-july-2015-reveals-amd-earnings-call/ 12も来るのか、コードどれくらい変わるんだろう 今後ゲーム作るならDirectXのどのバージョンがいいのかな 9?11?12? directxをじかに叩くなら最新のものを使いましょう 初めて触る人にとっては難しそうに見えますが身構えずのびのびと学べばすぐに習得できます 問題は習得した後です。「関数をたくさん作ってライブラリにしよう!」と誰もが思いますが・・・・・ >>88 11と12は併存するらしく、手頃な11と手間はかかるけどハイパフォーマンスな12という棲み分けになるそうだ。 自分は12で遊んでみたいと思ってるけどね。 逆に、directX9を使ってはいけないということはないんだよね? ハイパフォーマンスな3Dゲームさえ作ろうと思わなければ、9を使い続けてもOK? ビデオAPIとかWPFとかMS謹製のインフラですらいまだにD3D9ベースだったりするから Windows上で動かなくなるってことはまだまだないだろうし別に問題ないと思うよ ただまあ、旧DirectX SDKが今後のVisual Studioとどこまで互換性あるのとか DirectXTKとかの(今のところあえてD3DXから以降するメリットはあまりないだろうけど) サポートライブラリで対応してないとか開発環境方面で足切りされることはいつでも起こりうるからね そこは覚悟しておいた方がええんでない 11から機能レベルが導入されたけど9はシェーダーがことごとく・・・ dxライブラリはまだ9じゃなかった? それ考えると簡単なゲームなら 最近本屋でプログラム関係の所覗いたんだが ドロイド関係とUNITYばっかでDirectXの本は一冊もないんだな 12の情報全然ないね(´・ω・`) まあ11覚え始めたばっかだけども・・・ MSDNが一番詳しいかなw 一部日本のブログで解説してくれてるところもあるね。 何が問題かって、Win10だけということが分かってモチベが上がらないことw DirectX11の学習で力尽きたから12を覚えるだけのキャパがもう無いw フェンスとかのルール覚えられる気がしない 11もアマゾンですら数冊しかないよね(´・ω・`) 12を華麗使いこなしてゲームライブラリに落としこんで情報提供してるようなブログなんて日本にひとつもないでw 9の頃は皆が幸せだったのにどうしてこうなった というか超難解にした・・・ directx11でテクスチャのピクセルデータを取得したいんだが 9の時はLockRectでやってたんだがそれと同じような機能って無いの?(´・ω・`) 大量のポイントリストにピクセルの色を付けてバラバラにしたりとかしたいんだけども ・・・ CPUで取得したいってだけならID3D11DeviceContext::Map ざっくりした質問で申し訳ないんだが 大量のパーティクル動かすのって ジオメトリシェーダーのストリーム出力より コンピュートシェーダとかも使った方が早くできるのかね? やり方次第だとは思うけども・・ 目的が違うから比較できないんじゃないかな? どちらの手法もCPUに負担をかけないからパフォーマンスは良いとは思うけど。 >>111 なるほど!サンクス!! しかし、市販品のゲームを見るとあれだけの映像なのに なんであんなにヌルヌル動かせるのか全く未知の領域だわ 俺はパーティクルにはCSよりGSを勧めるね GSってまさにそういう用途の為に 作られたようなものだし 速いかどうかは知らんけど 初学者が一からdirectX学ぶためにはどうすればいいの? 途方に暮れてるんだが >>115 今からやるなら工学社のDirectX11本を読む。 それで基本的なAPIの使い方はOK。 後はDirectXを使って何をしたいかに依る。 >>116 サンクス やっぱdirectx11かな? directx9は本多くて羨ましいわ >>117 シェーディングのアルゴリズムなんかはDX9本のほうが情報豊富で役立つ。 理想的にはそういったエッセンスをDX9本やボーンデジタルの本なんかで学んで、 実装は最新のAPIで効率的に実装する。 っつか、DirectXで何がしたいの? ゲーム作りたい? >>118 専門学校でライブラリの使い方は教えてくれるけどdirectxの使い方は教えてくれないから学びたい 最初9で学んで慣れてから11に移ることも可能なのかな >>119 >専門学校でライブラリの使い方 例えばどんなの? >最初9で学んで慣れてから11に移ることも可能なのかな それでもかまわないよ。 大事なのは原理原則を理解すること。 9のほうが情報量は多いからね。 ただ、APIは後付け感が酷いので、凝ったことをするほどぎこちなく面倒な実装になる傾向にある。 それに対して11は体系的に整理されたので、比較的キレイに組み易い。 それと最終的に何がしたいか、目的を教えてくれ。 それによって学び方が変わってくる。 ただ、卒業製作で何か作ればいいだけなのか、 将来3Dで飯食っていきたいのか。 ただゲームを作るだけならunityでも構わないんだけど ゲーム会社としてはdirectxである程度3dゲーム作れる技術が欲しいって言われたもんで >>121 なるほどな。 その通りだと思うから、がんばってほしいね。 ゲーム会社に認められるレベルを目指すなら>>118 で書いたようなことはこなせないといけないし、 それ以上が求められるだろう。 自分はゲーム屋じゃないんで、あまりえらそうなこと言えないけど、 DirectXのような基盤的なAPIで3Dゲームを完成させるだけで、かなりの技量が付くはず。 その上で、自分に適性があったり、伸ばしたいと思える分野(AI、物理、レンダリング、アニメーション等)で 突き抜けられれば飯を食っていけると思う。 いずれにせよ、その段階になると海外の最新の文献や情報(もちろん英語)にキャッチアップしていけるだけの 能力、バイタリティが求められるだろう。 じゃあdirectx9勉強したあと11やってみようとおもう ありがとう 11本のクオリティで12本を出版してもらいたいね。 同じ工学社の9本はヒドいと思ったけど、11本は知りたいことを網羅したスバラシイ出来だったと思ったがw テッセレータもあればなお良しだったんだけどね。 まぁ、>>127 のレビューの通り、この本だけでリッチなエフェクトの3Dゲームを作ることは難しいけど、 そりゃ他の本で補うのはトーゼンだ。 この本は、工作で言えば道具の使い方をうまく教えている。 その道具で何を作るかはまた別の話だ。 >>128 つーか、DirectX11は個人が使うには荷が重過ぎないか? プロのゲームエンジン製作者がチームを組んでやらないと無理ゲーな気がするんだけど。 個人でゲーム作るならUnityとかの方がいいかと それでも大変だけど >>129 いやまったくその通りだと思う。 今の時代にDirectXやOpenGLの生APIを学ぶ必要があるのはゲームエンジンのコア技術に興味がある人間だろうね。 もちろん、グラフィックス描画の基本を学びたいという初心者にもよいとは思うけど。 >>128 >>127 のレビュー書いている人の言うように工学社のDirectX11本は説明を読者に投げている感があるのは確かじゃね? 前提知識がある人ならまとまっていて良い本かもしれないが。 >>130 今時、DirectXとかOpenGLの勉強をしても個人で作れるのは簡単なゲームか映像デモみたいなものだけのような気がする。 CGの勉強にはなるだろうけど、それを活用するにはゲーム会社のゲームエンジン製作部隊に入らないとあまり意味ないような。 しかも今時ゲームエンジンを自作している会社なんて限られている。 コナミはFOXエンジンだけで数十億円かけたとか。 結局、偏差値高い理系の大学出て大手ゲーム会社に入らないとゲームエンジンの製作経験を積むのは無理なのかもね。 ちょっとしたツールなら、ダイレクトX ゲームならゲームエンジンの時代か。 各社でゲームエンジンを作るのはもう無理になってきているからなあ 特にスマホゲーは単価が安いのでUnityみたいなゲームエンジン使わないとやってられない 「とりあえずプログラムで金を稼ぎたい」ならエンジン 「本格的に3Dのプログラムを学びたい」ならDXかGL 別にいきなりDX10以降を全て学ぶ必要はない 個人では9まで覚えりゃ十分で、仕事に生かせるならそこから先をやればいい もっとも、エンジンにおんぶにだっこレベルのプログラマって、 定年までそれで食えると思ってるのかな >>135 それを言うならDirectXで定年まで食べるのは無理でしょ DirectXを使いこなすほどの能力があれば別のこともできるかもしれないが >>136 それが言いたかった。 DXやGLというライブラリそのものが永続的、ということじゃなくて、 それらが直に叩けるくらいで真っ当な技術者と >>137 と言ってもDX11以上を使えないと真っ当な技術者とはいえないかもね。 DX9はDX11よりも簡単だし。 >>135 >もっとも、エンジンにおんぶにだっこレベルのプログラマって、 >定年までそれで食えると思ってるのかな エンジンを使う側がほとんどだし >>137 結局は素人がやることではないってことか 12で自作ゲーム書き換えたんだが いまだにスキンメッシュではなくフレームアニメーションで動かしている・・ いい加減スキンメッシュ覚えないと・・ スキンメッシュなあ、 メッシュ分割面倒なんだよな。 同人なら、思い切ってCPU側で処理してるのもあるね。スキンメッシュ。 何でGPU側だと、やたらレジスタ制限意識しなきゃならんのだろう? スキンメッシュってみんな自作フォーマットでやってるのかい? スキンメッシュ覚えたいんだけどもどういう方向で覚えていくべきやら >>144 仕事を丸投げしてGPU側のメモリを使うから >>145 自分でプログラムするなら とりあえず fbx に合わせるのがいいんでないの 簡単かどうかは知らない MMDは顔面制御が壊滅的だからなぁ ■FBX SDKに依存する。 ややこしい。 ■COLLADA XMLでデータ自体は扱いやすい。 モデリングツールを意識したデータ構造で、扱いがクッソややこしい。 ■Xファイル 拡張性を意識した構造になっているが、狙い通り機能しているかは微妙。 基本的なスキニングまでなら、これが一番使い易いと思う ※個人の感想です。 >>148 Xファイルってもう使われていないのでは? スキンメッシュ覚えようとXファイルの読み込みやってたんだが、blenderで出力 したファイルのアニメーション部分が変・・さっきからblenderの機能について 調べてもうすぐ今日終わってしまいそう・・ なぜblenderにこだわる… スキンメッシュ覚えるだけなら既存のxファイルで試したらいいじゃない いや自作ゲームで使ったやつでblenderでアニメーションまでやったファイルが あったもんでそれで試してたとこですた。 また別なモデラ覚えるのも大変だしblenderうまくいかないならほかの方法に しようかとも・・ なるほど アニメーションがどう変なのか分からないから何とも言えないが スキンウェイト振ってないとか出力してないとかかね 軽く調べたら今出てる問題以外にもいろいろありそうだね・・ 頂点とウエイトの数が合わないとか、 マテリアル数増えたらエラーで出力されないとか。 FBXにしようかな・・ >>148 COLLADAの後継に当たる https://github.com/KhronosGroup/glTF 今までと違うのはマイクロソフトも参加してるので そのうちOS側でサポートされる FBX SDK のサンプル動かそうとしてるんだが Releseビルトのみ error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'Common.obj' と一致しません。 1>libfbxsdk-md.lib(fbxdebug.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'Common.obj' と一致しません。 ってエラーがでる。色々やってるんだがなかなか解決せず・・・ なんか考えられそうなことあるかしら・・ リンクしようとしてるライブラリとの定数値不一致みたいだね http://zerogram.info/?p=183 おはずかしい・・・ MD とか MDd とかを思いっきり勘違いしておりました・・ 勉強いたします・・・ ありがとうございました・・ 作ったやつ動画とかでもアップしてる方いない? 参考にしたいんですお 今日日のdirectx凄いな、macやLinuxでも動かす方法あるんだな。少々動き怪しいけど。 OpenGLが時代に取り残されてオワコン化しそう。 まあ、ゲーム分野以外はOpenGLで生き残るんだろけど。 MACやLinuxとかマジかよ! 全然Directじゃないんじゃw OpenGLは最近微妙よな。 PCのスペック的にすんなり動いてくれてるのがVC++2005なんだけど、 今DiretXってどこにあるの……? 何かの付属品になったって聞いたけど単品でDLできないんか……? 最近はVisualStudioに同梱されてるよ。 単品はもうない。 あ、これそうだったんだ。 完璧にリサーチ不足でした。ありがとう。 簡単にお金が稼げる方法興味ある人だけ見てください。 グーグル検索⇒『来島のモノノリウエ』 BGDN1CDL50 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.4.7 2024/03/31 Walang Kapalit ★ | Donguri System Team 5ちゃんねる