一、安装GLUT 工具包

GLUT 不是OpenGL 所必须的,但它会给我们的学习带来一定的方便,推荐安装。

Windows 环境下的GLUT 本地下载地址:glut-install.zip(大小约为150k)。

也可直接去官方网站下载:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

Windows 环境下安装GLUT 的步骤:

1)将下载的压缩包解压,得到5 个文件放到以下三个指定位置:

2)glut.h 放到GL 文件夹(VC6 中一般是:C:\Program Files\Microsoft VisualStudio\VC98\Include\GL

3)glut.lib 和glut32.lib 放到静态函数库所在文件夹(VC6 中一般是:C:\Program Files\MicrosoftVisual Studio\VC98\Lib

4)glut.dll 和glut32.dll 放到操作系统目录下面的system32 文件夹内。(典型的位置为:C:\Windows\System32,有些机器可能为C:\WINNT\System32)

二、VC6 下OpenGL 工程的创建

这里以VC6.0 为例:首先从开始->所有程序->Microsoft Visual C++ 6.0 菜单中打开VC,也可单击文件:C:\Program Files\Microsoft Visual Studio\VisualC++6\Common\MSDev98\Bin\msdev.exe

打开VC,在VC 中选择 文件->新建->工程(File->New->Project),然后选择Win32 Console Application,输入一个工程名,设为opengltest1,然后按确定。

在弹出的对话框左边点Application Settings,选择一个 "Hello world" 程序 并勾上,选择完成。

在opengtest1.cpp 中的#include "stdafx.h"行后面,粘贴OpenGL代码,编译运行。

注意:按上述方法建立的项目,不能删除#include "stdafx.h"。

三、一个简单的二维网格棋盘绘制示例

Github源码

// opengltest1.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include <GL/glut.h>
const GLfloat d = 0.04;
//主函数每次显示调用的用户自定义显示函数
void myDisplay(void)
{
//清除色彩位缓冲区
glClear(GL_COLOR_BUFFER_BIT);
for (int i = -; i < ; i++)
{
for (int j = -; j < ; j++)
{
if (j%==)
{
if (i%==)
{
//glRectf 按浮点坐标与矩形宽度和高度参数绘制矩形
glRectf(j*d , d *i, (j + )*d , d *(i + ));
}
}
else
{
if ((i+)%==)
{
glRectf(j*d , d *i, (j + )*d , d *(i + ));
}
}
}
}
//按上述命令绘制图形,glFlush命令只适用于单缓冲模式
glFlush();
} int main(int argc, char *argv[])
{
//初始化opengl工具箱函数库
glutInit(&argc,argv);
//设置RGB色彩模式与单缓冲绘图模式
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
//设置图像显示窗口的左上角位置(0,0)
glutInitWindowPosition(,);
//设置窗口大小(600,600)
glutInitWindowSize(,);
//设置窗口标题
glutCreateWindow("Open GL 程序 Step 1");
//设置主程序循环显示过程中所调用的显示函数
//&myDisplay,表示取得函数名所对应的地址(函数地址)
glutDisplayFunc(&myDisplay);
//程序主循环
glutMainLoop();
return ;
}

至此,VC6下的OpenGL环境搭建完成!

祝各位Coding 愉快~

VC6下OpenGL 开发环境的构建外加一个简单的二维网络棋盘绘制示例的更多相关文章

  1. Ubuntu下OpenGL开发环境的搭建

    由于上了计算机图形学的课,老师叫我们安装OpenGL开发环境,晚上安装了一两个小时,终于搞定了. 1.      建立基本编译环境 sudo apt-get install build-essenti ...

  2. Struts2开发环境搭建,及一个简单登录功能实例

    首先是搭建Struts2环境. 第一步 下载Struts2去Struts官网 http://struts.apache.org/ 下载Struts2组件.截至目前,struts2最新版本为2.3.1. ...

  3. Fedora和Ubuntu下安装OpenGL开发环境配置

    Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...

  4. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

  5. 利用CodeBlocks结合freeglut快速搭建OpenGL开发环境

    利用CodeBlocks结合freeglut快速搭建OpenGL开发环境 2018-12-19 10:15:48 再次超越梦想 阅读数 180更多 分类专栏: 我的开发日记   版权声明:本文为博主原 ...

  6. [Modern OpenGL系列(一)]十步搞定OpenGL开发环境

    本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51292143 OpenGL官网:https://www.opengl.or ...

  7. VC 6中配置OpenGL开发环境

    2010,2012中配置类似 http://hi.baidu.com/yanzi52351/item/f9a600dffa4caa4ddcf9be1d VC 6中配置OpenGL开发环境 这里,我习惯 ...

  8. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...

  9. Linux(Ubuntu) OpenGL 开发环境

    Linux(Ubuntu) OpenGL 开发环境 在 PC 平台上开发 OpenGL 可以使用的辅助工具有很多选择,这里我主要参考了 learnopengl 的配置,使用 GLFW 和 GLAD. ...

随机推荐

  1. angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令

    在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...

  2. Ctex中WinEdt经常弹出注册小窗口 解决办法

    使用WinEdt 7避免跳出“注册对话框” 在options菜单下点options…,在advanced configuration  =>  Event Handlers  下点Exit, 在 ...

  3. DIOCP-开源项目ECHO测试.

    DIOCP自开源以来,得到了很多朋友的测试,并进行了诸多的改进,现在已经运用到了一些具体的项目当中. DIOCP底层运行稳定. 昨天做了个ECHO测试,这个连接数并没有达到上限. 11K 连接,1个半 ...

  4. MyBatisBatchItemWriter Cannot change the ExecutorType when there is an existing transaction

    但凡使用mybatis,同时与spring集成使用时,接下来要说的这个问题是躲不了的.众所周知,mybatis的SqlSessionFactory在获取一个SqlSession时使用默认Executo ...

  5. Android DrawLayout + ListView 的使用(一)

    想做一个APP,设计中有侧边栏这个功能,所以现在开始学习下侧边栏的实现. 在官方的UI空间中已经给出了DrawerLayout这个侧滑的菜单空间. 因为在使用DrawerLayout的时候遇到了些问题 ...

  6. java replace方法 无法改变原字符串,使用时需重新赋值

    // TODO:把网页中的链接替换为本地路径及文件名 for (String link : links) { String baseLink = "http://localhost:91/q ...

  7. 怎样用Google APIs和Google的应用系统进行集成(2)----Google APIs的全部的RESTFul服务一览

    上篇文章,我提到了,Google APIs暴露了86种不同种类和版本号的API.我们能够通过在浏览器里面输入https://www.googleapis.com/discovery/v1/apis这个 ...

  8. ajax无刷新方式对form表单进行赋值!

    /** * 把json数据填充到from表单中 */ <form id="editForm" action="user.php"> 用户名:< ...

  9. 浅谈C#中的深拷贝(DeepCopy)与浅拷贝(MemberwiseClone)

    场景:MVVM模式中数据双向绑定,想实现编辑.保存.撤销操作时也双向绑定了,不能实现撤销操作. 后来通过搜索找到了继承IEditableObject接口实现撤销操作,但是对其中使用了Memberwis ...

  10. <悟道一位IT高管20年的职场心经>笔记

    1. 你一定会在某个时候惊讶地发现,原来当初你曾经硬着头皮挨过来的日子对你是那么的珍贵.2. "'老板就是老板'.这一点,你可能会忘,他一定不会忘.'老板不会总是老板'.这一点,他可能会忘, ...