トップページ > 記事閲覧
テクスチャ生成の際のテクセルごとの成分指定について
名前:ffm8 日時: 2015/10/18 00:58

いつもお世話になっております、ffm8と申します。 現在、物理シミュレーションのレンダリングに親しみ慣れた本ライブラリを使わせていただいているのですが、 各テクセルに各粒子の座標などのパラメータを割り当てることでピクセルシェーダで粒子の動きを管理する昔ながらの手法で、シミュレーションの並列化を目論んでおります。 その実装にあたって一つだけ問題があり、初期化の段階でVRAMに初期状態のパラメータを送る手段がないのではないか、という状態に陥っています。 初期状態のテクスチャを作る上でA32B32G32R32Fのフォーマットでデータを作る必要があるのですが、 現状1テクセルずつ各成分を指定するにはDrawPixelしか無いと思います(下調べ不足でしたらすみません;;)。 ですがDrawPixelではR8G8B8しか使えないので、 お時間のあるときで結構ですので出来ることなら 1.他のフォーマットでのDrawPixelのような関数 もしくは 2.頂点シェーダの入力で使うVSInput構造体のように、各テクセルに任意の値を代入しておいて、一度に指定のテクスチャフォーマット型でVRAMにデータを渡すような関数 の、どちらかを実装して頂けませんでしょうか? (なお、毎フレームの更新中さえ速ければいいので初期化段階の今、DrawPixelを数十万回呼んでもあまり問題はありませんので簡単に出来る方で結構です) CUDA使えと言われればそれまでなニッチな要望にお手数をお掛けして申し訳ない限りですが、ご一考して頂けると幸いです。
メンテ

Page: 1 |

Re: テクスチャ生成の際のテクセルごとの成分指定について ( No.1 )
名前:管理人 日時:2015/10/19 00:03

非公開関数にA32R32G32B32Fフォーマットのソフトウエアイメージを作成する関数( MakeARGBF32ColorSoftImage )がありますので その関数を使用して A32R32G32B32Fフォーマットのソフトウエアイメージを作成して、 そのソフトウエアイメージに対して非公開関数の float型でカラー値を指定する点を描画する関数( DrawPixelSoftImageF )を 使って値を書き込んだ後、CreateGraphFromSoftImage でソフトウエアイメージから グラフィックハンドルを作成( VRAMに転送 )すればご要望の処理が実現できます // ソフトウエアイメージハンドルの作成( RGBA 各チャンネル 32bit 浮動小数点型 カラー ) int MakeARGBF32ColorSoftImage( int SizeX, int SizeY ) ; // ソフトウエアイメージハンドルの指定座標に点を描画する(各色要素は浮動小数点数) int DrawPixelSoftImageF( int SIHandle, int x, int y, float r, float g, float b, float a ) ; // ソフトウエアで扱うイメージからグラフィックハンドルを作成する( -1:エラー -1以外:グラフィックハンドル ) int CreateGraphFromSoftImage( int SIHandle ) ; と、ここまで書いて実際に試してみたところ A32R32G32B32F フォーマットのグラフィックハンドルが作成 できなかったので、正常に作成されるように修正したバージョンをアップしました お手数で申し訳ありませんが、こちらをダウンロードしてください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: テクスチャ生成の際のテクセルごとの成分指定について ( No.2 )
名前:ffm8(解決) 日時:2015/10/20 00:30

管理人様、お早い対応ありがとうございます! こんな関数が追加されていたとは、定期的に更新しないとですね…… 結局下調べが甘かったようで申し訳ない限りです… とりあえず、仰るとおりこれで特に疑問もなく目的は達成されそうです。 お忙しいところに動作確認までして頂きありがとうございました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存