OpenGL

OpenGL

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

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

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

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

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

今回は PVRTC2 の圧縮について、どのくらいの劣化が起こるのかを調べてみました。 PVRTC2 って有名なようでイマイチな感じで、これを検索キーワードにしても PVRTC1 の 2BPP モードがヒットする感じです。 PVRTC-I, PVRTC-II という表記の方がいいのかもしれませんが、 imgtec のブログでは PVRTC, PVRTC2 とい...
DirectX

BC7の圧縮ノイズについて調べてみた

優秀だという BC7 圧縮の品質がどんなものか調べてみました。 そのためにはそこそこの品質以上の画像データが必要だったので友人に協力してもらい画像を使わせてもらっています。 この場を借りてお礼申し上げます。 BC7への圧縮については Codeplex からダウンロードできる Microsoft の TexConv を使用しています。この最高品質となる CPU...
OpenGL

OpenGLでBC7テクスチャ圧縮を使う

今回は今までにやっていそうでやっていなかった OpenGL で圧縮テクスチャを使用する方法です。 基本的には、定番のDXT1,DXT3,DXT5 などの形式をロードする方法と全く同じなのですが、意外と誰もBC6H, BC7 で書いていなかったため、情報として残しておこうと思った次第です。 BC7テクスチャ圧縮について 詳しいことは他のサイトにお任せしますが、...
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 フレ...
OpenGL

OpenGL @NVIDIAでのメモリ調査

NVIDIA Geforce で OpenGL を使った場合のシステムメモリの消費について調べてみましたが、サイズ可変でどのくらい消費量が変わるのか、というものでした。また API 実行の各タイミングで計測したのみで、時間経過を考慮していませんでした。 今回はサイズは固定し、 100 フレームに 1 回頂点バッファを確保して描画するという方法を試してみました...
OpenGL

OpenGLでOut of memory とメモリの関係

細かな単位で OpenGL の頂点バッファをたくさん確保していたらこんなエラーに出会いました。ちなみにプログラムの実行タイミング次第では OpenGL で OUT_OF_MEMORY のエラー状態がちゃんと返りました。エラー返す前に異常系に落ちたという感じでしょうか。 この症状が出るまでの様子を、使用システムメモリ、使用VRAM量、使用中の共有ビデオメモリ量...
OpenGL

OpenGL API とメモリの消費について NVIDIA特別編

どうにも NVIDIA のメモリ消費について、メモリ消費しすぎな感じがあったので追加調査してみることにしました。 32MB VBOの場合(前回の結果) 状態メモリ(MB)Dedicate(MB)共有メモリ(MB) 初期化終了後999.83613 元データ準備1031.73613 glBufferData実行後1114.76832 元データ破棄1082.768...
OpenGL

OpenGL API とメモリの消費について AMD限定編

前回は NVIDIA, AMD と両者での差異を見るために同じコードで実験しました。今回は AMD ならではの OpenGL 拡張を用いてどう変化が起こるかを見てみたいと思います。 AMD_pinned_memory 拡張に AMD_pinned_memory というものがあります。これは GPU から物理メモリへのアクセスをさせるという拡張です。 こちらを...