博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Open Graphics Library初步_搭建环境_GLUT
阅读量:4700 次
发布时间:2019-06-09

本文共 2817 字,大约阅读时间需要 9 分钟。

百度百科传送门:和.

编程爱好者网站原创教程:.

OpenGL如何获取?,但它随VC++6.0已经安装到计算机中了。

OpenGL在计算机上的位置?

如果是VC++6.0。请打开C:\Program Files\Microsoft Visual Studio\VC98\Lib,检查该目录下是否有OPENGL32.LIB和GLU32.LIB,就是它们了。

调用的时候对应include哪些文件呢?

请打开C:\Program Files\Microsoft Visual Studio\VC98\Include\GL,发现里面的三个文件了吧,就是这些(ps:并非直接在Include下面所以include时候注意戴上gl\)。

下面来安装GLUT。与其说是安装,不如说是拷贝几个文件(ps:目的就是要让VC编译器发现glut的lib,h文件,然运行环境找到对应动态链接库dll文件):

我下载了一份glut是3.7beta版的。文件名glutdlls37beta.zip。可以直接在我的博客中下载:

解压打开以后5个文件:

glut.h 拷入 C:\Program Files\Microsoft Visual Studio\VC98\Include\GL
glut.lib 和 glut32.lib 拷入 C:\Program Files\Microsoft Visual Studio\VC98\Lib
glut.dll 和 glut32.dll 拷入 C:\WINDOWS\system32
(ps:以上文件拷入位置其实并不固定,目的就是使vc编译器能找到它们,比如也可以定义vc编译器目录include到其它位置。我们这里就不这么做了。win7 64位操作系统中就有很大不同,比如它的include文件夹和lib文件夹就在Program Files(x86)\Microsoft SDKs\Windows\v7.0A这样的目录下,而开发的64位软件,dll应该放在windows/sysWow64,但在win7上开发32位程序,dll仍然在windows\system32下面)

*如果vc基础不是很好,只是为了完成一下作业的话。做好上面的浅绿色部分即可。

建立win32控制台应用程序,项目名glwithGLUT,空项目。

项目下新建core.cpp文件。准备编码。

(如果不是很了解下面的编码,建议先下载一份文档对照着看下面的源码。这是一份云南大学信息学院编制的GLUT文档,中文,看上去较简单,直接放博客上的下载地址:)核心库文档英文的,暂时没有发上来,可以自己去搜索一下。或者去图书馆借本参考书!

View Code
#include 
#include
const float PI = 3.1416; float ax = 0.0f; float ay = 0.0f; float az = 0.0f; void Drawing(){
glPushMatrix(); glRotatef(ax, 1.0f, 0.0f, 0.0f); glRotatef(ay, 0.0f, 1.0f, 0.0f); glRotatef(az, 0.0f, 0.0f, 1.0f); glBegin( GL_LINES );{
for(float t=.0f; t<=PI; t+=.1f){
glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(cosf(t)*100.0f,sinf(t)*100.0f,0.0f); glVertex3f(0,0,0); glColor3f(0.0f, 1.0f, 0.0f); glVertex3f(0.0f,cosf(t)*100.0f,sinf(t)*100.0f); glVertex3f(0,0,0); glColor3f(0.0f, 0.0f, 1.0f); glVertex3f(sinf(t)*100.0f,0.0f,cosf(t)*100.0f); glVertex3f(0,0,0); } }glEnd(); glPopMatrix(); } void OnReshape(int w, int h){
double ar = (double)w/(double)h; glViewport(0, 0, w, h); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); if(w>=h){
glOrtho(-300*ar, 300*ar, -300, 300, -300, 300); }else{
glOrtho(-300, 300, -300/ar, 300/ar, -300, 300); } glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); } void OnDisplay(){
glClear( GL_COLOR_BUFFER_BIT ); Drawing(); glutSwapBuffers(); } void OnTimer(int flag){
ax += 0.12f; ay += 0.15f; az += 0.1f; OnDisplay(); glutTimerFunc(10, OnTimer, 101); } int main(int argc, char* argv[]){
glutInit(&argc, argv); glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE ); glutInitWindowPosition(0,0); glutInitWindowSize(800,600); glutCreateWindow("窗口标题"); glutDisplayFunc(OnDisplay); glutReshapeFunc(OnReshape); glutTimerFunc(10, OnTimer, 101); glutMainLoop(); return 0; }

core.cpp中粘贴了如上的代码,并且编译运行。如果在屏幕上看见了一些变换的图形的话。那么OpenGL的环境配置就OK了。下面,你可以更改一下代码中的参数,看看是不是达到了你想要的效果。

转载于:https://www.cnblogs.com/cheetahw/archive/2011/11/15/opengl.html

你可能感兴趣的文章
算法与设计模式
查看>>
(4)理解 neutron ml2---port创建流程代码解析
查看>>
python List
查看>>
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.
查看>>
免费资源:Polaris UI套件 + Linecons图标集(AI, PDF, PNG, PSD, SVG)
查看>>
《Javascript高级程序设计》读书笔记(1-3章)
查看>>
ubuntu内核版本管理
查看>>
WebBrowser keystroke
查看>>
CSS(七)定位
查看>>
prompt不生效之解决
查看>>
编译Sqoop2错误解决
查看>>
2.动手动脑
查看>>
CS100.1x Introduction to Big Data with Apache Spark
查看>>
MyBatis学习总结_Mybatis查询之resultMap和resultType区别
查看>>
provider and $provide.decorator
查看>>
如何使用WebUploader。
查看>>
在微信中调用ajax出现的问题
查看>>
文本区域的高度随着内容增加----插件
查看>>
d3d3
查看>>
CentOS7安装.NET Core运行环境
查看>>