プログラミング 見習い

プログラミングの勉強の学習日記的なブログ

OpenGL

OpenGLを学ぼうと足掻く トゥーンシェーディングの実装

今度は簡単なトゥーンシェーディングをやってみます。 前回作ったフォンシェーディングのフラグメントシェーダを以下のように変更します。 #version 120 varying vec3 Position; varying vec3 Normal; void main() { int levels = 3; float scaleFactor = 1.…

OpenGLを学ぼうと足掻く フォンシェーディングを実装

前回はシェーディングの計算を頂点シェーダで行うグーローシェーディングというものをやってみました(ADSシェーディングではないですが、前々回も)。 各頂点でシェーディングするということは色を各頂点にひとつ関連付けるということです。 この値をフラグメ…

OpenGLを学ぼうと足掻く グーローシェーディングを実装

前回、Diffuse反射を実装してみました。 OpenGLの固定機能のパイプラインでは他にもAmbient成分とSpecular成分という光の成分を加えたADSシェーディングというものを使っているみたいです。 ですので、前回のDiffuse反射のプログラムをいじってAmbient成分と…

OpenGLを学ぼうと足掻く Diffuse反射の実装

Diffuse反射というものがあるらしいです。 まあ、全然よくわからないんですが、Diffuse反射には数学モデルがあるので、それに従って実装すればいいでしょう。Diffuse反射の数学的モデルでは、反射光は以下のような、ある点の法線ベクトルとその点から光源へ…

OpenGLを学ぼうと足掻く OBJファイルの表示

前回までは立方体の表示を頑張ってみましたが、今回からはOBJファイルから読み込んで表示するプログラムを作成してみようと思います。OBJファイルを読み込む関数は以下のようになるらしいです。 参考: OpenGL Programming/Modern OpenGL Tutorial Load OBJ -…

OpenGLを学ぼうと足掻く 立方体の表示

今回から前回までに作った三角形が回転するプログラムを改造して、立方体が回転するプログラムを作ろうと思います。まず頂点の情報が異なるのでそれを書き換えます。 GLfloat positionData[] = { -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, …

OpenGLを学ぼうと足掻く 三角形を回転

今回は前回作成したプログラムを改造して、三角形が回転するようにします。昔はアフィン変換をglScale*やglTranslate*やglRotate*を使って行っていたらしいですが、今は非推奨なので別の方法を使います。 前回の三角形を表示させるプログラムではアプリケー…

OpenGLを学ぼうと足掻く 三角形の表示

あぁ何もわかっていないなと。 何も知らないし、何も出来ないし。。。 無知無能な人間なんだから選り好みせずに勉強しようと最近強く思うようになってきました。ということで今日からOpenGLについて勉強してみようと思います。自分の使っているオンボロ中古P…