タグ

OpenGL

3DテトリスのC++による実装(Emscripten対応)

テトリスをC++で書いてみました。
行き当たりばったりで書いたので汚いですがソースはGitHubで公開しています。
peta-okechan/emris

続きを読む
Shadow caster mapによる高速・高品質な影計算

ソフトシャドウの計算の処理速度がかなり改善された。
GPU_softshadow_SM512_DV0.1_C163_6sec
これは光源数163の場合でトータルの処理時間は6秒。
以前実装したものは、これとほぼ同じ条件で30秒以上掛かっていた。
最新のハイエンドGPUなら、この手法でも少し条件に制限を設けることで面光源によるソフトシャドウのリアルタイム処理も可能かもしれない。

続きを読む
OpenGL 3.2(GLSL 1.50)対応

今までほとんど確認用のレンダリングのためだけにしか使ってなかったので、OpenGL 2.1(GLSL 1.20)のままでやってきたけど、GPGPU的に使うようになったのでOpenGL 3.2で実行するように変更した。
やっぱ少しでも柔軟性は高いほうがいいだろうし、今のところ全くアイデアはないけどジオメトリシェーダでなにか出来るかもしれないし。

続きを読む
いまXcodeでOpenGLを使ったGPUコンピューティングをはじめる方法

OpenGLに慣れてれば簡単だと思うけど、慣れてないと難しいと思う。
この辺はやはりCUDAとかのGPGPU用のAPIに比べると、必要な手続きが多過ぎる感がある。
1から作る場合はCUDAの方が明らかに楽だけど、ターゲット環境の問題とかでCUDAを選択出来ないときや、すでにOpenGLを使ってるアプリに組み込むときOpenGLでGPGPUをやるのもいいと思う。

続きを読む
blenderの座標系をOpenGLの座標系に変換する

blenderの座標系は右方向が+x、上方向が+z、奥方向が+yというちょっと特殊な座標系になってます。
対して、OpenGLの座標系はいわゆる右手座標系で、右方向が+x、上方向が+y、奥方向が-zとなってます。

続きを読む