OpenGL

OpenGL

OpenGL 4.5 が発表されました

Siggraph2014開催期間中にOpenGL 4.5が発表されました。 そしてNVIDIAのドライバは既に公開が始まっているということで、早速インストールしてエクステンションリストの確認をしてみました。 リストは後述しますが、手元のボードが 650Ti ということもあり無事に拡張が使えるようです。 OpenGL 4.5のスライドはこれ OPENGL 4....
Android

GALAXY Tab S 8.4を開発者目線で調べてみた

先日8月頭に発売された GALAXY Tab S 8.4(SM-T700 すなわちWiFiモデル) を調べてみました。基本的なことは各所のサイトで紹介されていると思いますので、ここではプログラマ目線で個人的に気になることを調べてみました。 初期状態でのOSは Android 4.4.2 です。 搭載しているプロセッサは、Samsung Exynos 5420...
OpenGL

フルスペックOpenGLとGLES 3.0 とで比較してみた

EGL使ったものと通常のGLX(OpenGL)とで性能差を感じたので、実験してみたいと思います。 JetsonTK1でEGL使用した場合には、OpenGLES 3.0のコンテキストが使用されます。通常の初期化をGLX経由でした場合には OpenGL 4.4のコンテキストとなります。 これらで同じようにパフォーマンス有利に働くように、頂点バッファ(バッファオブ...
OpenGL

Jetson TK1でGLXでOpenGLを使ってみる

前回はEGLで組んでみましたが、折角普通のLinux,OpenGLが使えるボードということで、X11とGLXで前回同様のアプリケーションを作成してみようと思います。 NVIDIAでLinux OpenGL といえば、関数エントリが共有ライブラリに準備されていることで有名です。この組み込み用ではどうであるか確認してみます。 $ nm -Do /usr/lib/...
OpenGL

Jetson TK1 で EGLを使ってみる

検索でライブラリは見つかるものの標準パスの位置にlibEGLやlibGLESv2らの共有オブジェクトがなかったので、下記のようにしてシンボリックリンクを張ってみました。 cd /usr/lib/arm-linux-gnueabihf sudo ln -s tegra-egl/libEGL.so.1 libEGL.so sudo ln -s tegra-egl...
OpenGL

Jetson TK1 GL関連を確認中

glxgearsを動かしてみたいので、mesa-utilsをインストールしました。 $ sudo apt-get install mesa-utils 約 2200FPS程度で glxgearsは動きました。 このときの情報を infoオプション付きで動かしたところ、各値は以下のようになっていました。 GL_RENDERER = GK20A/AXI GL_V...
OpenGL

OpenGLでMSAA

以前にDirectX11でMSAAというタイトルでテクスチャに対するMSAAをやってみましたが今回はそれのOpenGL版をやってみたいと思います。結果はこんな感じです。画像を切った貼ったしたので、ねつ造と言われてしまうかも・・・。 必要になるGL拡張 最近のOpenGL対応ボードならば問題ないと思いますが、OpenGL 2.1対応とか言われているボードでは下...
OpenGL

Ubuntuで EGL使えるか?

先日NVIDIAのドライバをインストールした Ubuntu ですが、なんとEGLやGLES2についてのライブラリをもっているようでした。(331.20ではダメだった・・・) $ find /usr/ 2>/dev/null | grep GLES /usr/lib32/libGLESv1_CM.so.1 /usr/lib32/libGLESv1_CM.so....
OpenGL

OpenGL の ComputeShader

今回はようやくOpenGLでのComputeShaderを扱ってみます。意外とOpenGLでのComputeShaderって話題になっていないようで、ワクワクしています。 手順 VertexShader, FragmentShader などを生成するように、ComputeShader を生成します。ComputeShaderもまたGLSLで記述するので、今ま...
OpenGL

OpenGLでComputeShaderを使う前に

OpenGLでComputeShader を使う前に実は知っておくべきことが意外とある、ということで今回はその内容についてです。 ComputeShader は演算のためのシェーダーです。その演算内容をどこかに書き出さなければなりません。OpenGLでは、2種類ほどあるようでそれが以下の物に該当するようです。 Shader Image load store ...