Related Topics: Vertex Buffer Object (VBO), Frame Buffer Object (FBO) Download: pboUnpack.zip, pboPack.zip, pboPackDepth.zip, pboPackFromFbo.zip Overview Creating PBO Mapping PBO Example: Streaming Texture Uploads with PBO Example: Asynchronous Readback with PBO Update: Pixel buffer object extension is promoted as a core feature of OpenGL version 2.1, and removed ARB suffix from the API calls. Ove
OpenGL de プログラミング トップページページ一覧メンバー編集 PixelBufferObject 最終更新: mikk_ni3_92 2008年09月12日(金) 16:48:27履歴 Tweet 現在地 >> メニュー >> 基本編10 >> PixelBufferObject 関連:VertexBufferObject、FrameBufferObject リファレンス はじめに ピクセル転送のパフォーマンス PBO 「ピクセルデータ」を貯めておく「バッファオブジェクト」が「PixelBufferObject(PBO)」を呼ばれる。 「PBO」は「VertexBufferObject」のAPIを使っているが、そこに「PBO」用の「トークン」を指定する。 これによって、「メモリマネージャ(OpenGLのDriver)」が「shared memory」か「ビデオメモリ」がよいか判断
OpenGL de プログラミング トップページページ一覧メンバー編集 ピクセル転送のパフォーマンス 最終更新: mikk_ni3_92 2009年02月12日(木) 11:04:34履歴 Tweet 現在地 >> メニュー >> 基本編10 >> PixelBufferObject >> ピクセル転送のパフォーマンス glReadPixels()、glDrawPixels()のパフォーマンス 一般にglReadPixels()、glDrawPixels()は効率がよくないため、使用頻度は高くない。 もし、プログラムの重要な所でこれらの関数を使うような場合は、 別の方法を考えた方がよい。 例えば テクスチャマッピング 「テクスチャオブジェクト」として「読み込んだピクセルの矩形」を格納する。(glReadPixelsの代わり) テクスチャマッピングをした矩形を表示する(glDrawPixel
画像を貼り付ける これまでは、単純な画像の表示やポリゴンを表示してきました もし、これらの技術だけでゲームで使われているようなダンジョンを作ろうとした場合 石造りの壁や複雑な部屋のオブジェクトをポリゴンで表示するため ものすごく多くの情報量が必要となるうえ、全体が硬いイメージとなり機械的になります 木造の壁や柱を表現するためには、ポリゴンで表現した方形を画像で塗る必要があります このように、ポリゴンに画像を貼り付けることをテクスチャ・マッピングと呼びます これは、3次元グラフィックスにおいて最も重要な技術の一つと言えます テクスチャ・マッピングを行うには、まず、テクスチャを有効にする必要があります テクスチャには、1次元と2次元の2種類が存在します 1次元のテクスチャは後ほど解説するとして、この場では2次元のテクスチャを作りましょう 2次元テクスチャを有効にするには glEnable()
OpenGL de プログラミング トップページページ一覧メンバー編集 OpenGL::テクスチャのはりかた 最終更新: mikk_ni3_92 2008年07月23日(水) 19:03:50履歴 Tweet 現在地 >> メニュー >> サンプルコード::OpenGL >> OpenGL::テクスチャのはりかた 現在地 >> メニュー >> 基本編06 >> OpenGL::テクスチャのはりかた テクスチャのはりかた OpenGLでテクスチャをはるときの手順は以下の通り。 「画像」を読み込んで、「色データ」を抽出。 「色データ」から「テクスチャ」を作成。 「テクスチャ」をはる。 1.「画像」を読み込んで、「色データ」を抽出 「OpenGL」では、基本的に画像を読み込む「関数」がない。 ↓ 自作する ライブラリを利用する -(AUXライブラリ、SDL、OpenCV、などなど) といった手段
テクスチャマッピングをしよう テクスチャマッピングとは テクスチャマッピングは3次元の平面に画像を貼り込む技術で、建築物や植物など多くのモデルを自然な表現に仕上げるにはこの手法がよく利用されます。テクスチャマッピングをするには、画像を配列に読み込み、その画像の位置と面の頂点を対応づけます。画像と平面は同一形状である必要はありません。 画像ファイルを読み込む 画像ファイルの形式 画像ファイルには、各種の形式があります。windowsの標準はBMPで、これは、簡単な形式ですが、透過処理のためのマスクレイヤ等の情報を組み込むことができませんし、windows以外では利用できません。 ここではTiff形式画像を利用します。Tiff形式は構造が柔軟で、簡単に記録内容を追加することができます。また、unixやMacなどにも利用されています。一般にはTiffは圧縮形式のファイルも可能ですが、
※OpenGLに関連する項目は 別ページ に整理しました。ここにあるものは内容が古い場合があります。 modelview matrix を理解する (書きかけです) OpenGL の行列表現に関する基礎的な知識 OpenGL では、4x4 行列を 16 要素の1次元配列として扱う: GLfloat m[ 16 ]; 要素の並びは以下のようになる: m[ 0 ] m[ 4 ] m[ 8 ] m[ 12 ] m[ 1 ] m[ 5 ] m[ 9 ] m[ 13 ] m[ 2 ] m[ 6 ] m[ 10 ] m[ 14 ] m[ 3 ] m[ 7 ] m[ 11 ] m[ 15 ] glMultMatrixf( m ) は現在の行列に対して右からの乗算を行う。 現在の行列を得るには glGetFloatv() を用いる: glGetFloatv( GL_MODELVIEW_MATRIX, m
メインページ > 工学 > 情報技術 > プログラミング > OpenGL 3Dプログラミング[編集] 3Dに必要な数学[編集] ここまでで2Dのゲームプログラミングを見てきました。ここまででもある程度高度な数学が現れています。例えば,w:ベクトルやw:三角比はその例でどちらも高等学校数学で扱われる題材で、割合高度な数学といえます。残念ながら3Dプログラミングでは更に高度な数学が必要となります。 3Dプログラミングでは4x4までのw:行列の演算が必要になります。2x2までの行列演算については高等学校数学Cを参照してください。また、任意の階数の行列演算については線型代数学を参照してください。具体的には、逆行列を求める演算(w:クラメールの公式、w:ガウスの消去法など)までを学習しておくとよいでしょう。 また、ゲームによっては初等的な力学の法則を扱う場合があります。残念ながら3次元空間での一般
OpenGLを利用した3Dプログラムを作成する。 Googleのチュートリアルのソースコード 参考リンク OpenGLプログラム OpenGL入門 チュートリアル1 背景を黒で塗り潰すOpenGLプログラムを作成する。 GLTutorialOne.java package edu.union; import javax.microedition.khronos.opengles.*; import android.content.*; //チュートリアル1 public class GLTutorialOne extends GLTutorialBase { //コンストラクタ public GLTutorialOne(Context c) { super(c); } //初期化 protected void init(GL10 gl) { //
資料: 今までにあった質問 リフレッシュレートの変更 AUX 版, Indy 版, 書籍版 床井研究室 (OpenGL 関連記事) 柴山 健伸 先生 (システム工学部情報通信システム学科) の混沌としたサンプル 陳 謙 先生 (システム工学部デザイン情報学科) の Motif を使ったサンプル 中山 礼児 氏 (経済学部 2000 年卒) の Delphi についての解説 The OpenGL WEB Site (OpenGL の総本山) GLUT - The OpenGL Utility Toolkit (OpenGL.org の GLUT のページ) OpenGL Code & Tutorial Listings (OpenGL.org のチュートリアル集) OpenGL Technical FAQ (OpenGL について良く聞かれる質問) OpenGL FAQ 日本語 (OpenG
AndroidではOpenGLを使って3Dを描画できるらしいので、早速使ってみた 以下はただ四角いポリゴンを書くだけの簡単なサンプルです。 OpenGLに関してはwisdomsoftのOpenGL入門を参考にしました。 package net.chephes.graphics; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.IntBuffer; import javax.microedition.khronos.opengles.GL10; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.graphics.*; import android.conten
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く