• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:shaderを書かないで、GPUレンダリング)

GPUレンダリングを簡単に行う方法とは?

このQ&Aのポイント
  • Programmable Shaderの時代になり、固定機能APIは廃止され、シェーダープログラム無しにテクスチャも張れなくなった
  • GPUレンダリングを簡単に行う方法は、ソフトウェアレンダリングのライブラリを使うか、Direct3D9のインターフェースを利用することが挙げられる
  • WPFもGPUレンダリングに使える可能性があるが、具体的な利用方法については経験が必要となる

質問者が選んだベストアンサー

  • ベストアンサー
  • sygh
  • ベストアンサー率76% (42/55)
回答No.1

WPFだけだと複雑なメッシュの描画が大変なので、XNAを組み合わせる手もあります。XNAはクロス プラットフォームなゲーム開発用ライブラリですが、Windows限定に絞ればWindowsフォームやWPFと連携することもできるので、3Dグラフィック描画コンポーネントとして使うこともできます。 XNAはデフォルトのコンテンツ パイプラインが.xファイルや.fbxファイル(ただしアニメーション データを含まない)に対応していて、モデルデータのロードが非常に楽になっています。さらにメッシュを非常に短いコードで描画することができる、旧固定機能のようなBasicEffectを備えています。BasicEffectに不満が出てきたらカスタム シェーダに切り替えることもできます。 ・Windowsフォーム + XNAのサンプル: http://blogs.msdn.com/b/ito/archive/2008/01/17/xna-winforms.aspx ・WPF + XNAのサンプル: http://sorceryforce.com/xna/tips_xnaonwpf.html ・XNA BasicEffectのサンプル: http://sorceryforce.com/xna/tips_basiceffectmaterial.html ただ、XNAはDirectX SDK同様、かなりバージョンによってAPIセットの変化が激しいので注意が必要です。 なお、WPFもXNAも、Direct3D 9上に構築されているので、Direct3D 10以降の機能は直接使えません。

samayoi_s
質問者

お礼

syghさん とても詳しいご回答ありがとうございました。 XNAという手は考えていませんでしたので、とても参考になりました。 ただ >なお、WPFもXNAも、Direct3D 9上に構築されているので、Direct3D 10以降の機能は >直接使えません。 なんですよね。 シェーダ前提のOpenGL ES2.0ベースにもかかわらず、WebGLではGLGEやSceneJSといったフレームワークが充実しているようです。シェーダーで書くときも、固定機能的APIで書くときも最新の同じ基盤上というのは、いろんな意味で安心感がありますね。 デスクトップアプリケーションでは、こういったシェーダー上のフレームワークのようなものはないんでしょうか?

関連するQ&A