OpenGLについて、下記のようなコードで画像の表示を行おうと思ったとき
頂点色rgbaを0~255間(もしくは0~1.0)で変化させるだけでは画像の明るさを表しきれないので(画像を白っぽくしたい)、ここに明度の設定を追加しようと考えています。
現在、
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, nowimage);
glVertexPointer(2, GL_FLOAT, 0, vertexpoints);// 頂点の位置を設定
glEnableClientState(GL_VERTEX_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, texcoords);// 画像の使用範囲を設定
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, vertexcolors);// 頂点色を設定
glEnableClientState(GL_COLOR_ARRAY);
glDrawArrays( GL_TRIANGLES, 0, 6*g_perticlecount);// 6つの頂点をg_perticlecount分だけ描画
/*ここからは憶測*/
glColorPointer(4, GL_FLOAT, 0, vertexluminance);// 同じように頂点輝度も設定できる?
glEnableClientState(GL_LUMINANCE_ALPHA);
↓のようにしたいと考えています。
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, nowimage);
glVertexPointer(2, GL_FLOAT, 0, vertexpoints);// 頂点の位置を設定
glEnableClientState(GL_VERTEX_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, texcoords);// 画像の使用範囲を設定
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, vertexcolors);// 頂点色を設定(下記明度の設定を加えると上書きされるようで今回この部分に意味はない)
glEnableClientState(GL_COLOR_ARRAY);
/*明度設定の憶測*/
glColorPointer(4, GL_FLOAT, 0, vertexluminance);// 同じように頂点輝度も設定できる?(vertexluminanceの値は全て1.0f)
glEnableClientState(GL_LUMINANCE_ALPHA);
glDrawArrays( GL_TRIANGLES, 0, 6*g_perticlecount);// 6つの頂点をg_perticlecount分だけ描画
以上になりますが、問題点がありましたら助言をいただけると助かります。
それでは乱文にて恐縮ですが宜しくお願いいたします。