1

glReadPixels に関する複数のチュートリアルを見ましたが、混乱しています:

void glReadPixels(GLint x, GLint y, GLsizei 幅, GLsizei 高さ, GLenum 形式, GLenum 型, GLvoid * データ)

最後の引数は void ですか? チュートリアルを見たところ、引数は vector、unsigned char、GLubyte などとして宣言されていました...しかし、それは実際にはどういう意味ですか? また、glPixelStoref( , ) を呼び出す必要がありますか?

4

1 に答える 1

3

Avoid*は、「メモリ ブロックへのポインタ」を表す C/C++ です。の目的はglReadPixels、フレーム バッファの一部を取得し、そのピクセル データをメモリに書き込むことです。パラメータは、dataそれが書き込む「あなたのメモリ」です。

正確にを書き、どれだけピクセル転送パラメータに依存formatしますtype。そのため、void*;が必要です。バイトの配列、int の配列、float の配列などを書き込む可能性があるためです。すべて、これら 2 つのパラメーターの内容に依存します。

于 2013-01-13T10:10:01.877 に答える