2011-11-10 20 views
1

実際に私はキューブを描画していますが、キューブの回転の問題をチェックしていますが、このためには画面の0,0、-1のOpenGL座標にポイントを描画する必要があります。 MyGLSurfaceView and android 1.5 opengl 1.xどうすれば画面の0,0、-1のOpenGL座標に黒点を描くことができますか?

どのように画面の0,0、-1のOpenGL座標に黒または白の点を描くことができますか?

答えて

2

ウィンドウスペースで直接描画したい場合は、モデルビューと投影に恒等行列を一時的にロードし、必要な場所にGL_POINTを描画するのが最も簡単です。だからそれは次のようなものになります:

glMatrixMode(GL_MODELVIEW); 
glPushMatrix(); 
glLoadIdentity(); 

glMatrixMode(GL_PROJECTION); 
glPushMatrix(); 
glLoadIdentity(); 

// draw the point here; specifics depending on whether you 
// favour VBOs, VBAs, etc 

// e.g. (assuming you don't have any client state enabled 
// on entry and don't care about leaving the vertex array 
// enabled on exit) 
GLfloat vertexLocation[] = {0.0f, 0.0f, -1.0f}; 

glColor4f(0.0f, 0.0f, 0.0f, 1.0f); 
glEnableClientState(GL_VERTEX_ARRAY); 
glVertexPointer(3, GL_FLOAT, 0, vertexLocation); 

glDrawArrays(GL_POINTS, 0, 1); 

// end of example to plot a GL_POINT 

glPopMatrix(); 

glMatrixMode(GL_MODELVIEW); 
glPopMatrix(); 

// and possibly restore yourself to some other matrix mode 
// if, atypically, the rest of your code doesn't assume modelview 
+0

私は0,0、-1でポイントを描く方法を知らないので、それを行うコードを追加できますか? – NullPointerException

+0

私はいくつかのコードを追加しましたが、あなたの質問を再読み込みする際に、私があなたが求めていたものを誤解しているかもしれないと思います。あなたは、カメラを持っていて移動した場合、またはそれが目の空間に直接存在したい場合に影響を受ける3D世界の位置に(0、0、-1)をしますか? – Tommy

+0

GLfloatは終了しません。アンドロイド:S何を使うべきですか? – NullPointerException

関連する問題