2012-03-24 3 views
1

私が知っていることから、OpenGLについてのすべてが3.1以降に変更されましたが、レンダリングコンテキストのサイズを変更する方法を理解できません。(OpenGL 3.1 - 4.2)オブジェクトはすべての画面スペースを占めます

float positionData[] = { -0.8f, -0.8f, 0.0f, 
          0.8f, -0.8f, 0.0f, 
          0.0f, 0.8f, 0.0f }; 

これを修正できる設定はありますか?あるいは、シェーダ自体に数学を組み込む必要があります。

OpenGL pretends the window is actually 2.0f by 2.0f

答えて

3

あなたは、レンダリングコンテキストを(それがそうしても意味がありません)サイズは変更されませんが、ビューポートのサイズを変更することができます。 glViewportや友人のような機能を使用してください - あなたはコアプロファイル仕様でそれらについて読むことができます。

「カメラ」を動かしている場合は、マトリックスを作成してシェーダーに渡す必要があります。これを行う方法を説明するチュートリアルがたくさんあります。

+0

彼が言ったこと。また、あらかじめ定義された固定関数行列の代わりに、柔軟性を高めるためにすべてを自分自身で定義することは期待できません。さらに、http://stackoverflow.com/a/9793178/524368も参照してください。 – datenwolf

関連する問題