タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

openglに関するkat0usiのブックマーク (7)

  • [OpenGL] FrameBufferとRenderBufferについてメモ - Qiita

    FrameBufferやRenderBufferなど、バッファという言葉はOpenGLやWebGLを扱っていると頻繁に目にします。 ある程度理解していますが、時間を置くとどうしても理解が曖昧になるので、いったん自分の理解の範囲内で備忘録としてまとめました。 なので、間違いや勘違いがあるかもしれません。(もしなにか間違ってたら指摘してくれるとうれしいです) Framebuffer Object まず、FrameBuffer ObjectとRenderBufferについての簡単な関係図を書きました↓ 見て分かるように、FrameBuffer Objectは「Color Buffer」「Depth Buffer」「Stencil Buffer」を内包しています。 つまり、FrameBuffer Objectはこれらいくつかのバッファを統合するオブジェクトです。 それ自身に値を保持しているわけでは

    [OpenGL] FrameBufferとRenderBufferについてメモ - Qiita
    kat0usi
    kat0usi 2014/10/06
    FrameBuffer Objectは3種類(カラー、デプス、ステンシル)のRenderBuffer(かTextureBuffer)をアタッチできる
  • OpenGL/1.x/ディスプレイリスト - bambooflow Note

    *ディスプレイリスト #contents **ディスプレイリストとは ディスプレイリストは、あとで実行できるコマンドをグループとして保存(コンパイル)するための仕組みです。 リストが生成されると、頂点とピクセルデータを評価してサーバマシン上のメモリにコピー(コンパイル)されます。メモリにコピーされるのは最初の一回だけなので、何度も複数コマンドをサーバーに送らなくて住むため、描画の高速化が期待できます。 ただし、ディスプレイリストには欠点があります。それは、一度ディスプレイリストをコンパイルするとあとで変更することができません。頻繁に変更する場合は、代わりに頂点配列や頂点バッファオブジェクト(VBO)を使う必要があります。 また、ディスプレイリストは、すべてのコマンドを保存できるわけではないことに注意が必要です。 **使い方 #highlight(c){{ // ディスプレイリストを作成する

    OpenGL/1.x/ディスプレイリスト - bambooflow Note
  • OpenGLドライバー品質の実情

    Rich Geldreich's Blog: The Truth on OpenGL Driver Quality の虫: OpenGLでムカつくことに引き続き、Valve社員のRich Geldreichが、OpenGLドライバーの品質について嘆いている。 製品の対象顧客が極めて限定された実行環境でもないかぎり、まともなGL開発者は、ドライバーの実情にぶち当たる。(今、あるいは来年までに製品を実際に出荷しなければならない場合、このドライバーとやりあわねばならないのだ。単にお家で趣味プログラミングしてるだけなら、この手の現実問題と向き合う必要は多分ないだろう) D3Dしか使ったことがないのならば、覚悟しておいたほうがいいだろう。というのも、Windows/Linux用のGLドライバーはあまりにも多岐にわたるからだ。以下が、筆者の現在のドライバー品質についての意見だ。 ベンダーA ほとんど

  • OpenGLでムカつくこと

    Rich Geldreich's Blog: Things that drive me nuts about OpenGL Valve社員のRich Geldreichが、OpenGLの設計が古臭すぎることについて不満を爆発させている。 OpenGLについてムカつくことを脳内ダンプしてみる(これは個人的な件秋であって、Valveや同僚の見解ではない。あと、ここ数年、OpenGLと格闘してきたので、今日は機嫌が悪い)。これを投稿する理由はこうだ。GL APIには再設計が必要だ。というのも、思うに、MantleやD3D12がどうせ昼飯前にOpenGL APIを駆逐してしまうだろうから、この問題については、今考える必要があるのだ。 ここに見れば些細な問題もある。単にAPIのトレースの問題というのもある。しかし、それらの問題が積み重なって、他の開発者にGL APIという環境に飛び込むよう誘うのを躊

  • コマンドの実行

    クライアント/サーバー OpenGL のコマンド処理はクライアント/サーバーモデルとされています つまり、クライアントがコマンドを発行し、サーバーがコマンドを解釈して処理をするのです 例えば、ネットワーク上のクライアントソフトウェアがコマンドを発行し 別の OpenGL サーバーがコマンドを受け取り、処理を行うということも可能なのです 前回は、アプリケーションがクライアントとなり、OpenGL にコマンドを渡しました これは、クライアントとサーバーが同一のコンピュータであるというだけです コマンドの処理を、どのコンピュータで実行するかという問題は不定です もちろん、コンピュータの機種も問われるべき問題ではありません しかし、ここでひとつ問題が発生します ネットワークでは、小さなコマンド一つひとつを個別に転送するようなことはしません 通常は、効率的に回線を利用するため、まとまったパケットとし

    kat0usi
    kat0usi 2014/01/21
    “OpenGL のコマンド処理はクライアント/サーバーモデルとされています つまり、クライアントがコマンドを発行し、サーバーがコマンドを解釈して処理をするのです”
  • ☆PROJECT ASURA☆ [OpenGL] 『頂点バッファオブジェクトを使ってみる!』

    今回は,頂点バッファオブジェクトについて調べて,試してみました。 ※2010/11/22 Bugfix サンプルプログラムを修正しました。 いままでは,glVertex3fv()とか使ってfor文でぐるんぐるん回しながら描画していたわけですが,さすがに面倒くさくなってきました。またパフォーマンスを考えるとあんまし実用的なやり方では内容に思えます。 DirectXなんかでは頂点バッファを使って描画するのが当たり前なのですが,実はOpenGLでも同じようなことができるようです。 そんなわけで,頂点バッファオブジェクト(VBO : Vertex Buffer Object)を使ってDirectXライクに,描画してみます。OpenGL 1.5からBuffer Objectstというのが使えるようになりました。これは,色々な配列をグラフィックスメモリに置いてやって効率を上げてみましょうというものだそ

    kat0usi
    kat0usi 2014/01/21
    “頂点配列を使って描画する場合はデータがクライアントメモリ上にあるため,PCI Expressなどを通してビデオメモリに転送しなければなりませんが,VBOはビデオメモリにデータを置くのでデータを転送する必要がない”
  • T.Teranishi:OpenGL/OpenGL ES:extensions

    OpenGL は、ベンダーごとに独自の機能を追加することができるようになっています。 拡張機能のいくつかが正式に採用されたものが新しい OpenGL のバージョンになります。 OpenGL/OpenGL ES 拡張の内容は次のサイトで確認することができます。 OpenGL Extension Registry / (旧) OpenGL Extension Registry Khronos OpenGL ES API Registry Khronos EGL API Registry OpenGL 拡張は次の接頭語が付きます。 GL gl*() 関数郡の拡張。 GLU glu*() 関数郡の拡張。 GLX glX*() 関数郡の拡張。X Window System 上で動作する OpenGL 専用です。 WGL wgl*() 関数郡の拡張。Windows の OpenGL 専用です。 Ope

  • 1