2012-01-24 2 views
0

私は今学期のコンピュータグラフィックスコースを大学でやっています。私たちの最初の任務は、Microsoftのペイントとよく似たプログラムを作ることです。色、サイズ、透明度の異なる図形で描画するためのオプションを設定する必要があります。"paint"プログラムで働くOpenGL初心者

マウスドラッグで特定の図形を描画する方法をプログラムする方法に関する情報を見つけるのに問題があります。私はコードで解決策を求めるのではなく、これを達成する可能性のある関数をどこで調べるべきかについての指針を求めています。

私はOpenGLに完全に新しいですが(C++ではありません)&私は "OpenGLでコンピュータグラフィックス"を所有しています。 Hearn & Baker。トピックのいずれもこの機能を示唆していません。

+0

「マウスを使用して特定の位置に異なる形を配置する」のように描画しますか?あるいは、「さまざまな形をブラシとして使用し、おそらくトレイルを作成する」のように? – Bart

+0

トレイルを残すブラシとしてさまざまな形を使用します。 – Nibirue

+0

クロスプラットフォームのライブラリ( 'GLUT')を使用してウィンドウ上でマウスイベントを受け取り、特定の位置でマウスボタンが押されている間に一定の間隔で新しいシェイプを追加することができます。最も効率的なソリューションではありませんが、最初に私の心に来て、あなたが画面上に膨大な数の形を持っていない限り、それほど醜いわけではありません。 –

答えて

1

おそらく、単一のバッファウィンドウを作成したり、フロントバッファで描画するように切り替えたり、マウスポインタの位置にボタンを押して(ドラッグして)途中でフロントバッファをクリアしなくても、 。追加された丈夫さは、テクスチャ付きのフレームバッファオブジェクトに描画するので、ウィンドウをドラッグするとユーザの描画が固定されることはありません。

キーワード:ビューポートをウィンドウサイズに設定します。ウィンドウ境界への正射影、glClearを使用しないでください(画像のリセットは除く)。