OpenGL ASTCの圧縮ノイズを調べてみた 今回は期待のASTC圧縮のノイズを調べてみました。 ASTCについて 詳しいことは各所のサイトで触れられていますのでここでは簡単に。 Adaptive Scalable Texture Compression の略で、ARM が開発しました。DXTCがS3の特許関係で色々とあったためか、 ASTC はロイヤリティフリーなことも取り上げられています。 基本的に... 2015.03.23 OpenGLデータ解析
OpenGL ETC2の圧縮ノイズを調べてみた 今回は OpenGL ES 3.0 以降で使えるようになった ETC2 について試してみました。アルファチャンネル入りでの圧縮形式として標準的に使えるようになった形式です。基本的な実装方針は ETC1 の拡張したイメージになっています。 データの作成は Mali Texture Compression Tool を用いて行っています。品質は最高品質を選んでい... 2015.03.17 OpenGLデータ解析
OpenGL PVRTC2の圧縮ノイズを調べてみた 今回は PVRTC2 の圧縮について、どのくらいの劣化が起こるのかを調べてみました。 PVRTC2 って有名なようでイマイチな感じで、これを検索キーワードにしても PVRTC1 の 2BPP モードがヒットする感じです。 PVRTC-I, PVRTC-II という表記の方がいいのかもしれませんが、 imgtec のブログでは PVRTC, PVRTC2 とい... 2015.03.11 OpenGLデータ解析
DirectX BC7の圧縮ノイズについて調べてみた 優秀だという BC7 圧縮の品質がどんなものか調べてみました。 そのためにはそこそこの品質以上の画像データが必要だったので友人に協力してもらい画像を使わせてもらっています。 この場を借りてお礼申し上げます。 BC7への圧縮については Codeplex からダウンロードできる Microsoft の TexConv を使用しています。この最高品質となる CPU... 2015.03.10 DirectXOpenGLデータ解析
OpenGL OpenGLでBC7テクスチャ圧縮を使う 今回は今までにやっていそうでやっていなかった OpenGL で圧縮テクスチャを使用する方法です。 基本的には、定番のDXT1,DXT3,DXT5 などの形式をロードする方法と全く同じなのですが、意外と誰もBC6H, BC7 で書いていなかったため、情報として残しておこうと思った次第です。 BC7テクスチャ圧縮について 詳しいことは他のサイトにお任せしますが、... 2015.03.08 OpenGL
OpenGL OpenGLでOut of memory とメモリの関係 (AMD) 今まで NVIDIA のもので調べていたので今回は同じプログラムを AMD Radeon 5450 を使ってデータ取得してみました。 Windows 7 x64 (2GB) AMD Radeon HD 5450 (1GB) ドライバは Catalyst Omega 14.12 プログラムは OpenGL を用いて 32MB 単位で頂点バッファを 300 フレ... 2015.01.12 OpenGL
OpenGL OpenGL @NVIDIAでのメモリ調査 NVIDIA Geforce で OpenGL を使った場合のシステムメモリの消費について調べてみましたが、サイズ可変でどのくらい消費量が変わるのか、というものでした。また API 実行の各タイミングで計測したのみで、時間経過を考慮していませんでした。 今回はサイズは固定し、 100 フレームに 1 回頂点バッファを確保して描画するという方法を試してみました... 2015.01.11 OpenGL
OpenGL OpenGLでOut of memory とメモリの関係 細かな単位で OpenGL の頂点バッファをたくさん確保していたらこんなエラーに出会いました。ちなみにプログラムの実行タイミング次第では OpenGL で OUT_OF_MEMORY のエラー状態がちゃんと返りました。エラー返す前に異常系に落ちたという感じでしょうか。 この症状が出るまでの様子を、使用システムメモリ、使用VRAM量、使用中の共有ビデオメモリ量... 2015.01.10 OpenGL
OpenGL OpenGL API とメモリの消費について NVIDIA特別編 どうにも NVIDIA のメモリ消費について、メモリ消費しすぎな感じがあったので追加調査してみることにしました。 32MB VBOの場合(前回の結果) 状態メモリ(MB)Dedicate(MB)共有メモリ(MB) 初期化終了後999.83613 元データ準備1031.73613 glBufferData実行後1114.76832 元データ破棄1082.768... 2015.01.09 OpenGLプログラミング
OpenGL OpenGL API とメモリの消費について AMD限定編 前回は NVIDIA, AMD と両者での差異を見るために同じコードで実験しました。今回は AMD ならではの OpenGL 拡張を用いてどう変化が起こるかを見てみたいと思います。 AMD_pinned_memory 拡張に AMD_pinned_memory というものがあります。これは GPU から物理メモリへのアクセスをさせるという拡張です。 こちらを... 2015.01.07 OpenGLプログラミング