0

書いているプログラムに問題があります。現在、OBJ ファイルを読み込んで正しくレンダリングしています。しかし、私の問題は、一部の画像がウィンドウに収まらないことです。

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())));

ここに画像の説明を入力

ここに画像の説明を入力

私が何をしようとしても、画像は常にxで短いか、zで非常に大きいです!

誰かここで手を貸してくれませんか? ありがとう :-)

4

1 に答える 1

1

X 軸をスケーリングする場合は、Y 軸と Z 軸を同じ量だけスケーリングします。

于 2013-11-28T14:09:04.777 に答える