diffuseについて

Directional Light、つまりglLightParameterfvなんかにGL_POSITIONで渡す配列の4番目が0.0だった場合のライティングのDiffuse。面あるいは点の位置からみた光源の方向と、面の向きあるいは点の向きとしての法線ベクトルの方向とが一致するとDiffuse色が100%…

osxでcl-opengl

sbclの場合です。http://www.cliki.net/cl-opengl に色々書いてあるのですが、http://shviller.com/cl-opengl.tar.gz を使えば動きました。cffiが必要なのでインストールしといて (require 'asdf) (require 'asdf-install) (asdf-install:install 'cffi) cl-…

gl_NormalMatrix

ES2.0での組み込みUniformの少なさで困ることが時々あります。 特にmat3型のgl_NormalMatrixは、ライティングで必要な行列です。ES1.1仕様書PDFの、es_full_spec_1.1.12の34ページに記述があり、 ページの一番したの注釈には以下のようにあります。 Here, no…

デプス値を表示するシェーダー

ES2.0の場合です。VertexShader precision highp float; uniform mat4 u_mvp; attribute vec4 a_vertex; void main() { gl_Position = u_mvp * a_vertex; } FragmentShader precision highp float; void main (void) { float depth = gl_FragCoord.z; gl_Fra…

シェーダーの行列の各要素

GLSLの行列型、mat2、mat3、mat4、matmxn への要素アクセスについてメモmat4 a_mat -> 4x4行列の場合。 a_mat[0] -> 行列の1列目部分のvec4が取れます。 a_mat[0][1] -> 行列の1列目部分のvec4の2番目のfloatが取れます。GLの行列はcolumn majorなので、 …

コピペ用シェーダーローダー

const char *vsource = [[NSString stringWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"test" ofType:@"vsh"] encoding:NSUTF8StringEncoding error:NULL] UTF8String]; const char *fsource = [[NSString stringWithContentsOfFile: [[NS…

デプスバッファを追加する

デプスバッファをレンダリングバッファに追加するコードのなくなってしまった、 今の(iPhoneSDK3.1.3)で、レンダリングバッファにデプスバッファを追加する方法です。ES1Render.h又はES2Render.hあるいは両方のクラスのメンバ変数として以下を足す。GLuint…

iPhoneのES2.0でちょっとつまずいたこと。

gl_PointSizeが未設定のまま、GL_POINTSを描画すると、実機ハングします。

PureData VanillaをMacOSX10.6でコンパイルしてみる

10.6でPureDataが一発でコンパイルできなかったので、いろいろ四苦八苦したまとめです。10.6でコンパイルする場合、そのままコンパイルすると10.6SDKでのコンパイルになると思います。他に10.5SDKが入っており、Xcodeのインストールオプション次第では10.4SD…

はじめてみました。

色々メモなどしていこうかと。