2012-04-29 14 views
1

立方体の荷重を描く必要があり、黒いストロークで白くしたいと思います。現時点では、これらのすべてのキューブをVBOに格納しています。これらのキューブをワイヤフレームで描画し、アウトラインなしで入力することができます。ストロークでキューブを描いてOpenGLで塗りつぶし

私はthis imageの左の画像のように描きたいと思います。カメラに向いている面にしか描かれていません。

私はOpenGLを使用しています。

+1

OpenGLには「塗りつぶし」と「ストローク」という概念はありません。 –

答えて

1

あなたがしたいものはremove hidden linesです。

あなたが削除隠された線でワイヤーフレームオブジェクトを描画する場合、1つのアプローチは、回線を使用して輪郭を描き、その後、ポリゴンが背景色を持つ表面を構成する多角形の内部を満たすことです。

0

あなたはglEnable(GL_CULL_FACE)する必要があります。自動的に適用されない三角形の後面カリングを取得するために使用されます。あなたの三角形の「巻き線の順序」はもちろん(時計回りまたは反時計回り)一貫しています。逆方向に巻かれている場合は、OpenGLにglFrontFrace(GL_CW | GL_CCW)で使用する方向と、glCullFace(GL_BACK | GL_FRONT)で前面または背面に向かう三角形をかけるかどうかを指定できます。

+0

あなたの答えはありがたいですが、私は数多くのキューブをお互いに持っていますので、正面が立方体であり、その正面にある別の立方体の背面に面しているので、後面を削ることは実際には機能しません。その場合、リアキューブの前部も同様にカリングする必要があります...もしそれが意味をなさなければ。 –

+0

あなたがそれらを塗り潰している場合(白い塗り潰しの塗りつぶし、フレームの輪郭を描いて、あなたがやっていると仮定したものです)、深度バッファは正常な動作をします。そうでない場合、OpenGLでこれを行う方法はありません。 CPU上で線を互いにクリップする必要があります。 – Robinson

関連する問題