glDrawArraysInstanced, glDrawElementsInstanced, glMultiDrawElementsBaseVertex
This Wiki is a collection of information about OpenGL, as well as frequently asked questions about OpenGL and its API. Tutorials are also welcome and may be hosted on this Wiki. Contributions on this wiki are open to the public, you only need to create a user account. We ask that you please respect the content on this wiki and post only information that is relevant to OpenGL.
LOD LOD はLevel Of Detail の略。 テクスチャをポリゴンに張るときにマッピングの面積比を考慮して処理量を減らすためのアルゴリズム。 モデルデータをレンダリング量に応じて荒いモデルデータに差し替えることはモデルLOD といい、テクスチャのLOD 処理とは異なる。 処理量を減らすという意味では同じ。 テクスチャマッピング時に対象のポリゴンが数ピクセルにもかかわらず多くのテクセルをロードするのは無駄が発生する。 そのため、ミップマップを作成して、詳細度に応じたテクスチャを使用するようにする。 計算方法はテクスチャマッピングをするときのuvp のテクスチャ座標の隣接ピクセルとの差分値を計算し、その量によりLOD の値を決める。 このときに画面のXY 軸に沿って隣接ピクセルを求める。(d/dx, d/dy) Screen Coordinates +------+------+-
GeometryShader 利用時に GLSL のバージョンの違いが問題になったのでまとめてみました。 OpenGL 1.3 ---- OpenGL ES 1.0 ---- OpenGL 1.5 *1 OpenGL ES 1.1 ---- OpenGL 2.0 GLSL 1.1 OpenGL ES 2.0 GLSL ES 1.0 (ESSL) OpenGL 2.1 GLSL 1.2 OpenGL 3.0 GLSL 1.3 OpenGL 3.1 GLSL 1.4 OpenGL 3.2 GLSL 1.5 *1: Shader 対応。Extension で GLSL1.0 も利用可能。Core API になったのは OpenGL 2.0 から。 ・Wikipedia GLSL OpenGL ES 2.0 の GLSL は、GLSL ES または ESSL と呼ばれています。 上の対応表では O
Home of the community driven hardware databases for Khronos APIs. Reports online OpenGL® is a widely adopted 2D and 3D graphics API available on many desktop platforms. It features hundreds of extensions to support the latest GPU features. Reports online Vulkan is the new generation, open standard API for high-efficiency access to graphics and compute on modern GPUs, available on desktop and mobil
During the last three weeks I've spent most of my spare time writing a GUI for Jose's amazing ApiTrace project. ApiTrace is a project to trace, analyze and debug graphics api's. Both OpenGL and Direct3D. To some extend inspired by gDEBugger and Windows PIX. We wanted a tool that would let us slice through huge games and CAD apps to the exact call which causes problems and be able to inspect the en
仮想世界と現実世界を融合する技術は,拡張現実感(Augmented Reality:AR)と呼ばれています. おおげさな言い方をするとARは現実の世界に情報を「上書き」することができる技術です. アニメや映画にでてくる「電脳」を想像してみてください.手のひらの上に3Dキャラクタを表示したり, 現実の世界でデジタル・データに触れてみたり… そんな魔法のような技術です. ARToolKit はARアプリケーションの実装を手助けするC言語用のライブラリです. ARToolKitを使うと,紙に印刷されたパターンをカメラで読み取り, その上に3Dオブジェクトをオーバーレイ表示するアプリケーションが簡単に作れます. 本来は非常に敷居の高い技術なのですが,このライブラリは「難しい部分」の処理を全てやってくれます. …というわけで今回はARToolKitを使って近未来の技術 「拡張現実感」 を体験
レイトレース処理での一番大事な部分、交差判定について記述します。ここではレイ(視点位置と視線ベクトルを持つ)とポリゴン(三角形)との交差判定になりますね。 単純な交差判定 三次元空間上のポリゴンをX/Y/Z軸を圧縮する形で2次元に投影してしまいます。これは、X-Y平面への投影・X-Z平面への投影・Z-Y平面への投影の3つの投影があります。一番確実なのは(誤差を少なくするのは)それぞれの面に投影した場合の面積を計算して、一番面積の大きい面に投影するとするといいです。 上図の場合は、X-Z平面に投影しています(三角形の頂点座標のうち、X/Z成分のみを取り出します)。 また、レイの方向ベクトルと面の法線ベクトルにより「直線と面の交点位置」を求めます(これは3次元空間での処理)。このときに交点が求まります。が、三角形内に内包されているかは分かりません。これを、X-Z平面に三角形を投影している場合は
🏠 Distance Fields Streamlines par_streamlines 3D Wireframes in SVG Split-free occlusion sorting Perfect Panning Octaspheres Graceful Graphs Tait Coloring Cross Products and the 4CT Generating SVG for the Prime Knots Rolling Cubes and Group Theory Exploring Special Relativity C++ as a scripting language Serialization-Based Undo Archived
立体視対応のモニタもかなり入手しやすくなりました。 ZALMAN の 3D モニタは偏光式で、チラツキもなくメガネも軽量で安価なのが特徴です。 その原理も非常にシンプルで、ラスタ単位に交互に右目と左目の映像を描画するだけで 立体現できます。 ・ZALMAN ZM-M215W 推奨された使い方ではないと思いますが、RealD の映画館でもらえる円偏光式のメガネが そのまま使えました。モニタについてくるメガネは幅が狭いのでこちらの方が快適です。 HDMI の 3D フォーマットの入力はできないので PS3 はつながりません。 でも原理が簡単なのでとりあえずプログラムで描画するだけなら簡単に対応できそうです。 眼鏡をつけると縦の解像度が半分になるものの、そのまま他の(非ZALMAN)モニタを 見ることが可能。 画面は暗くなるけど開発時の作業をしていても比較的負担が少ないと感じました。 ●レンダリ
OpenGL 3.0 と GLSL 1.3 OpenGL 3.0 と GLSL 1.3 のドキュメントを軽く眺めていたんですが,ちょっと気が滅入ってきました.最初にこれを読んで私が驚いた The Deprecation Model というのは,固定機能を使うのをやめてプログラマブルシェーダに移行することを推奨するものなんですね.後方互換性は維持されているので「現時点では」まだ焦る必要はないと思うのですが,将来の仕様変更に対する前方互換性を確保しようとすると,glBegin() / glEnd() が使えないばかりか,glVertexPointer() 等を使って頂点配列を指定することすらできません.変換行列の操作や光源の設定,材質の設定なんかも一切できなくなってしまいます. このため GLSL の側でも,ftransform() が使えないというより,gl_Vertex や gl_Mode
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く