OpenGL

OpenGL

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

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

X-Window なしで OpenGL ES2 を使う その3

Ubuntu で NVIDIA のボード&ドライバを使って試してみました。 NVIDIA のプロプライエタリドライバをインストール 今回使用したのが NVIDIA の Geforce 750 Ti だったのですが、 Ubuntu 15.10 の標準インストールで使える nouveau ドライバでは通常の描画からして異常で使い物になりませんでした。 そこでプロ...
OpenGL

X-Window なしで OpenGL ES2 を使う その2

前回 実装はしたので、これらがちゃんと各環境で動くのかを確認してみたいと思います。 VMPlayer 6 VMPlayer6上での Fedora23 での結果は以下の通りです。 OpenGL ES 3.0 のコンテキストが生成されています。ベンダ名やレンダラ名から一応完全ソフトウェアエミュレーションで動いているというわけではなさそうです。 動作速度的にもドラ...
プログラミング

Vulkan の情報

2015年に Vulkan がAPI公開、ベータドライバ公開という大きな変更がくるかなと思っていましたが、それは起こらず静かに終わりました。 しかし、最近になって Vulkan の情報が徐々に増えてきているのを感じています。 その中でも、 NVIDIA のドキュメントがすごく理解しやすい感じにまとめられていたので紹介します。 DirectX12 を既に理解し...
OpenGL

X-Window なしで OpenGL ES2 を使う

今まで Linux で OpenGL を使うといえば、 X Window (X11, Xorg) が必須と考えていました。組み込みな何かならフレームバッファ直指定で OpenGL が使えると思いますが、デスクトップ環境においては使えないと思っていました。  しかし、割と最近になって Linux 側のほうで KMS (KernelModeSetting), D...
OpenGL

Ubuntu 15.10 に更新(on Proxmox)

先日インストールした Ubuntu ですが 15.10 (本家?)のアップデートのダイアログが出てきたのでそのまま更新してみました。 Ubuntu 15.10 気になる点を確認してみたのでそれらについてメモしておきます。 Mesa3D 無事に Ubuntu 15.10 になったようです。このときいろいろなパッケージが更新されたようで Mesa 3D もまた変...
OpenGL

Ubuntu 15.05 on Proxmox

割と最近でたばかりの Ubuntu 15.05 を Proxmox の仮想マシンとしてインストールしてみました。しかしながら Ubuntu Desktop 日本語 Remix の iso をダウンロードしようとしたら、なぜか 15.04 という記載になってて混乱してます。  単なる間違いだろうということであまり気にせず作業してみました。通常の Linux の...
OpenGL

OpenGL でデュアルディスプレイのフルスクリーン

なかなかやっている人も少ない OpenGL のフルスクリーンの話になります。さらにそれのデュアルディスプレイ版となるとほぼ皆無といっていい内容かと思います。ちなみに先日の Windows 10 では使えるのか?と試した話の延長です。 OpenGL では DirectX とは違い、それぞれの画面で OpenGL のコンテキストを作り、必要に応じてリソースを共有...
OpenGL

Windows10 で OpenGL 使えるのか?

Windows10 の正式なリリースが間もなくとなってきました。この Windows10 で DirectX 12 が使えるようになるというのは、各所で語られていて有名な話ですが、それと対を成す OpenGL は生きてるんだろうかと思って、まずは軽く調べてみました。 軽くといいつつ、デュアルディスプレイでそれぞれにフルスクリーンとなる OpenGL アプリケ...
DirectX

BC7について段階的にデコードしてみた

BC7のCPUデコーダーを作っている過程でおもしろいものが確認できたので記事にしてみました。当たり前の話ではあるのですが、視覚化されたケースって無いようなので。 BC7 はいわゆる第2世代のテクスチャ圧縮技術で、各ブロックごとに最適なモードを選択してデータを圧縮しています。このブロックがどんな風に割り当てられているかを、ブロックごとの色分けで塗ってみたら以下...