タグ

OpenGLに関するKatagiriSoのブックマーク (10)

  • 床井研究室 - 第2回 Gouraud シェーディングと Phong シェーディング

    一度に一つのことしかできない やらなければならない仕事が二つ以上あると,とてもストレスを感じます.だいたい落ち込んでいるときは物事が決められなくなっているので,仕事が複数あっても優先順位を付けることができません.それに,タスク切り替えにすごく時間がかかる(数時間から1日)ので,効率もよくありません.それで余計に落ち込んでしまいます.周りの人はみんなうまくやってるなぁと思えるので,それでまた落ち込みます.どうしたもんでしょうか. GLSL の変数 GLSL は C や C++ 言語によく似ていますが,レンダリングのプロセスを反映した仕組みを備えています.特に変数については,アプリケーションプログラムとシェーダプログラムとの間や,シェーダプログラム同士でのデータのやり取りを行うために,以下に示す独特の型修飾子を備えています.また GLSL は,これらにより修飾された多くの組み込み変数を用意して

    床井研究室 - 第2回 Gouraud シェーディングと Phong シェーディング
  • Fluid

  • FCS(2) - OpenGLで描画!GLKitを活用しよう

    QuartzのベースにはOpenGLの技術がつかわれていますので、OpenGL ESベースでアプリを作ってみましょう。 XCodeの新規プロジェクト作成を選ぶと、このようにOpenGL Gameというテンプレートがあらかじめ用意されていますので、それを選びます。 このテンプレートにはOpenGLベースのアプリを作る準備が一通りそろっています。プロジェクト作成後、ビルドして実行すると、このように2つの立方体が回転しながら表示されます。 テンプレートから生成されるコードには、OpenGLで必要な初期セットアップやアニメーション表示のための定期的なコールバックの仕組みが用意されています。また描画の仕組みも、OpenGL ES 2.0のシェーダーを使ったもの(青い立方体)と、Appleが用意したGLKitと呼ばれるシェーダーを直接呼ばなくてもOpenGL ES 2.0の機能を簡単に使えるもの(赤い

    FCS(2) - OpenGLで描画!GLKitを活用しよう
  • とりあえずSwiftでOpenGL ESの一枚四角を描く - Qiita

    XCode7でSwiftでもOpenGLESが使えるようになったのでとりあえず四角形を描いてみます。 1.XCodeでiOS->Application->GameでSwiftとOpenGLESを選んでプロジェクトを作ります。 2.GameViewController.swiftに下のコードを上書きして実行してみます。 ソースの中身は http://enamelsystems.com/0017/ とかにObjective-Cの場合の解説があります。 import GLKit import OpenGLES let gVertices: [GLfloat] = [ -0.5, -0.5, 0.0, -0.5, 0.5, 0.0, 0.5, -0.5, 0.0, 0.5, 0.5, 0.0, ] let gIndices: [GLubyte] = [ 0,1,2,3 ] let gColors:

    とりあえずSwiftでOpenGL ESの一枚四角を描く - Qiita
  • 屈折表現2

    IE6以下のブラウザでは上手く表示できない可能性があります また、IE6には多くのバグがあるためブラウザの変更を強く推奨します はい、水面第3弾! 今度はすごいぜ! 屈折をリアルに表現してるぜ! とにかく↓コイツを見やがれ え?カクカクして見づらい? 画像が小さいだって? まぁ実際動かした方がいいかもしんない ダウンロード(ソースコード,exe 186KB) え~、これまでのはこのプログラムのための布石です 今回の水面は波による影響はかなりごまかしだが 波の立っていない状態ではかなりリアルな屈折を表現しています 屈折率によってもちゃんと見え方が変わるし、見る角度によっても屈折具合が変わります! 水面に入っていく物体も中で自由に動き回ってもリアルに屈折します! しかも、オフスクリーンレンダリング1回と投影マッピングで表現できます(ドン!) ふぅ、落ち着こう と、ここまでいっておいてなんだけど

  • iOSでとりあえずOpenGLで三角形を描くには - Qiita

    内容はGLKit ー ハローOpenGL 三角形を書いてみるにコメントを足しただけのものです。 基的に以下のような流れになります。 頂点情報→頂点処理(バーテックス・シェーダ)→描画→面処理(フラグメント・シェーダ)→最終出力 今回は頂点処理も面処理も行っていません。 まず一画面アプリケーションを作成する。 ターゲットに OpenGLES.framework と GLKit.framework を追加する。 コードを以下のように編集してxibを排除する。 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen m

    iOSでとりあえずOpenGLで三角形を描くには - Qiita
  • GLKit ー ハローOpenGL 三角形を書いてみる

    GLKitを使って三角を表示する方法のメモ。 Framework ・GLKit ・OpenGLES ※ Build Phases の Link Binary … に追加。 ポイント ・EAGLContext ・GLKBaseEffect ・GLKVector ・GLKView ・GLKViewController 注意 こんなログが出る場合、 reason: ‘-[GLKViewController loadView] loaded the “ViewController_iPhone” nib but didn’t get a GLKView nibとかのviewのclassをGLKViewに変更する。 三角形を表示するサンプルコード ————————- ViewController.h ————————- #import <GLKit/GLKit.h> @interface ViewC

    GLKit ー ハローOpenGL 三角形を書いてみる
  • OpenGL ES(GLKit)を使って動くエフェクトを作る(その1:GLKViewを使ってみる) - 開発のヒホ

    iOS5になって、新たにGLKitという便利なものが追加されました。 従来ではOpenGLを使うために数十行書かなければいけなかったのを、アップルさんがうまいことまとめてくれたのを作ってくれました!ありがてぇ! 最近はアプリも飽和状態ですし、エフェクトを拘ってみたりしないと脚光を浴びることもありません。 これからはOpenGLでゴリゴリとアニメーションを書く時代が来る・・・ハズ! ということで、GLKitを使って何かアニメーションを作ってみたいと思います。 最終目標は、ゲームのクリア画面とかでよくある、花火がドーンドーンと打ち上がってるあれを作ってみます。 必要なframeworkを追加する 必要なframeworkがいくつかあります。 projectファイルのSummry辺りからちゃちゃっと追加します。 GLKit.framework OpenGLES.framework QuarzCo

    OpenGL ES(GLKit)を使って動くエフェクトを作る(その1:GLKViewを使ってみる) - 開発のヒホ
  • FCS(3) - OpenGLで描画!GLKitを活用しようの続き

    GLKitによる2次元描画の準備ができましたので、今回はこのように、画面全体を4つの3角形で描画してカラーグラデーションをかけてみたいと思います。 頂点の定義 OpenGLでは基的に3角形を使った描画を組み合わせて複雑な表現を実現します。サンプルアプリで定義されているgCubeVetexDataは、以下のように、3角形のそれぞれの頂点を示す頂点情報と(positionX,positionY,positionZ)、3角形の面のどちらが表なのか示す法線ベクトルの情報(normalX,normalY,normalZ)の両方を一つの配列で表現しています。 GLfloat gCubeVertexData[216] = { // Data layout for each line below is: // positionX, positionY, positionZ, normalX, norma

    FCS(3) - OpenGLで描画!GLKitを活用しようの続き
  • View-base Application で OpenGL を使う - ギジュログ

    iOSの開発してて View-base Application で作成したんだけど、一部だけ 3D 処理やんなきゃいけなくなったのでメモ。 iOS で 3D 処理やる場合は大まかに2通り CALayer で擬似的に 3D っぽく見せる OpenGL 使う 一つ目の CALayer UIView なんかをなんちゃらtranslateとかrotateとかっていう CALayer まわりの API を使う。 簡単な3Dの処理を書くのは楽。 複雑な処理はあまり向かない。 二つ目の OpenGL は言うまでもなく、 複雑な描画処理をしてくれるライブラリ。 ゴリゴリ回転したりもりもりズームしたりとかをやってくれる。 UIView の処理と比べるとコーディングするには敷居が高い 表示しない画像とかを事前に計算して処理を省いたりしてるらしく高速。 通常、OpenGL 使う場合は OpenGL ES テンプ

    View-base Application で OpenGL を使う - ギジュログ
  • 1