簡體   English   中英

為OpenGL ES設置ViewPort-Android

[英]Setting Up ViewPort for OpenGL ES - Android

我有一個正試圖繪制的OpenGL ES對象。 該對象的頂點值相當大,x和y坐標在-30,000和+30,000之間。 z值在2000到-2000之間。

有人可以建議我如何設置視口嗎? 我正在使用以下代碼:

public void onSurfaceChanged(GL10 gl, int width, int height) {
    //Define the view frustrum
    gl.glViewport(0, 0, width, height);
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glLoadIdentity();
    float ratio = (float)width/height;
    GLU.gluPerspective(gl, 45.0f, ratio, 1, 100f);
}

public void onDrawFrame (GL10 gl) {
    // Clear the screen to black.
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    //Position the model.
    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glLoadIdentity();
    gl.glTranslatef(0.0f, 0.0f, 0.0f);
    //gl.glScalef(0.000015f,0.000015f,0.000015f);

這樣可以編譯,但是我根本看不到我的對象。

謝謝。

您可能看不到它,因為相機位於對象內部。 也許先嘗試將其縮放0.001,以將其縮小到大約60個單位,然后將其在z方向上平移-50(以使其達到z范圍的中間),然后查看它是否出現。

另外,您也可以擴大z范圍,並在z方向上平移-50,000單位以將對象從相機移回。 您必須將znear / zfar調整為更大。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM