codeblocks配置GLUT
codeblocks配置OPENGL GLUT
|
作者 |
He |
||||
|
版权 |
转载请保留本声明! 本文档包含的原创代码根据General 本文档根据GNU 文中所引用的软件版权详见各软件版权具体声明,文中所提及的所有商标均为各自商标所有人的财产。 |
||||
|
更新 |
|
前言:
一份在codeblocks下配置OPENGL
GLUT的简单教程。
一:下载安装codeblock10.05
到http://www.codeblocks.org下载codeblock,建议下载带MinGW编译器版本(GCC
compiler and GDB
debugger),这样基本不需要什么特殊配置。之后运行安装文件,一步步安装到结束。这里特别说明一下,我的计算机运行着windows
7 64位系统。
二 下载编译好的GLUT库
可以到OPENGL的老巢自己寻找需要的GLUT(http://www.opengl.org/),有很多的不同版本!
我使用的是GLUT-3.7.6,可以到下面的页面下载。
http://user.xmission.com/~nate/glut.html
三 安装glut
解压glut-3.7.6-bin.zip压缩包,复制解压后的文件到对应位置.
|
glut.h |
C:\Program |
|
glut32.lib |
C:\Program |
|
glut32.dll |
C:\Windows\system |
四:创建Glut项目
创建Glut项目

指定GLUT的位置,我的是C:\Program
Files (x86)\CodeBlocks\MinGW

五 示例源代码
//windows头文件
#include<windows.h>
#include<GL/gl.h>
#include<GL/glu.h>
#include<gl/glut.h>
/*linux头文件
#include <X11/Xlib.h>
#include<GL/gl.h>
#include<GL/glu.h>
#include<GL/glut.h>
#include<GL/glx.h>
*/
staticGLfloatspin=0.0;
voidinit(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_FLAT);
}
voiddisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glRotatef(spin,0.0,0.0,1.0);
glColor3f(1.0,1.0,1.0);
glRectf(-25.0,-25.0,25.0,25.0);
glPopMatrix();
glutSwapBuffers();
}
voidspinDisplay(void)
{
spin=spin+2.0;
if(spin>360.0)
spin=spin-360.0;
glutPostRedisplay();
}
voidreshape(intw,inth)
{
glViewport(,,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-50.0,50.0,-50.0,50.0,-1.0,1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
voidmouse(intbutton,intstate,intx,inty)
{
switch(button){
caseGLUT_LEFT_BUTTON:
if(state==GLUT_DOWN)
glutIdleFunc(spinDisplay);
break;
caseGLUT_MIDDLE_BUTTON:
if(state==GLUT_DOWN)
glutIdleFunc(NULL);
break;
default:
break;
}
}
intmain(intargc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(,);
glutInitWindowPosition(,);
glutCreateWindow(argv[]);
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMouseFunc(mouse);
glutMainLoop();
return0;
}
五
编译运行
这个示例也可以在Linux下编译运行,效果和windows下一样,注意需要修改一下头文件,见上面源码。下面是makefile,在不同版本的linux下,makefile文件内容可能需要调整!
all:double
CC=gcc
double:double.c
$(CC)-Wall-g-I/usr/include/GL
double.c
-o
double-L/usr/lib
-L/usr/X11R6/lib
-lGL
-lGLU
-lX11
-lglut
#-lglut-lGLU-lGL-lXmu-lX11
编译

运行

codeblocks配置GLUT的更多相关文章
- codeblocks 配置OpenGL
一.选择编译器环境 这里选择codeblocks,带MinGW的版本. 二.下载glut工具包 网址:http://pan.baidu.com/s/1eQriTQM 三.配置glut 解压缩下载的gl ...
- 在Visual Studio 2017上配置Glut
在Visual Studio 2017上配置Glut 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在Visual Studio 2017上配置并使用 ...
- CodeBlocks 配置
CodeBlocks 配置 Code::Blocks 17.12 时间:2019.6 下载网址 http://www.codeblocks.org/downloads/26 ,这里选择的是 mingw ...
- utunbu下的codeblocks配置openGL环境
真想骂娘阿,刚开始用utunbu,什么也不明白,不明白我装都软件都在哪里,不知道就像windows下的系统文件那样的文件在哪里,也不知道如何配置环境变量.就这样稀里糊涂的,还要抓紧时间装openGL, ...
- CodeBlocks配置pthread环境
参考资料:MinGW配置pthread环境 按[参考资料]里说的[下载资源]后,将libpthreadGC2.a放到codeBlocks安装目录下的MinGW\lib目录下,然后将pthread.h ...
- Windows下 使用CodeBlocks配置OpenGL开发环境
CodeBlocks版本:13.12 下载OpenGL配置文件 1.glut.dll glut32.dll放入系统盘Windows\System32文件夹 2.glut.h放入CodeBlocks安装 ...
- codeblocks 配置交叉编译和调试环境
我要用codeblocks交叉编译和调试arm开发板上的程序,宿主机是ubuntu12.04.开发板是嵌入式linux操作系统. 1.配置交叉编译环境 由上到下,1处直接选择即可.2处是你交叉编译器安 ...
- Ubuntu+OpenCV2.4.11+ CodeBlocks 配置
1.OpenCV 与 CodeBlocks 的安装都比较简单,好多教程. 参考http://www.cnblogs.com/lyutian/p/4425956.html 安装opencv. Codeb ...
- 【codeblocks配置】C对Mysql数据的查询
codeblocks 编写C文件连接mysql数据库 codeblocks 设置.1.设置lib库文件: Settings->Compiler settings->Linker setti ...
随机推荐
- 新的框架,新的感觉ASP.NET MVC 分享一个简单快速适合新手的框架
在ASP.NET世界中摸爬滚打好几年,用过了各种框架,在最初的ASP.NET web from 到现在的MVC 在起初的经典三层,到现在的MVC IOC 注入 . 突然发现,有些时候真不是跟风用一 ...
- 压缩文本、字节或者文件的压缩辅助类-GZipHelper
下面为大家介绍一.NET下辅助公共类GZipHelper,该工具类主要作用是对文本.字符.文件等进行压缩与解压.该类主要使用命名空间:System.IO.Compression下的GZipStream ...
- Asp.Net MVC4入门指南(5):从控制器访问数据模型
在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里. 在开始下一步前,先Build一下应用程序(生 ...
- 5ucms后台调用标签
<%=Rs.Data(1,i)%>栏目 <%=Rs.Data(2,i)%>标题 <%=Rs.Data(3,i)%>推荐 <%=Rs.Data(4,i)%> ...
- xenomai for at91
http://www.at91.com/linux4sam/bin/view/Linux4SAM/RealTime#Xenomai
- jvm 原理和优化
在csdn 上看到的,觉得很好,收藏了: 原博文地址: 濤子 http://blog.csdn.net/ning109314/article/details/10411495/ JVM工作原理和特点主 ...
- asp.net mvc3 利用Ajax实现局部刷新
1.利用Ajax.ActionLink()方法 首先在_Layout.cshtml文件中加载 运行AJAX必要的Jquery <script src="@Url.Content(&qu ...
- java-关于浏览器的判断
一.判断是手机还是电脑浏览器 public final static String[] agent = { "Android", "iPhone", " ...
- pl/sql中文乱码问题解决
最近用pl/sql连我们公司的数据库,发现表里的中文数据都是“???”,上网查了一下,发现是数据库的编码格式和pl/sql的编码格式不统一造成的. 解决方法非常简单,只要创建一个系统环境变量:NLS_ ...
- kettle(6.0)如何连接远程集群(CDH5.1)?
最近因为公司业务需要,刚刚接触了kettle.这不看不知道,一看才发现kettle的功能是在是太强大了,让我有种相见恨晚的感觉.由于主要是应用kettle与hadoop集群和hive连接进行数据处理. ...