• ベストアンサー
※ 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

  • 3DCG作成ソフトとGPUの関係

    最近の3DCG作成において、静止画や動画のレンダリングについてビデオカードのOpenGLやDirectXの機能を使うものはありますか? 最近のビデオカードの3D性能は高性能だそうなので、CG(非リアルタイムコンテンツ)のレンダリングには使われているのですか? それともやはり精密なレンダリングはCPUを使うものが主流で、ビデオカードの3D性能を使うものはインタラクティブにグリグリ動かせるコンテンツに限定されているのでしょうか? またDirectX9世代のビデオカードでは汎用的な計算もできるようになったそうで、暗号解析やシミュレーション系分散コンピューティングなどに使われているらしいのですが、その汎用的な計算をする部分でレンダリングを肩代わりする、といったソフトはありますか? なにぶん3DCGについて素人なので、支離滅裂な文もあると思いますが、ご存知の方は教えていただければうれしいです。

  • GeForce6600とQuadro FX540

    GeForce6600とQuadro FX540では、Premiere Pro2.0のプレビューはかなり処理速度に差があるのでしょうか?一応adobeのHPで「GPUアクセラレーションプレビューをサポートするアドビ推奨グラフィックカード」を調べてみたところ、Quadro FX540はフルサポートと書いてありますがGeForce6600については記述がありません。Quadroの方がOpenGLを使用した処理が高速である事は知っているのですが、Premiere ProもOpenGLを利用しているのか、両者でかなりの性能差が出るのかが分かりません。 ついでに、Shade Basic 8.5で3Dロゴを回転させるような単純なアニメーションのレンダリング速度も、Quadro FX540で時間短縮が期待できるのかもお教えいただければ幸いです。

  • 無料の魚の3Dデータ(.mqo)を探しています。

    無料の魚の3Dデータ(.mqo)を探しています。 ARToolkitで魚の3Dを出したいのですが、本によると OpenGLか、GLUTのライブラリか、メタセコイア(.mqo)形式か、VRML(.wrl)形式 のいずれかでしか出力できないようです。 出来るだけリアルな魚を出したいので、.mqo形式の3Dデータを 探しています。 1っメダカのデータを見つけたのですが、 出力して見ると、テクスチャが貼りつかなくて困っています。 データのホルダーに、テクスチャのデータ(.jpg)はおいてあるのですが、 「このテクスチャは対応できないフォーマット→Data/medaka.jpg」 とエラーが出てきます。(メタセコイアのソフトで立ち上げるとちゃんと貼りついてます) ほかのデータで試したいのですが、魚のデータが見つかりませ。 どうかよろしくお願いします。

  • カメラで撮影した画像をOpenGLで表示する方法

    webカメラで撮影した映像を,OpenGLを用いて表示することを考えております. 撮影した映像を,できる限り高速に表示する方法を教えていただけないでしょうか? 用途としては,仮想世界の視点移動に合わせて,カメラで撮影した画像を張り付けたポリゴンを 自由な視点から観察することを考えています. 私の考えつく解決策は,以下の通りです. 1.OpenGLの背景(バックバッファ)の領域を指定し,書き込む 2.ポリゴンにテクスチャマッピング 2.について実装してみたのですが,表示速度がいまひとつでした. 実装としては,テクスチャ用画像を,毎フレーム更新して, テクスチャマッピングする方法をとっています. コードを抜粋したものは,以下の通りです. ------------------------------------ glBindTexture(GL_TEXTURE_2D, g_texture[0]);//テクスチャの指定 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, texture_img[0]->width,texture_img[0]->height, GL_RGB,GL_UNSIGNED_BYTE,texture_img[0]->imageData); ---------------------------------- ※texture_img[0]を毎フレーム更新して,テクスチャマッピング お忙しいと思いますが, アドバイスをいただけますと幸いです. よろしくお願いいたします.

  • 陰影結果を頂点カラーとして焼き付けたい

    3DCG系ソフト初心者です。 3Dオブジェクトのリングがあるのですが、照明効果でついた陰影を頂点カラーとして焼き付けたいです。 現状使用しているソフトはBlenderですが3dsmaxも体験版ならインストールしています。 焼き付けを行ったらMetasequoiaでテクスチャを使わず陰影結果ごと読み込ませたいです。 用途は.mqoファイル形式をOpenGLで描画できる情報に変換し、OpenGLで描画することです。 当然1シーンのライティング結果を焼き付けてしまうので回転などさせれば不自然なものにはなりますが、描画負荷の軽減のための措置です。 テクスチャベイクのやり方もまだままなりませんが、今回はテクスチャではなく頂点カラーとして焼き付けたいです(3Dオブジェクトはかなり細かい座標で作成されているため)。 BlenderやMetasequoiaだと本当は良いのですが、他のソフトでもお勧めのやり方がありましたらお教え下さい。 よろしくお願いいたします。

  • イーフロンティアのshadeドリームハウス(以下ドリームハウス)に関す

    イーフロンティアのshadeドリームハウス(以下ドリームハウス)に関する質問です。 先日、ドリームハウスを買ったのですが、とりあえず色々といじっていると突然画像の画面になり強制終了してしまいます。 動作チェッカーでは問題は無かったはずなのですが・・。 ------------------------------------ Shade ドリームハウス 動作チェッカー 2.0.0 10211 [System Information] OS: Microsoft Windows XP Professional Edition 5.1.2600 Processor: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2 CPUs) Memory: 2046MB [Display Information] Device: NVIDIA GeForce 6800 GS Driver: 8.1.9.8 Display Mode: 0 x 1024 (32 bits) [OpenGL Information - essential] Hardware Acceleration: 使用可能 Multi Texture Units: 16 (動作環境内です) [OpenGL Information - option] GPU Shader Support: 使用可能 wglShareList: 使用可能 [Performance] Preview Time: 0.36 sec Radiosity Time: 59.78 sec Picker Response: 140 msec (正常です) [OpenGL Detail Information] DISPLAY1 : (-1280,0) - (0,1024) x 32 bits DISPLAY2 : (0,0) - (1680,1050) x 32 bits Device : NVIDIA GeForce 6800 GS Driver Version : 8.1.9.8 Hardware Accelerated : enable Multisample Accelerated : disable wglShareLists : enable Max Texture Unit : 16 Max Texture Size : 4096 Max Texture Filter Anisotropic Level : 16 GLSL : enable Max ALU Instruction : 4096 Max Tex Instruction : 4096 Max Temporaries : 32 Max Texcoords : 8 Max Uniform Components : 512 ------------------------------- なにがいけないのでしょうか?

  • イーフロンティアのshadeドリームハウス(以下ドリームハウス)に関す

    イーフロンティアのshadeドリームハウス(以下ドリームハウス)に関する質問です。 先日、ドリームハウスを買ったのですが、とりあえず色々といじっていると突然画像の画面になり強制終了してしまいます。 動作チェッカーでは問題は無かったはずなのですが・・。 ------------------------------------ Shade ドリームハウス 動作チェッカー 2.0.0 10211 [System Information] OS: Microsoft Windows XP Professional Edition 5.1.2600 Processor: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2 CPUs) Memory: 2046MB [Display Information] Device: NVIDIA GeForce 6800 GS Driver: 8.1.9.8 Display Mode: 0 x 1024 (32 bits) [OpenGL Information - essential] Hardware Acceleration: 使用可能 Multi Texture Units: 16 (動作環境内です) [OpenGL Information - option] GPU Shader Support: 使用可能 wglShareList: 使用可能 [Performance] Preview Time: 0.36 sec Radiosity Time: 59.78 sec Picker Response: 140 msec (正常です) [OpenGL Detail Information] DISPLAY1 : (-1280,0) - (0,1024) x 32 bits DISPLAY2 : (0,0) - (1680,1050) x 32 bits Device : NVIDIA GeForce 6800 GS Driver Version : 8.1.9.8 Hardware Accelerated : enable Multisample Accelerated : disable wglShareLists : enable Max Texture Unit : 16 Max Texture Size : 4096 Max Texture Filter Anisotropic Level : 16 GLSL : enable Max ALU Instruction : 4096 Max Tex Instruction : 4096 Max Temporaries : 32 Max Texcoords : 8 Max Uniform Components : 512 ------------------------------- なにがいけないのでしょうか?

  • 3D Visionを用いた立体視用のプログラミング

    Nvidiaの3D Visionを用いた立体視用のプログラムを書きたいと思っています。 調べたところ方法は2通りあるようです。 一つは、OpenGLでQuadBufferを用いたプログラムを書く。 これを実行するにはGPUにNVIDIA Quadroを用いなければならないのですが、これは高価で買えないためこちらの方法は却下しました。 もう一つは、NVAPIという3D VisionのAPIを用いる方法です。 これにはnVAPI.hというヘッダファイルが必要らしいのですが、いくら探しても見つかりません。 そこで質問というのは、このnVAPI.hを見つけた方がいらっしゃったら、どこから手に入れたのかその取得方法を教えてほしいというものです。 これに関する情報がほとんど出回っていないので、大変困っています。 どうか協力お願い致します。

  • 人物(顔)の3Dデータに関する質問

    割とリアリティのある顔の3Dデータが欲しいのですが、どこで入手すればよいか教えていただけませんか?有償でも構いません(フリー素材に越したことはないですが…) ■使用ソフト:solidworks2011 ■使用用途:photo viewerにてレンダリング用の素材として利用 ■希望拡張子:stp,step,igs PCがあまりスペック良いわけではないので、あまりサイズは重くないものがいいです。テクスチャー、マテリアルとかはなくてもOKです。 宜しくお願い致します。

  • グラフィックボード【NVIDIA GeForce GT330】について

    グラフィックボード【NVIDIA GeForce GT330】について質問させて下さい。 昨日パソコンのスペックについて質問させて頂いたのですが、 グラフィックボードの性能を調べる内に色々分からない点が 出てきましたので、教えて頂けると幸いです。 1. メモリは1GBでしょうか? 2. Adobe CS5の必要システム構成には『256MB以上のVRAMを搭載した16-bitカラー表示が可能なハードウェアアクセラレーション対応のOpenGLグラフィックカード 』、『GPUを利用する一部の機能ではShader Model 3.0とOpenGL 2.0対応のグラフィックカードが必要』と書かれておりますが、このグラフィックボードは、CS4・CS5共に対応しているのでしょうか? 3. Photoshopなどを主に使用する場合は、Quadroというグラフィックボードの方が適していると聞きましたが、GeForce GT330でもCS4・CS5はストレスなく使用することが出来るでしょうか? (殆ど2D制作ですが、将来的にPhotoshopの3D機能なども使用するかもしれません。) その他は、CPU【インテルCore i7-870プロセッサー(2.93GHz)】 OS【Windows 7 Home Premium 64ビット正規版】 メモリ【8GB(2GB×4) デュアルチャネル対応】 HDD・SSD【約1TB(高速7200回転/分) + 約62GB SSD】 チップセット【インテル H55 Express チップセット】 という環境です。 何度も質問してしまって本当に申し訳ございませんが、ご存知の方がいらっしゃたら ご教授頂けると幸いです。宜しくお願い致します。