OpenGL

OpenGL

EGL_MESA_platform_gbm 拡張

今更かもしれませんが、 EGL_MESA_platform_gbm という拡張が出現しているようでした。 さらりと中身を見てみると、 Xorg 関連の初期化不要で、 EGL と GBM の初期化だけで OpenGL ES が使えるようになるものと思われます。 手元の環境では VMware Player 6 のドライバおよび Fedora23 では、この拡張が...
OpenGL

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

前回 実装はしたので、これらがちゃんと各環境で動くのかを確認してみたいと思います。 VMPlayer 6 VMPlayer6上での Fedora23 での結果は以下の通りです。 OpenGL ES 3.0 のコンテキストが生成されています。ベンダ名やレンダラ名から一応完全ソフトウェアエミュレーションで動いているというわけではなさそうです。 動作速度的にもドラ...
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世代のテクスチャ圧縮技術で、各ブロックごとに最適なモードを選択してデータを圧縮しています。このブロックがどんな風に割り当てられているかを、ブロックごとの色分けで塗ってみたら以下...
OpenGL

ASTCの圧縮ノイズを調べてみた

今回は期待のASTC圧縮のノイズを調べてみました。 ASTCについて 詳しいことは各所のサイトで触れられていますのでここでは簡単に。 Adaptive Scalable Texture Compression の略で、ARM が開発しました。DXTCがS3の特許関係で色々とあったためか、 ASTC はロイヤリティフリーなことも取り上げられています。 基本的に...
OpenGL

ETC2の圧縮ノイズを調べてみた

今回は OpenGL ES 3.0 以降で使えるようになった ETC2 について試してみました。アルファチャンネル入りでの圧縮形式として標準的に使えるようになった形式です。基本的な実装方針は ETC1 の拡張したイメージになっています。 データの作成は Mali Texture Compression Tool を用いて行っています。品質は最高品質を選んでい...