「 OpenGL 」一覧

Nexus5X を Android 7.1.1


Nexus5X の端末に Android 7.1.1 の OS が配信されてきたので更新してみました。
Android 6.0.1 からの更新となり、 7.0 を飛ばしてしまった感じになりました。

更新結果

動作そのものが重くなるかなと思いましたが、逆にレスポンス良く動くようになった気がします。
そして OpenGL ES 3.2 のコンテキストで初期化できるようになったようです!今までに ES 3.2 のコンテキストで動く端末を見てなかったので感動です。

続きを読む


ドッキングウィンドウ on WPF での OpenGLView


前回の延長戦で、ドッキングウィンドウとの組み合わせを試してみました。
ドッキングウィンドウには AvalonDock (WPF Extended Toolkit 付属) を用いています。

はじめに

AvalonDock でドッキング可能なドキュメントとして、前回の カスタム版 D3D11Image を貼り付けています。
ここに OpenGL の描画をはめ込む形です。

今までのものと大きく異なるのは以下の点だと思います。

  • 独立したウィンドウになることがある(フローティングウィンドウ)
  • 表示/非表示のタイミング
  • Window に貼り付けられているわけでなく UserControl 以下

これらの条件変化によって、動きが変わるかを確認してみました。

wpf_avalondock_ogl
続きを読む


WPF で OpenGL の描画はめ込み


WPF アプリで OpenGL の描画結果をはめ込めたらいいなと思ってトライしてみることにしました。
WPF は DirectX9 で動いているため、またアプリ全体で1つのウィンドウハンドルとなっているため、従来の C# フォームアプリのように特定の部分だけ描画を任せるというようなことが難しくなっています。

続きを読む


OpenGL で SPIR-V のシェーダー


OpenGL にも SPIR-V のシェーダーコードを使えるようにする GL_ARB_gl_spirv という拡張が存在します。ベンダー拡張ではなくいきなり ARB として定義されているので標準的に使える日もそう遠くないと思っています。

自分が使っているのが NVIDIA Geforce 650 Ti ですが、比較的最近のドライバ (375.57) でこの GL_ARB_gl_spirv が出現していました。この環境で簡単ではありますが、動作の確認やコードの書き方などやってみたいと思います。

ogl_spirv_test
続きを読む




OpenGL と DirectX9 で共有リソース


HDD の中の実験コードらを整理していたらずいぶん前に作っていた NV_DX_interop 拡張を利用したコードを発見しました。
OpenGL と DirectX9 を1つのアプリケーションの中で使い、リソースを共有して使えるという点が魅力的です。

WGL_NV_DX_interop

この WGL_NV_DX_interop 拡張は名前の通り NVIDIA のベンダー拡張として定義されています。
詳しい説明は OpenGL Registry の https://www.opengl.org/registry/specs/NV/DX_interop.txt を参照してください。

この拡張では OpenGL と DirectX9 のリソースを共有を実現します。以下のリソースが共有できるようです。

  • テクスチャ(2D, 3D,Cubemap)
  • 頂点・インデックスバッファ

API をまたいで、リソースを使えるという点で非常に興味深いですね。
続きを読む



libX11 未使用で linux で OpenGL アプリを作る?!


今やレガシー扱いとされている X11 ですが、wayland への移行もあまり進んでいないようです。期待していた Fedora 24 でも採用が見送られてしまいました。 今回はそんな X11アプリを libX11 を使わないで組んでみたいと思います。 OpenGL を使ってアプリケーションを作る場合には X11 のオブジェクト群はほとんど使用しないで済むので最初のウィンドウだけ作ればなんとかなるんじゃないでしょうか.

続きを読む


MobaXterm が便利


SSHのクライアントとしては Tera Term を愛用しているのですが、とあることから MobaXterm というソフトを知ったので試してみました。これが便利でしばらく使ってみようと思います。

なにが良いかといいますと、これ単体で Xサーバーが内蔵されており、 OpenGL のアプリケーションも動作させることができた点にあります。このときの様子を撮影してみたので貼ってみました。
mobaxterm_opengl

これは Windows10 上で別PCに Ubuntu 16.04 LTS をインストールしたターゲットに接続して、試してみたときのものとなります。OpenGL アプリとして定番のものを動かしてみました。また OpenGL ES2.0 のアプリも動かしてみました。
どちらも動いていることが確認できます。

1つ残念な点は OpenGL は LLVMpipe によるソフトウェア実装が動いている点ですが・・・動くだけマシといったところですね。

この MobaXterm で設定で OpenGL のハードウェアアクセラレート ON というのが見当たったのですが、有効にしてみたところ妙な挙動になってしまいました。以下のように一見動きそうな感じなのですが、実際に動かすとフリーズしたかのごとく重い動作になってしまい・・・使えませんでした。

mobaxterm-opengl_2

他にもこのMobaXtermのよいところは、ホームディレクトリがすでに sftp で見えているため、ドラッグアンドドロップでファイルをやりとりできるところがあります。今までは別ソフト使っていたりしたのでこの1つに集約することができそうです。