【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)
★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介
(附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?source=directory)
OpenGL简介:OpenGL(全写Open Graphics Library)是一个功能强大,调用方便的底层图形库。
Dev-Cpp已经包含了开发OpenGL程序基本的功能。
■建立一个OpenGL工程:
选择:(文件[F])-->(新建[N])-->(项目[P]...)-->(multimedia-->opengl)。《详情如下图:》
此工程包含了基本的OpenGL程序的结构,包括生成窗口,消息驱动机制,还有基本的OpenGL程序。
直接点击运行可以看到一个不断旋转的彩色三角形。
在该工程的 Project Option -> Parameters -> Link 中发现已经连接了库 libglu32.a, libopengl32.a
-lopengl32
在工程根目录的 Makefile.win 中也能看到
LIBS = -L"D:/Dev-Cpp/MinGW32/lib" -L"D:/Dev-Cpp/MinGW32/mingw32/lib" -static-libstdc++ -static-libgcc -mwindows -lopengl32
所以要想建立自己的 OpenGL 工程必须在建立win32工程的Link中加入下面参数
-lglu32 -lopengl32
★开始配置实现Dev-cpp编译运行OpenGL程序
现在根据《OpenGL 编程指南》中的例程简单实现:在黑色背景中渲染一个白色的矩形
#include<windows.h>
//#include<gl/gl.h>//glut.h中已经包含
//#include<gl/glu.h>
#include<gl/glut.h>
//绘制程序
void display() {
glClear(GL_COLOR_BUFFER_BIT);//将屏幕设置为黑色
glColor3f(.,1.0,1.0);//设置当前颜色状态为白色
glBegin(GL_POLYGON);//绘制多边形
glVertex3f(0.25, 0.25,0.0);
glVertex3f(0.75,0.25,0.0);
glVertex3f(0.75,0.75,0.0);
glVertex3f(0.25,0.75,0.0);
glEnd();
glFlush();//发送缓冲区
}
//初始化绘制
void init() {
glClearColor(0.0,0.0,0.0,0.0);//清除颜色设置
glMatrixMode(GL_PROJECTION);//设置投影方式
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0,-1.0,1.0);//设置投影空间
}
int main(int argc, char** argv) {
glutInit(&argc, argv);//初始化glut
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式为单缓冲,RGB模式
glutInitWindowSize(,);//设置窗口大小
glutInitWindowPosition(,);//设置窗口位置
glutCreateWindow("Hello");//设置窗口标题
init();
glutDisplayFunc(display);
glutMainLoop();
return ;
}
OpenGL程序
有了上面的了解,然后就可以进一步理解在Dev-Cpp中配置OpenGL的原理了
(以下相关文件下载地址:链接:http://pan.baidu.com/s/1pK4SKRp 密码:faka)
❶WINDOWS配置:
C:/WINDOWS/SYSTEM32文件下需要有这些文件:glu32.dll, glut32.dll, glut.dll, opengl32.dll
(解压后文件位置:Dev-Cpp配置OpenGL图形库需要的文件\bin)
❷Dev-Cpp库的配置:
Dev-Cpp安装目录下的Lib文件中需要有如下文件:libglu32.a, libglut32.a, libglut.a, libopengl.a
(解压后文件位置:Dev-Cpp配置OpenGL图形库需要的文件\lib)
Dev-Cpp安装目录下的inlude\GL文件中需要有如下头文件:gl.h, glu.h, glut.h
(解压后文件位置:Dev-Cpp配置OpenGL图形库需要的文件\index)
!!如果运行出现以下情况,则要进行如下操作,没有就不用
Dev-Cpp安装目录下的bin文件中需要有如下文件:glut32.dll(可以看提示添加需要的)
(解压后文件位置:Dev-Cpp配置OpenGL图形库需要的文件\bin)
❸Dev-Cpp工程的属性设置:
选择:(工具[T])-->(编译选项[C])。
在“在连接器命令行加入以下命令”中加入下面代码(千万注意每条链接间都要加空格):
-lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32
《详情如下图:》
ok!!现在可以用Dev-Cpp编译运行建立自己的 OpenGL 工程了,祝贺!!!
志银参考网址:http://www.2cto.com/kf/201505/399368.html
开始写于:2016.3.22
【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)的更多相关文章
- Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)
★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...
- 【志银】nginx_php_mysql_phpMyAdmin配置(Windows)
✄更新中... 更新日期:2018.11.22 ★版本说明+快捷下载(官网) nginx nginx-1.14.1 http://nginx.org/download/nginx-1.14.1. ...
- 【志银】Win764位配置Github环境及将代码部署到Github pages-志银强势总结
(软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...
- (2)在vs2010上配置opengl
参考自http://www.yakergong.net/nehe/ 在Visual Studio 2003 中创建基于Nehe SDK的应用程序分为以下几个步骤: 创建一个空白的工程文件 包含Nehe ...
- Mac使用Clion配置OpenGL
Mac使用Clion配置OpenGL 之前博主是用Xcode配置的openGL,但后来因为要与非Mac队友合作,于是大家决定统一使用Clion,博主于是再次配置开发环境,这里记录一下 预先准备 Mac ...
- Mac使用Xcode配置openGL
Mac使用Xcode配置openGL 博主这学期有图形学课要用到OpenGL,于是首先就开始配置开发环境了.应该说网上Windows上配置OpenGL教程比较多,Mac版的比较少.博主特来分享配置过程 ...
- 使用Editplus和Dev C++配置C++的编译运行环 境
或许大家会有疑问,为何不直接使用VC;VS;或Dev这些IDE呢?何必舍近求远.主要是因为写程序这么多年来已经习惯了Editplus,包括他的快捷键,语法自动完成,语法提示等等,Editplus用了这 ...
- 一步一步带你在VS 2017中配置OpenGL
在VS2017环境中配置OpenGL,我们分三步:配置GLFW.配置GLAD.导出项目模板. 配置GLFW 1.首先下载GLFW,点击这里,进入Github下载. 或者 点击这里从百度云下载,提取码为 ...
- Windows 7 Visual Studio 2008配置OpenGL开发环境
Windows 7 Visual Studio 2008配置OpenGL开发环境 glut下载地址: http://www.opengl.org/resources/libraries/glut/gl ...
随机推荐
- Git版本控制的原理
Git工作区域 工作目录(Working Directory) 暂存区(Stage/Index) 资源库(Repository或Git Directory) 远程的git仓库(Remote Direc ...
- ibator自动代码生成
首先,强烈推荐一篇文章,介绍的特详细 http://www.iteye.com/topic/821983 1. 插件安装 http://blog.csdn.net/rchm8519/article/d ...
- 统计文件中的URL
1. 题目: 一个文本文件中每一行中有一个URL,最多一万行,统计每一个URL的次数,输出到另外一个文件中,每一行前面是URL,后面是个数. 2.代码: package test; import ja ...
- singnal 13 was raised
在app运行过程中按下home键或者其他原因app被挂起,socket连接不会断开,服务器为了节省资源,在一段时间后会主动关闭这个连接.当玩家再次切回到游戏后,前端并不知道这个连接已经断开了,继续通过 ...
- ES6初识-(冲突)数据结构
Set的用法 元素不能重复--唯一性 WeakSet key值只能是对象 没有clear属性 Map let map=new Map([['a',123],['b',456]]);; WeakMap ...
- socket传送二进制流的一些总结
第一次实质性的接触socket通信方面的工作,所以遇到的问题还真不少,写篇博客记录一下,提升下记忆. 需求是通过私有协议进行二进制数据的传输,必须保证数据包不能被丢失,所以选择tcp的socket进行 ...
- java数组之二分法查找
认识: 猜字游戏 步数 所猜的数 结果 可能值的范围 0 1~100 1 50 太高 1~49 2 25 太低 26~49 3 37 太高 26~36 4 31 太低 32~36 5 34 太 ...
- python__标准库 : 测试代码运行时间(timeit)
用 timeit.Timer.timeit() 方法来测试代码的运行时间: from timeit import Timer def t1(): li = [] ): li.append(i) def ...
- photoshop入门笔记1:PS的快捷键
PS部分快捷键: 1.魔棒的作用:比较快捷的抠图工具,对于一些分界线比较明显的图像,通过魔棒工具可以很快速的将图像抠出,魔棒的作用是可以知道你点击的那个地方的颜色,并自动获取附近区域相同的颜色,使它们 ...
- HyperLedger Fabric ca 1.2 正式环境部署
生成一个根CA(RootCA),在根CA下3个中间CA(IntermediaCA). 1. 运行和配置RootCA服务#cd /opt/gopath/src/github.com/hyperledge ...