1
誰でもこのコードの何が間違っているのを見ることができますか?malloc()およびglDrawPixels()によるアクセス違反ですか?
大きなビットマップイメージ(3366x600)を描画しようとしているため、SIZE_BGは6MBです。私はmallocを使って画像がスタックからオーバーフローするのを防ぎます。 glDrawPixels()の呼び出しでアクセス違反エラーが発生します。 bgPtrは、glDrawPixelsを呼び出す前に最初の数バイトをチェックしているので、正しいデータを指しているようです。
bgPtr = (char*)malloc(SIZE_BG);
fstream inFile(texFileName, ios::in | ios::binary);
inFile.read(bgPtr, SIZE_BG);
inFile.close();
//... other code
glDrawPixels(3366, 600, GL_BGRA_EXT, GL_UNSIGNED_BYTE, bgPtr+54);
非常に真です。ありがとう! –
@sharptooth:リビジョンコメントが破棄されているようですが、今どこで編集しているのか分かります – Shog9