私は次のレンダリングパスで結果をテクスチャとして使用できるように、FrameBufferObjectにレンダーパスを行っています。チュートリアルを見て、私が呼び出す必要があります:mWidthとmHeightはフレームバッファオブジェクトの幅と高さOpenGL FrameBufferとglViewport
glBindFramebuffer(GL_TEXTURE2D, mFrameBufferObjectID);
glViewport(0, 0, mWidth, mHeight);
。このglViewport呼び出しがなければ、何も正しく描画されません。どのような奇妙なのは、次のフレームの開始時に、私が呼び出す必要がある:私は窓の私の前の幅/高さに戻ることができ
glViewport(0, 0, window_width, window_height);
ように。それを呼び出すことは、元のウィンドウサイズの半分で私のものをレンダリングするように見える。だから、物理的に見ると、私の画面の四分の一だけがレンダリングされます(すべてのシーンが表示されます)。私はブレークポイントを入れて、幅と高さの値を見てみました、彼らは元の値(1024,640)です。なぜこうなった?私はそれらを倍増させて、それは正しく私のウィンドウ全体を描画します。
私はxcodeとglewでMacでこれをやっています。
のこのリンクを参照してください。 – ybungalobill
これは網膜スクリーンを備えたMacですか?論理ピクセルの解像度と画面上の実際の物理ピクセルの解像度が混在している可能性があります。または、正しい用語が何であれ... –
はい、私はMacのxcodeでこれを使用しています。 – ChaoSXDemon