OpenGL: 环境配置和图元的绘制
2024-10-14 06:48:02
前言
距离上一篇博客已经过去一个半月了,这段时间过得确实充实,虽然一大段时间泡在图书馆复习,但至少也能学到点东西。跨年晚和元旦一整天,全身心投入图形学小课设的编程,终于实现了老师要求的所有功能,回想起张勇老师理论课的作业,我就上网下了一个程序,然后答辩的时候还半懂不懂,真是不该。
环境配置
Visual Studio 2013
如果不想麻烦地每次都为项目链接 glut 的库和设置环境变量,到OpenGL官网下载对应的所需文件。
- 解压后将得到的glut.lib和glut32.lib这两个静态函数库复制到文件目录的lib文件夹下
X:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
; - 将glut.dll,glut32.dll这两个动态库文件放到操作系统目录下面的
C:\Windows\system32
文件夹内(32位系统)或C:\Windows\SysWOW64
(64位系统),为了兼容性考虑,最好在这两个目录下都复制相应的文件; - 将解压得到的头文件glut.h复制到目录如下目录下:
X:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\GL
,如果在incluce目录下没有GL文件夹,则需要手动创建。
Xcode
新建控制台程序之后,点击项目->Build Phases->Link Binary With Libraries,将 GLUT.framework 和 OpenGL.framework 连接到项目中去就可以了(感觉是不是比 VS 的方便好多~)。
绘制图元
void display()
{
glClear(GL_COLOR_BUFFER_BIT); //清除颜色,否则背景中会出现一些奇怪的东西
glBegin(GL_POLYGON);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glVertex2f(-0.5, -0.5);
glEnd();
glFlush();
}
int main(int argc, const char * argv[])
{
glutInit(&argc, argv);
glutInitWindowPosition(100,100); //窗口位置
glutInitWindowSize(400,400); //窗口大小
glutCreateWindow("第一个OpenGL程序"); //创建窗口,设置标题
glutDisplayFunc(display); //当绘制窗口时调用display
glutMainLoop();
return 0;;
}
在上面 display 函数代码中我通过制定4个顶点来画一个矩形,有个更加快捷的方法就是直接调用库里面的函数 glRectf(-0.5f,-0.5f,0.5f,0.5f);
,两种方法的结果一样,但是如果学到后面要对物体进行贴图的话就只能用第一种方法了,因为 glRect 函数并不会返回顶点的坐标。
最新文章
- C#面向对象设计模式纵横谈——1.面向对象设计模式与原则
- hdu 4759 大数+找规律 ***
- 阿里云 Redis 服务遇到的问题
- log4net资料收集
- javascript中实现sleep的两种方式
- msp时钟设置程序
- HDOJ多校联合第六场
- php composer
- oracle数组学习资料
- android 判断是否有sim卡及运营商
- IDE idea 更换项目的JDK步骤
- 关于c++primer的一个代码错误
- 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)
- node.js版本管理for window ---- nvmw
- synchronized VS Lock, wait-notify VS Condition
- JAVA之Mybatis基础入门--框架搭建与简单查询
- while (~scanf(";%d%d";,&;m,&;n))什么用的?
- myBatis 3.2.7 如何打印 sql
- 生成activiti需要的25张系统表
- WebSocket 客户端实例