JOGL类

2024 年 8 月 29 日 | 阅读 2 分钟

在本节中,我们将学习 JOGL 提供的类。 通过这些类,我们可以在 Java 代码中添加 OpenGL 的功能。

以下是 JOGL 提供的重要的类: -

  • GLCanvas 类
  • GLJPanel 类
  • GLProfile 类
  • GLCapabilities 类
  • GLCanvas 和 GLJPanel 类是 GUI 类,它们实现了 GLAutoDrawable 接口,并用作 Open GL 命令的绘图表面。

GLCanvas 类

  • GLCanvas 类是一个重量级的 AWT 组件,位于 javax.media.opengl.awt 包中。
  • 它扩展了 Canvas 类的功能,并提供 OpenGL 渲染支持。
  • 作为 AWT 组件,与 Swing 相比,GLCanvas 与 AWT 的兼容性更好。
  • 由于硬件加速,它会快速执行 OpenGL 操作。

GLCanvas 构造函数

构造函数描述
GLCanvas()它通过在默认屏幕设备上使用默认的 OpenGL 功能机制,创建一个具有默认 OpenGL 功能集的新的 GLCanvas 组件。
GLCanvas(GLCapabilities cap)它通过在默认屏幕设备上使用默认的 OpenGL 功能机制,创建一个具有请求的 OpenGL 功能集的新的 GLCanvas 组件。

GLCanvas 方法

方法描述
void addGLEventListener(GLEventListener listener)它将 GLEventListener 添加到此可绘制对象。
void display()它会导致 OpenGL 渲染 GLAutoDrawable 接口。
void removeGLEventListener(GLEventListener listener)它从此可绘制对象中删除 GLEventListener。

GLJPanel 类

  • GLCanvas 类是一个轻量级的 Swing 组件,位于 javax.media.opengl.awt 包中。
  • 它扩展了 JPanel 接口并提供 OpenGL 渲染支持。
  • 它使用通过 pbuffers 的硬件加速渲染。 由于 pbuffer 无法调整大小,因此有时在调整大小操作期间可能会出现问题。

GLCanvas 构造函数

构造函数描述
GLJPanel()它通过在默认屏幕设备上使用默认的 OpenGL 功能机制,创建一个具有默认 OpenGL 功能集的新 GLJPanel 组件。
GLJPanel (GLCapabilities cap)它通过在默认屏幕设备上使用默认的 OpenGL 功能机制,创建一个具有请求的 OpenGL 功能集的新 GLJPanel 组件。

GLCanvas 构造函数

方法描述
void addGLEventListener(GLEventListener listener)它将 GLEventListener 添加到此可绘制对象。
void display()它会导致 OpenGL 渲染 GLAutoDrawable 接口。
void removeGLEventListener(GLEventListener listener)它从此可绘制对象中删除 GLEventListener。

GLProfile 类

OpenGL 接口(如 GL2、GL3、GL4)包含特定版本的所有核心方法。 GLProfile 类的作用是根据所需版本指定特定的 OpenGL 接口。

GLProfile 方法

方法描述
GLProfile get(String profile)它用于返回 GLProfile 的对象。
boolean isGL3()它用于指示配置文件是否支持 GL2。
boolean isGL3()它用于指示配置文件是否支持 GL3。

GLCapibilities 类

GLCapibilities 类用于指定 OpenGL 的功能,例如 OpenGL 配置文件、颜色深度等。 GLProfile 类的对象作为参数传递给此类。

GLCapibilities 方法

方法描述
GLProfilegetGLProfile()它用于返回所需的 GLProfile。
booleanisStereo()它用于指示立体声是否已启用或禁用

下一个主题JOGL 基本框架