2

ドキュメントを読むと、 glGetTexImage2d() 関数に「タイプ」パラメーターがあることがわかります。ドキュメントには、タイプパラメータが「ピクセルデータのデータタイプを指定する」と書かれており、GL_INT、GL_BYTEなどのタイプの例がいくつか示されています.

しかし、画像フォーマットが GL_RGBA と GL_INT の場合、正確にはどういう意味ですか? 各チャネルのintですか?または色全体のint?そして、それが色全体の int である場合、それは本当に GL_BYTE と同じではありませんか? int には 4 バイトがあり、各チャネルをそれぞれ 1 バイトにするため

4

2 に答える 2

4

typeパラメーターは、OpenGL に送信するバッファー内のデータの有効な型を指定します。

width * height * internalformatここでの目的は、OpenGL がバッファ内を歩き回り、存在する要素の数 ( ) とそのサイズと解釈 ( )を知りたいことですtype

たとえば、赤/緑/青/アルファ チャネルを (この順序で) 含む unsigned int の配列を提供する場合は、次のように指定する必要があります。

  • target:GL_TEXTURE_2D
  • level: 0 (ミップマップを使用する場合を除く)
  • internalformat: 赤、緑、青、アルファがあるため 4
  • width: 640
  • height:480
  • border: 0
  • internal format: GL_RGBA は、opengl にチャネルの順序とその意味を伝えます
  • type:GL_UNSIGNED_INT配列内の要素のタイプを opengl に知らせます
  • pixels: 配列へのポインタ
于 2009-10-09T11:49:30.623 に答える
4

これは、チャネルごとの int です。RGBA は、指定したデータ配列に各ピクセルが R、G、B、および A の int (int に設定した場合) を持つことを意味します。RBGA (存在する場合は不明) も 4 つの int を意味しますが、順序が異なります。RGB は 3 つだけを意味します (アルファ チャネルなし)。

于 2009-10-09T12:10:27.880 に答える