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 ...
随机推荐
- (转)jQuery EasyUI Tree - TreeGrid动态加载子节点
有时我们已经得到充分的分层树形网格(TreeGrid)的数据. 我们还想让树形网格(TreeGrid)按层次惰性加载节点. 首先,只加载顶层节点. 然后点击节点的展开图标来加载它的子节点. 本教程展示 ...
- CentOS 7下安装Mysql 5.7
参见http://www.07net01.com/2016/03/1355735.html 过程中需要安装perl CentOS 7 采用了 firewalld 防火墙 service firewal ...
- Nginx配置proxy_pass
nginx配置proxy_pass,需要注意转发的路径配置 1.location /test/ { proxy_pass http://t6:8300; } 2.location /test/ { p ...
- Tire树入门专题
POJ 3630Phone List 题目连接:http://poj.org/problem?id=3630 题意:问是否有号码是其他号码的前缀. #include<iostream> # ...
- Oracle数据库迁移到AWS云的方案
当前云已经成为常态,越来越多的企业希望使用云来增加基础设施的弹性.减轻基础设施的维护压力,运维的成本等.很多企业使用云碰到的难题之一是如何将现有的应用迁移到云上,将现有应用的中间件系统.Web系统及其 ...
- c# - catch(Exception ex) 会丢掉StackTrace 是怎么回事?
原本这篇文章就想写写StackTrace怎么会丢的问题, 但现在的内容变成了讨论怎么处理Exception的问题. 该不该用try catch, 什么时候用?也困扰了我很久, 好像随便写写就可以, 但 ...
- 由Selenium1转变为Selenium2所遇到的问题
1.使用ant脚本运行测试,报NoClassDefError,但使用junit方式运行或debug,都没有错误. 原因:找不到包,但具体是哪个包,不清楚:且为何使用junit方式运行就没有问题,也不清 ...
- 深入浅出UML类图(一)
在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML Distilled: A Brief Guide to the Standard O ...
- Java 第29章GUI
GUI入门 JDBC 连接数据库的过程 注册驱动(class ,forName) 创建连接 创建连接对象 执行SQL语句 statement对象的类型与作用 1.(layout :版面,布局) 2.( ...
- sublime text3使用小结
一.下载 http://www.sublimetext.com/2 sublime text2下载页 http://www.sublimetext.com/3 sublime text3下载页 ...