NeHeのチュートリアルを行っていますが、バンプマッピングに関して問題が発生しています。これまで、SOILライブラリを使用して画像ファイルをOpenGLにロードしてきました。これはうまく機能します。ただし、バンプマッピングのチュートリアルでは、画像データへのポインタを使用して、画像の色をピクセルごとに変更します。私の知る限り、SOILライブラリではこれを行うことはできません。グラウが非推奨になった今、この影響を与える良い方法はありますか?どうやら私たちはアルファチャンネルをピクセルカラーの赤成分の値に設定しようとしています。別の注意点として、c ++はバイトとcharの違いを気にしないので(同じサイズですよね?)、これらをchar配列にロードしていますか、それとも私がこれに欠けているものが他にありますか?
// Load The Logo-Bitmaps
if (Image=auxDIBImageLoad("Data/OpenGL_ALPHA.bmp")) {
alpha=new char[4*Image->sizeX*Image->sizeY];
// Create Memory For RGBA8-Texture
for (int a=0; a<Image->sizeX*Image->sizeY; a++)
alpha[4*a+3]=Image->data[a*3]; // Pick Only Red Value As Alpha!
if (!(Image=auxDIBImageLoad("Data/OpenGL.bmp"))) status=false;
for (a=0; a<Image->sizeX*Image->sizeY; a++) {
alpha[4*a]=Image->data[a*3]; // R
alpha[4*a+1]=Image->data[a*3+1]; // G
alpha[4*a+2]=Image->data[a*3+2]; // B
}