jogamp第一课显示一个黑黑的窗口

本文指导您如何通过Jogamp框架下载并设置OpenGL环境,包括下载相关包、配置GLCanvas和启动动画线程,让您轻松入门OpenGL编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



在这之前请先到jogamp的网站上去下载相关的包

下载地址:http://jogamp.org/deployment/jogamp-current/archive/

joamp是三个项目的合并分别是joal,jocl,jogl

对应的是openal,opencl,opengl

Open Audio Library(开放音频库),Open Computing Language(开放计算语言),Open Graphics Library(开放图形库)

无论是开放这还是开放那,说到底是为了一种标准.当一种标准一量建立并由不同平台来实现时那说明这种标准得到了发展.标准[规范]也是一种力量呵呵

下载你能下到的所有包以后解开jogamp-all-platforms.7z的文件如果不能解包请下载请压缩软件7zip


package com.vsked.lesson1;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Toolkit;

import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.JFrame;

import com.jogamp.opengl.util.FPSAnimator;

public class HelloWorld {

	public static void main(String[] args) {
		//设置窗口标题就是jframe的标题
		String windowTitle="this is window title";
		//窗口宽
		int windowWidth=500;
		//窗口高
		int windowHeight=500;
		//初始化硬件环境
		GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
		//初始化画布并设置配置文件的版本注意这儿的GLProfile.是可以换成其他版本的
		GLCanvas glCanvas = new GLCanvas(new GLCapabilities(GLProfile.get(GLProfile.GL2)));
		//设置画布宽高
		glCanvas.setSize( windowWidth, windowHeight );
		//设置出错时重绘
    glCanvas.setIgnoreRepaint( true );
    //新建一个窗口并为窗口设置标题(这个窗口默认是隐藏的)    
    JFrame frame = new JFrame( windowTitle );
        //设置JFrame窗口部局
        frame.getContentPane().setLayout( new BorderLayout() );
        //将画布添加到窗口中间位置
        frame.getContentPane().add( glCanvas, BorderLayout.CENTER );
        //初始化动画线程
        FPSAnimator animator = new FPSAnimator( glCanvas, 60 );
        //获取当前屏幕尺寸
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        //设置窗口大小
        frame.setSize( frame.getContentPane().getPreferredSize() );
        //设置窗口初始化时坐标
        frame.setLocation(( screenSize.width - frame.getWidth() ) / 2 , ( screenSize.height - frame.getHeight() ) / 2 );
        //设置窗口显示
        frame.setVisible( true );
        //画布获取焦点
        glCanvas.requestFocus();
        //动画线程开启
        animator.start();

	}

}



由于代码每一行都有注解所以这里就不详细介绍了附上能运行的工程下载地址:http://download.youkuaiyun.com/detail/chousheng/7164897



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值