いいえ。だから、私はC++で書かれたファイルを使いたいと思っていました。私はcでコードを実行し、全く問題はなかった。OpenGLに関する問題とCをC++に変換するプロセス
私はCを知らないので、しばらくの間、いくつかの変換ソフトウェアで作業しましたが、それは効果がありませんでした(コーディングフォーマットが必要なスタイルではないと推測していました)。私はそれを自分自身で試してみることにしました。私がしなければならなかったのは、いくつかのmallocステートメントを新しいステートメントに変更し、freeをdeleteに置き換えることでした。だから、私はプログラムを実行し、機能のほとんどが正常に動作しているようだが、これは私にトラブルを与える。私は含ま
glutReshapeWindow(ImageWidth,ImageLength);
glClear(GL_COLOR_BUFFER_BIT);//these
glRasterPos2i(0, 0);//three
glDrawPixels(ImageWidth, ImageLength, GL_RGB,
GL_UNSIGNED_BYTE, ImageData);//statements are the ones giving me the error
:
私は(私はTIFF形式の画像データを読み込み、画面上に表示しています)私はこれらの特定のステートメントでの問題に実行する新しいイメージの表示を更新しようとしていますコードブロック内の最初のステートメントは、OpenGlコールのどのような種類のものも直ちに吹き飛ばさないことを示しています。
私は、これは一種の漠然としたかもしれないが、何がこのエラーのいくつかの一般的な原因かもしれない知っている
Cannot access memory at address 0xfbad248c
Cannot access memory at address 0xfbad248c
Cannot access memory at address 0xaabbeeaa
の線に沿ってエラーを得続けますか?これはcで動作しましたが、C++へのクイックスイッチでこのエラーが発生した可能性がありますか?
これ以上の情報が必要な場合はお知らせください。
さてさて、私は本当に私は信じている標準のOpenGLライブラリを(これはクラスのためであると私はインストラクターによるライブラリファイルを与えられた)を使用していませんよ。私はコードを持っています
#include <GL/glut.h>
私の#includeとして。これらのライブラリは、単に私のC++プロジェクトにコピーして貼り付けただけで、cファイルにあるものとまったく同じです。 (私はまた別のC++プロジェクトで限定的な方法でそれらを扱ってきました)。その場合、私はファイルシステム "OPENGL32.DLL"と "GLU32.DLL"をチェックしていませんでした。
私はおそらくこれらの追加の詳細を含める必要があります。
実際の入力ループが呼び出される前に、init()メソッドは、プログラムの開始時に呼び出されます。
void
init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_FLAT);
makeCheckImage();
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
}
このメソッドは、正常に動作するようです(単純なチェッカーボードパターンは、この関数呼び出しの直後に作成されます)。これらのOpenGLファイルの種類( "OPENGL32.DLL"または "GLU32.DLL")はわかりませんが、うまくいけば、少し問題を絞り込むことができます。
ImageData行については、ImageDataオブジェクトが壊れているとか、並べ替えの原因とは思われません。なぜなら、あなたが話していた理由と、最初のコードブロックのコードがエラーの原因は)のような他のブロック内にある:
if (ImageData == NULL) {/*code*/}
else{/*this is where the error code is*/}
あなたはそれだ場合だけのもので、このスレッドを乱雑にしたくない(それが参考になると思われる場合、私はメイクファイルに情報を投稿することができますない)。
私は編集で回答しました。 – Chad
「間違ったバイト数」 これはまさに正しいことです。かなり恥ずかしい。私は大いに助けに感謝します。私は神がアーカイブされたOpenGLエラーをどのくらい見ているのかを知るためにサークルで走っていたでしょう。 – Chad