codeblocks配置OPENGL GLUT

作者

He
YiJun – storysnail<at>hotmail.com

   

版权

转载请保留本声明!

本文档包含的原创代码根据General
Public License,v3 发布

GPLv3
许可证的副本可以在这里获得:http://www.gnu.org/licenses/gpl.html

本文档根据GNU
Free Documentation License 1.3发布

GFDL1.3许可证的副本可以在这里获得:http://www.gnu.org/licenses/gfdl.html

文中所引用的软件版权详见各软件版权具体声明,文中所提及的所有商标均为各自商标所有人的财产。
作者在此向所有提供过帮助和支持的朋友表示感谢,此致!

更新

2014-11-10

修改版权和重新编辑

 

本文已经停止更新

前言:

一份在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
Files (x86)\CodeBlocks\MinGW\include\GL

glut32.lib

C:\Program
Files (x86)\CodeBlocks\MinGW\lib

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的更多相关文章

  1. codeblocks 配置OpenGL

    一.选择编译器环境 这里选择codeblocks,带MinGW的版本. 二.下载glut工具包 网址:http://pan.baidu.com/s/1eQriTQM 三.配置glut 解压缩下载的gl ...

  2. 在Visual Studio 2017上配置Glut

    在Visual Studio 2017上配置Glut 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在Visual Studio 2017上配置并使用 ...

  3. CodeBlocks 配置

    CodeBlocks 配置 Code::Blocks 17.12 时间:2019.6 下载网址 http://www.codeblocks.org/downloads/26 ,这里选择的是 mingw ...

  4. utunbu下的codeblocks配置openGL环境

    真想骂娘阿,刚开始用utunbu,什么也不明白,不明白我装都软件都在哪里,不知道就像windows下的系统文件那样的文件在哪里,也不知道如何配置环境变量.就这样稀里糊涂的,还要抓紧时间装openGL, ...

  5. CodeBlocks配置pthread环境

    参考资料:MinGW配置pthread环境 按[参考资料]里说的[下载资源]后,将libpthreadGC2.a放到codeBlocks安装目录下的MinGW\lib目录下,然后将pthread.h ...

  6. Windows下 使用CodeBlocks配置OpenGL开发环境

    CodeBlocks版本:13.12 下载OpenGL配置文件 1.glut.dll glut32.dll放入系统盘Windows\System32文件夹 2.glut.h放入CodeBlocks安装 ...

  7. codeblocks 配置交叉编译和调试环境

    我要用codeblocks交叉编译和调试arm开发板上的程序,宿主机是ubuntu12.04.开发板是嵌入式linux操作系统. 1.配置交叉编译环境 由上到下,1处直接选择即可.2处是你交叉编译器安 ...

  8. Ubuntu+OpenCV2.4.11+ CodeBlocks 配置

    1.OpenCV 与 CodeBlocks 的安装都比较简单,好多教程. 参考http://www.cnblogs.com/lyutian/p/4425956.html 安装opencv. Codeb ...

  9. 【codeblocks配置】C对Mysql数据的查询

    codeblocks 编写C文件连接mysql数据库 codeblocks 设置.1.设置lib库文件: Settings->Compiler settings->Linker setti ...

随机推荐

  1. MBProgressHud添加自定义动画

    在使用自定义view时,若直接使用,如下 MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; hud ...

  2. 用Action的属性接受参数

    版本, @Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记@Override是伪代码,表示 ...

  3. IIS 的一些配置记录

    1.日志分析: URL:http://www.cnblogs.com/fish-li/p/3139366.html2.性能监视: 执行 perfmon.msc ,右键添加counter,添加web s ...

  4. winrar命令行加压解密

    加密的操作 Rar.exe a -P123 test1.rar test.txt 其中参数a表示添加文件或文件夹到压缩包中,-P参数表示是带密码的加密 Rar.exe e -P123 test1.ra ...

  5. jsp jsp指令

    JSP 由HTML和java语句拼接而成的文本,后缀名为.jsp 1.Jsp翻译成servlet:先翻译,Tomcat将翻译后的文件放置在安装目录下(所有JSP页面本质上就是Servlet程序) 2. ...

  6. oracle 存储过程 包 【转】

    一.为什么要用存储过程? 如果在应用程序中经常需要执行特定的操作,可以基于这些操作简历一个特定的过程.通过使用过程可以简化客户端程序的开发和维护,而且还能提高客户端程序的运行性能. 二.过程的优点? ...

  7. 【Java学习笔记】函数的可变参数

    package p2; public class ParamterDemo { public static void main(String[] args) { int sum1 = add(4,5) ...

  8. [ MySql学习心得 ] --Two

    五.MySql 中常用子句 1.where子句 我们都知道在查询数据时,未必会查整个表中的数据,当有条件查询时,就会用到where子句.其结构: select * from  [表名]  where ...

  9. ubuntu14.04设置terminal配色方案以配合使用vim的Solarized插件

    在安装vim插件之前,首先安装Vundle插件,用来管理vim插件,安装方法查看Vundle在github上的指南.在安装vundle的时候出现了一个错误E117:unknown function v ...

  10. noip2012-day2-t2

    [问题描述] 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们 ...