java的OpenGL学习资料_从零开始学习OpenGL(1)基础⽰
例
虽然最近的项⽬是使⽤DirectX开发投影仪融合相关的。但是作为⼀个Java程序员,从最开始我稍微感兴趣⼀点的还是OpenGL (最主要的原因是之前做过两年安卓开发,有⽤到OpenGL ES)。当然,从另外⼀个⽅⾯来讲,可能也是因为做Unity3D开发⽽对DX或者OpenGL毫⽆了解的话,总觉得没有什么⼤的挑战性。所以准备边学习边写⼀些教程。
在初学OpenGL的时候,其实Windows⾃带的OpenGL已经够⽤了。我们只需要去下载⼀个GLUT库。
GLUT是OpenGL的⼀个扩展⼯具库,可以给我们开发OpenGL程序提供很⼤的便利。
在这⾥,我使⽤VS2012。⼤家将下载好的GLUT库⾥的,头⽂件glut.h放在Microsoft Visual Studio 11.0\VC\include⽬录下,将glut.lib和glut32.lib⽂件放在Microsoft Visual Studio 11.0\VC\lib⽬录下,然后将glut.dll和glut32.dll放在Windows\System32或者Windows\SysWOW64下⾯,这个取决于我们系统是32位还是64位的。
下⾯来看⼀个基础的⽰例:
#include
void Render(){
glClearColor(1.0f,0.0f,0.0f,1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex2f(-0.5,-0.5);
glVertex2f(-0.5,0.5);
glVertex2f(0.5,0.5);
glVertex2f(0.5,-0.5);
glEnd();
glFlush();
}
int main(int arg, char** argv){
glutInitWindowSize(600,600);
glutInitWindowPosition(420,150);
glutCreateWindow("My OpenGL Window");
glutDisplayFunc(Render);
glutMainLoop();
}
这是⼀个基础的⽰例,我们⾸先加⼊了glut的头⽂件。
由于在glut的头⽂件中已经包含了gl.h和glu.h头⽂件,所以我们不需要做额外的⼯作。
这⾥使⽤了GLUT的函数:
零基础学java编程glutInitWindowSize和glutInitWindowPosition分别设定了窗⼝的⼤⼩和坐标。
glutCreateWindow进⾏了创建指定标题的窗⼝。
glutDisplayFunc注册了⼀个绘制的函数,⽤于进⾏OpenGL的绘制。
glutMainLoop执⾏了主循环,⽤于不停的绘制和事件处理。
在Render函数中,我们⾸先以RGBA(1.0,0.0,0.0,1.0)的颜⾊清除了颜⾊缓冲区。然后通过glColor3f设定颜⾊,通过glBegin和glEnd开始绘制多边形操作。最后调⽤glFlush进⾏强制刷新,来显⽰绘制的图形内容。
显⽰效果如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论