10

OpenGLの学習を始めたばかりです。イメージと質感に戸惑いました。

  • 2D シーンをシェーディングするためだけに使用されるイメージです。頂点とテクスチャを使用して 3D シーンでシーンをシェーディングしますか? (本書の操作手順でいうと、OpenGL Programming Guideまず頂点データと画像データを用意します。画像データをテクスチャとして使用するかどうかを指定します。テクスチャとして使用しない場合は、シーンの背景のみを使用できます。right?)
  • テクスチャ操作は画像操作よりも高速です。
4

2 に答える 2

5

OpenGL に関して言えば、イメージは RAM 内のピクセル データの配列です。たとえば、標準の C 関数を使用して RAM に smiley.tga をロードできます。これは画像になります。テクスチャは、画像データが OpenGL によってビデオ メモリにロードされるときです。これは次のように行うことができます。

GLuint *texID;
glGenTextures(1, (GLuint*)&texID);
glBindTexture(GL_TEXTURE_2D, texID);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, imagedata);

画像がビデオ メモリにロードされた後、RAM 内の元の画像データを free() できます。テクスチャが OpenGL で使用できるようになりました。

于 2012-12-17T06:46:59.307 に答える