ページ 1 / 1
OpenGLのglMultMatrixf関数
Posted: 2014年8月01日(金) 21:23
by MoNoQLoREATOR
OpenGLのglMultMatrixf関数は内部でGPUに行列計算をさせているのでしょうか?
もしそうなら積極的に使ってゆきたいのですが…。
そうでなければ、OpenGLでハードウェアに行列計算を行わせるにはどうすればよいのでしょうか?
調べ方が悪いのか、全く情報が見当たりません。
よろしくお願いします。
Re: OpenGLのglMultMatrixf関数
Posted: 2014年8月01日(金) 21:55
by softya(ソフト屋)
GPUとCPU間の転送・同期コスト(時間的ロス)を考えると低速化すると思います。
GPGPUは大量にGPU側に投げて計算をさせた結果をあとでまとめて受け取るから高速化の恩恵が有るわけです。
スレッドのマルチコア処理でも同じですが、まずそういう本面に強くなるべきかと思いますよ。
> そうでなければ、OpenGLでハードウェアに行列計算を行わせるにはどうすればよいのでしょうか?
OpenCLならGPGPUが出来ますよ。
Re: OpenGLのglMultMatrixf関数
Posted: 2014年8月01日(金) 22:02
by h2so5
glMultMatrixfはCPUでの演算です。
実装依存のようです。単一の行列演算なのでもしGPUで演算していても高速化は期待できないと思いますが。
Re: OpenGLのglMultMatrixf関数
Posted: 2014年8月02日(土) 00:14
by MoNoQLoREATOR
>>softyaさん
トータルではGPUを介する方が時間が掛かってしまうのですか。
そうとは思いませんでした。
やはりOpenCLの分野になってしまうのですね。
>>h2so5さん
実装依存でしたか…。
結局高速化は期待できないのですね。
ありがとうございました。
おかげさまで解決しました。