资源简介
基于java的opengl计算机图形学学习资料源码,包含各种小例子,如机器人,3D模型,镜面等,深入浅出,适合初学者学习
代码片段和文件信息
package A1;
import com.sun.opengl.util.Animator;
import java.awt.Color;
import java.awt.frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLEventListener;
/**
* A class to demonstrate a simple JOGL-powered button class and scene alternation.
* Please READ the code LEARN underlying techniques and APPLY them to your work of Assignment 1.
*
* DO NOT BLINDLY COPY AND PASTE THE SAMPLE CODE!!
*
* @author Johnny Chien
*/
public class A1 implements GLEventListener {
SimpleButton button;
Renderables day;
Renderables night;
public static void main(String[] args) {
frame frame = new frame(“Button DEMO for A1“);
GLCanvas canvas = new GLCanvas();
canvas.addGLEventListener(new A1());
frame.add(canvas);
frame.setSize(640 640);
final Animator animator = new Animator(canvas);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
new Thread(new Runnable() {
public void run() {
animator.stop();
System.exit(0);
}
}).start();
}
});
frame.setLocationRelativeTo(null);
frame.setVisible(true);
animator.start();
}
public void init(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
gl.setSwapInterval(1);
gl.glClearColor(0.0f 0.0f 0.0f 0.0f);
gl.glShadeModel(GL.GL_SMOOTH);
button = new SimpleButton();
drawable.addMouseListener(button);
// compose the Day scene
day = new Renderables();
day.Add(new GradientSky(Color.BLUE Color.CYAN));
// compose the Night scene
night = new Renderables();
night.Add(new GradientSky(Color.BLACK Color.GRAY));
// WARNING: Doing scene composition like this hazards your code readability.
// It will be a mess as you put more and more objects into the scene.
// Leave these to each subclass‘s constructor!!
}
public void reshape(GLAutoDrawable drawable int x int y int width int height) {
GL gl = drawable.getGL();
button.UpdateCanvasSize(width height); // tell buttons the new dimensions of the canvas
}
public void display(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
if (button.IsChecked()) {
day.Render(gl);
} else {
night.Render(gl);
}
button.Render(gl);
// Flush all d
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 332 2016-04-15 10:26 opengl\opengl\.classpath
文件 378 2016-04-15 10:21 opengl\opengl\.project
文件 749 2016-12-24 10:41 opengl\opengl\bin\A1\A1$1$1.class
文件 807 2016-12-24 10:41 opengl\opengl\bin\A1\A1$1.class
文件 3144 2016-12-24 10:41 opengl\opengl\bin\A1\A1.class
文件 957 2016-12-24 10:41 opengl\opengl\bin\A1\GradientSky.class
文件 150 2016-12-24 10:41 opengl\opengl\bin\A1\Renderable.class
文件 1030 2016-12-24 10:41 opengl\opengl\bin\A1\Renderables.class
文件 3100 2016-12-24 10:41 opengl\opengl\bin\A1\SimpleButton.class
文件 818 2016-12-24 10:41 opengl\opengl\bin\A2\Heli16Flight$1$1.class
文件 876 2016-12-24 10:41 opengl\opengl\bin\A2\Heli16Flight$1.class
文件 2921 2016-12-24 10:41 opengl\opengl\bin\A2\Heli16Flight.class
文件 1177 2016-12-24 10:41 opengl\opengl\bin\A2\Scene\Camera.class
文件 2157 2016-12-24 10:41 opengl\opengl\bin\A2\Scene\Lighting.class
文件 1053 2016-12-24 10:41 opengl\opengl\bin\autumnground.class
文件 1336 2016-12-24 10:41 opengl\opengl\bin\ForestSystem.class
文件 1035 2016-12-24 10:41 opengl\opengl\bin\ground.class
文件 2310 2016-12-24 10:41 opengl\opengl\bin\human.class
文件 923 2016-12-24 10:41 opengl\opengl\bin\Particle.class
文件 2400 2016-12-24 10:41 opengl\opengl\bin\ParticleSystem.class
文件 3092 2016-12-24 10:41 opengl\opengl\bin\plane.class
文件 1277 2016-12-24 10:41 opengl\opengl\bin\ratatedflower.class
文件 1461 2016-12-24 10:41 opengl\opengl\bin\season$1.class
文件 1305 2016-12-24 10:41 opengl\opengl\bin\season$2.class
文件 758 2016-12-24 10:41 opengl\opengl\bin\season$3$1.class
文件 816 2016-12-24 10:41 opengl\opengl\bin\season$3.class
文件 7375 2016-12-24 10:41 opengl\opengl\bin\season.class
文件 2989 2016-12-24 10:41 opengl\opengl\bin\snowman.class
文件 2053 2016-12-24 10:41 opengl\opengl\bin\SoundPla
文件 1747 2016-12-24 10:41 opengl\opengl\bin\sun.class
............此处省略548个文件信息
相关资源
- thinking in java 英文版
- JAVA JDK6学习笔记 林信良 良葛格 含
- 时钟日历java
- JavaEE简单的论坛源码太简单,无留言
-
JAVA(jsp+servlet+ja
vasc ript)超市商品 - JAVA JSP牛奶配送管理系统 源代码 论文
- JAVA JSP景区订票系统 源代码 论文
- Java GUI
- 基于java的在线答疑系统
- Aspose word for java-14.11最新完美破解版,
- 图解数据结构使用Java.zip
- 超级漂亮java Swing UI 源码
- java手机游戏50例代码
- javaweb网上书城源码(包含数据库)
- JavaEE开发的颠覆者 Spring Boot实战源代
- java学习笔记全
- java2实用教程(第四版)耿祥义ppt课件
- Java经典面试题 传智播客
- Java反序列化漏洞利用工具全
- Java文件上传并自动解压
- 《java从入门到精通 高宏静版》适合初
- Java语言面向对象程序设计第2版清华大
- android 客户端访问java后台实现登陆,
- Java EE Web开发与项目实战code
- 基于Jsp网络在线考试系统源码
- android 用java动态设置布局增添删除修
- java bbs在线论坛系统
- 斑马打印机pc端java的demo
- JAVA swing+mysql 进销存管理系统
- 达内当当网项目源码java
评论
共有 条评论