私のOpenGLプログラムでは、すべてをメモリにレンダリングしたいと思います。私はウィンドウ/スクリーンにデータをレンダリングしたくありません。フレームバッファを作成しました。次は、そのフレームバッファに3Dモデルをレンダリングします。フレームバッファへのレンダリングモデル
モデルの読み込みを処理するAssimpライブラリをダウンロードしました。私はこれでどうやって作業するのか分かりません。すべてをウィンドウに直接描画すると思われますか?
私が今やりたいことは、そのモデルをロードしてフレームバッファに描画することだけです。それは基本的にすべてです。
これを簡単に行う方法に関するヒントやアドバイスはありますか?別のライブラリのヒント(これは私のニーズに合っているかもしれません)も歓迎します。私は私のフレームバッファに描画したい
私のコード、:
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo); // Bind our frame buffer for rendering
glPushAttrib(GL_VIEWPORT_BIT | GL_ENABLE_BIT); // Push our glEnable and glViewport states
glViewport(0, 0, window_width, window_height); // Set the size of the frame buffer view port
glClearColor (0.0f, 1.0f, 0.0f, 1.0f); // Set the clear colour
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear the depth and colour buffers
glLoadIdentity(); // Reset the modelview matrix
// RENDER 3D MODEL HERE....
// TEAPOT AS EXAMPLE
glTranslatef(0.0f, 0.0f, -5.0f); // Translate back 5 units
glRotatef(rotation_degree, 1.0f, 1.0f, 0.0f); // Rotate according to our rotation_degree value
//glFrontFace(GL_CW);
glutSolidTeapot(1.0f); // Render a teapot
//glFrontFace(GL_CCW);
int r = glGetError();
int s = glCheckFramebufferStatus(GL_FRAMEBUFFER);
glPopAttrib(); // Restore our glEnable and glViewport states
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); // Unbind our texture
ありがとう、私は自分のコードに追加しました。私はティーポットをレンダリングしようとしている私のポストにコードの小さなスニペットを追加しました。しかし、glGetErrorは私に1282を与えました。フレームバッファステータスはOKです。なぜ私はglerrorを得ているのか調べなければならないだろう。 – w00