📜  JOGL缩放

📅  最后修改于: 2021-01-05 00:39:18             🧑  作者: Mango

JOGL缩放

在JOGL中,缩放用于增加或减小对象的大小。它操纵对象的物理尺寸。因此,通过缩放,可以从对象的任何轴拉伸或收缩对象。

要缩放对象,请使用以下语法:

glScalef(float a, float b, float c)

此处,GLMatrixFunc接口提供的glScalef()方法具有代表尺寸的参数。

JOGL缩放示例

在此示例中,我们将减小多边形的尺寸。

package com.javatpoint.jogl;

    import javax.media.opengl.*;
    import javax.media.opengl.awt.GLCanvas; 

    import javax.swing.JFrame;
    
    public class JScaling implements GLEventListener {
    
       @Override 
        
    public void display( GLAutoDrawable drawable ) { 
    
    final GL2 gl = drawable.getGL().getGL2(); 
    
    gl.glScalef( 0.40f,0.30f,0.40f ); 
    
        gl.glBegin(GL2.GL_QUADS);
        
        gl.glVertex3f( 0.0f,0.5f,0);
        gl.glVertex3f(-0.5f,0f,0);
        gl.glVertex3f(0f,-0.5f,0);
        gl.glVertex3f(0.5f,0f,0);
        
        gl.glEnd();

       }
    
       @Override 
    public void dispose( GLAutoDrawable arg0 ) { 
       } 
    
       @Override 
    public void init( GLAutoDrawable arg0 ) { 
       } 
    
       @Override 
    public void reshape( GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4 ) { 
       }
    
    public static void main( String[] args ) {   
    
        final GLProfile gp = GLProfile.get(GLProfile.GL2);
        GLCapabilities cap = new GLCapabilities(gp);
        
        final GLCanvas gc = new GLCanvas(cap);
        JScaling js= new JScaling();
        gc.addGLEventListener(js);
        gc.setSize(400, 400);
        
        final JFrame frame = new JFrame("After Scaling");
        frame.add(gc);
        frame.setSize(500,400);
        frame.setVisible(true);  
       } 
        
    }

输出: