JOGL基元

本文概述

  • JOGL内置基元
  • Display()方法
  • 基本线示例
作为一个开放的图形库, 我们可以在JOGL中绘制不同的形状, 例如圆形, 三角形, 正方形。因此, 要绘制这些形状, Open GL提供了便于JOGL绘制2D和3D尺寸图形的图元。
OpenGL Primitive提供了各种内置参数, 可以根据这些参数绘制不同的形状。每个参数在图形中都有特定的作用。
JOGL内置基元 以下是JOGL支持的各种OpenGL内置参数:-
原始 描述
GL_LINES 它将每对顶点视为线段。
GL_LINES_STRIP 连接线段组。
GL_LINES_LOOP 将一组线段连接成一个循环, 即从头到最后, 然后再回到第一个。
GL_TRIANGLE 三重态的每个顶点表现为一个独立的三角形
GL_TRIANGLE_FAN 创建一组三角形的连接, 其中为在前两个顶点之后显示的特定顶点定义了每个三角形。
GL_TRIANGLE_STRIP 将一组三角形相互连接。
GL_QUADS 每组四个顶点的行为就像一个独立的四边形。
GL_QUAD_STRIP 将一组四边形相互连接。
GL_POLYGON 绘制单个凸多边形。
Display()方法 【JOGL基元】display()方法包含用于绘制和显示形状的代码。请按照以下步骤系统地安排代码:-
  • 最初, 使用display()方法作为参数传递GLAutoDrawable接口的对象。
public void display(GLAutoDrawable drawable)

  • 生成GL2接口的对象。
final GL2 gl = drawable.getGL().getGL2();

  • 将该对象与glBegin()方法相关联, 并传递所需的原语类型作为其参数。
gl.glBegin (GL2.GL_LINES);

在这里, 我们提供GL_LINES原语。
  • 现在, 使用glVeretex2d()方法绑定GL2对象, 并传递特定的坐标。
gl.glVertex2d(-0.60, 0.10); gl.glVertex2d(0.60, 0.10);

  • 通过调用glEnd()方法结束该行。
gl.glEnd();

基本线示例 在此示例中, 我们将学习如何使用基元绘制一条简单的线。
BasicLine.java
package com.srcmini.jogl; import javax.media.opengl.*; import javax.media.opengl.awt.GLCanvas; import javax.swing.JFrame; public class BasicLine implements GLEventListener { @Overridepublic void init(GLAutoDrawable arg0) {}@Overridepublic void display(GLAutoDrawable drawable) {final GL2 gl = drawable.getGL().getGL2(); gl.glBegin (GL2.GL_LINES); gl.glVertex2d(-0.60, 0.10); gl.glVertex2d(0.60, 0.10); gl.glEnd(); }@Overridepublic void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4) { }@Overridepublic void dispose(GLAutoDrawable arg0) {}public static void main(String[] args) {final GLProfile gp = GLProfile.get(GLProfile.GL2); GLCapabilities cap = new GLCapabilities(gp); final GLCanvas gc = new GLCanvas(cap); BasicLine bl = new BasicLine(); gc.addGLEventListener(bl); gc.setSize(400, 400); final JFrame frame = new JFrame ("JOGL Line"); frame.add(gc); frame.setSize(500, 400); frame.setVisible(true); } }

输出:
JOGL基元

文章图片

    推荐阅读