<%@ page contentType="text/html; charset=gb2312"%> 使用NetBeans 6.0.1开发OpenGL
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
使用NetBeans 6.0.1开发OpenGL
     发布者: 发布时间:2008-04-03

上个学期的一门课程中,我在一个项目中使用了OpenGL。我们的教授让我们写一段3D物体的程序——能画出3D物品的细节,设置它的属性并能够放大,运动,旋转,组合并复制。我们甚至不能使用更高层次的类库比如Java3D,老头要我们只能使用OpenGL。这可有些麻烦,不过还好我有NetBeans。哈,它再一次让事情变得轻松起来。

如果你不够谨慎,一段OpenGL的代码很容易变得复杂起来。里面有太多的设置,变量,矩阵,转换等等,少许的一些细节就可以让事情变得糟糕,可能你还没有意识到。所以,有一个好的IDE将会帮助你很多。

另一个因素是,我喜欢使用java来编写OpenGL的代码。在所有的其他语言里,你需要使用回调函数来执行openGL.比如在python中,你必须创建一个display()函数来将物体显示在屏幕上。

Java代码复制代码
  1. def display():    
  2. “Draw a triangle”    
  3. glClear(GL_COLOR_BUFFER_BIT)    
  4. “Set Color”   
  5. glColor3f (1.01.01.0)   
  6. glBegin(GL_TRIANGLES);    
  7. glVertex3f(0.01.00.0);    
  8. glVertex3f(-1.0, -1.00.0);    
  9. glVertex3f(1.0, -1.00.0);   
  10. // Finished Drawing The Triangle  
  11. glEnd();   
  12. glutSwapBuffers()  

  


然后告诉OpenGL display()关注屏幕显示。调用:
glutDisplayFunc(display)

而在java中不需要这样的回调。只需要使用接口方式就能实现,这样使得代码更容易被理解。我的项目中sphere类继承shape类并实现了Drawable接口。openGL的函数,例如display(),init(),reshape()可以在实现了GLEventListener的类中实现。

Java代码复制代码
  1. //Draw a triangle  
  2. public void display(GLAutoDrawable drawable)   
  3. {   
  4. GL gl = drawable.getGL();   
  5. // Clear the drawing area  
  6. gl.glClear(GL.GL_COLOR_BUFFER_BIT);   
  7. gl.glBegin(GL.GL_TRIANGLES);    
  8. gl.glVertex3f(0.0f, 1.0f, 0.0f); // Top  
  9. gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left  
  10. gl.glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right  
  11. // Finished Drawing The Triangle  
  12. gl.glEnd();    
  13. // Flush all drawing operations to the graphics card  
  14. gl.glFlush();   
  15. }  

 

 


这贴不是来介绍openGL的。这里有关于使用netBeans6.0的openGL插件的教程

http://jerome.jouvie.free.fr/OpenGl/Tutorials1-5.php

让我们开始在NetBeans6.0.1上JavaOpenGL的开发之路吧
第一步下载插件,可以在这里找到

http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=3260

添加插件完成后,重启netBeans,在file->new project中可以看到openGl工程了

 

你可能会想要看下自带的demo。插件里有许多JOGL的demo和红宝书的Demo。如果你是通过读红宝书学习OpenGL的,你可以看到书中的例子。

 

 

非常有意思的一点,OpenGL Panel和OpenGL Canvas都已经和Matisse系统集成了。所以你可以在你的GUI中使用Matisse并把OpenGL元素

 

 


TAG:
NetBeans
Netbeans
netbeans
opengl



(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
Firefox Beta 5 Final 即将发布
Firefox Beta 5 Final 即将发布
Jwork框架PHP第二版
Jwork框架PHP第二版
第四届中国市场经理人年会在京举行
第四届中国市场经理人年会在京举行
 
最近评论:
        
鍥炲
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号