2013-11-28 37 views
0

我遇到了編寫程序時遇到的問題。目前我正在閱讀一個OBJ文件並正確渲染它。但我的問題是,有些圖像不適合我的窗口。JAVA OpenGL - 縮放圖像以適應窗口

我試圖使用glScalef來縮放它,但圖像仍然變形。 (幾乎總是Z)

,這裏是我如何設置我的窗口:

gl.glMatrixMode(GL.GL_PROJECTION); 
    gl.glLoadIdentity(); 
    float w = gLDrawable.getWidth(); 
    float h = gLDrawable.getHeight(); 

    if(w > h) gl.glOrtho(-1.0*(w/h), 1.0*w/h, -1.0, 1.0, -1.0, 1.0); 
    else gl.glOrtho(-1.0, 1.0, -1.0*(h/w), 1.0*h/w, -1.0, 1.0); 

這裏是我的秤嘗試

 if(m.getXVertexMax() - m.getXVertexMin() > w) gl.glScalef(w/(m.getXVertexMax() - m.getXVertexMin()), 1, 1); 
    else gl.glScalef(1/(m.getXVertexMax() - m.getXVertexMin()), 1, 1); 

    if(m.getYVertexMax() - m.getYVertexMin() > h) gl.glScalef(1, h/(m.getYVertexMax() - m.getYVertexMin()), 1); 
    else gl.glScalef(1, 1/(m.getYVertexMax() - m.getYVertexMin()), 1); 

    gl.glScalef(1, 1, (1/(m.getZVertexMax() - m.getZVertexMin()))); 

enter image description here

enter image description here

沒有母校我嘗試着,圖像總是在xo上很短r在z上非常大!

有人可以在這裏舉手嗎?感謝:-)

回答

1

如果您縮放X軸,則需要一致縮放,將Y和Z縮放相同的量。

+0

非常感謝!真的,我是OpenGL的新手,所以這可能是一個很小的問題,但你的回答讓我意識到什麼是假設的「基本」....再次感謝你! :-) – Snox