OpenGL学习_01_环境搭建

本文详细介绍了在MacOS环境下,如何使用Xcode IDE搭建OpenGL开发环境,并通过一个简单的HelloWorld程序,展示了OpenGL的基本使用方法,包括创建项目、导入库、编写和运行代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近动了心思,想要系统的学习一下有关渲染方面的知识,从openGL入手,参考书籍《OpenGL编程指南》原书第九版。

也是一小白,学习过程中记下笔记。

 

环境:macOS 10.14.4

一、安装xcode IDE

可以直接中App Store中搜索xcode,点击安装

1. 使用XCode创建项目:

OS X -> Command Line Tool -> Next

2. 输入项目名称,语言选择C++,Next

3. 选择项目保存路径

二、导入OpenGL需要的库

选中项目,选择Target -> Build Phases -> Link Binary With Libraries

在Link Binary With Libraries栏中点击下面的加号,搜索OpenGL.framework和GLUT.freamwork这两个库,导入

三、编写第一个HelloWorld

//
//  main.cpp
//  opengl_01_test
//
//  Created by blingbling on 2019/4/27.
//  Copyright © 2019 blingbling. All rights reserved.
//

#include <iostream>
#include <GLUT/GLUT.h>


void draw() {
    
    //设置清屏色
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    //设置颜色,红色
    glColor3f(1.0f, 0.0f, 0.0f);
    //设置绘图时的坐标系统
    glOrtho(0.0f, 1.0f, 0.0f, 1.0f, -1.0f, 1.0f);
    //开始渲染
    glBegin(GL_POLYGON);
    //设置多边形的4个顶点
    glVertex3f(0.25f, 0.25f, 0.0f);
    glVertex3f(0.75f, 0.25f, 0.0f);
    glVertex3f(0.75f, 0.75f, 0.0f);
    glVertex3f(0.25f, 0.75f, 0.0f);
    //结束渲染
    glEnd();
    //强制刷新缓冲区,保证绘制命令被执行
    glFlush();
    
}

int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    //初始化GLUT库
    glutInit(&argc, (char**)argv);
    //创建一个窗口并制定窗口名
    glutCreateWindow("HelloWorld");
    //注册一个绘图函数,操作系统在必要时刻就会对窗体进行重新绘制操作
    glutDisplayFunc(draw);
    //进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环(永生循环)
    glutMainLoop();
    return 0;
}

四、运行HelloWorld

1. command B编译工程

2. command R运行工程

3. 成功运行后,会看到一个红色窗口弹出,第一个opengl helloworld程序运行成功~~~~

 

五、后记

1. “is deprecated”的警告由于本人使用的是macOS 10.14.4操作系统,openGL的好多API在XCode中都报了“is deprecated”的警告,虽不影响程序运行,但强迫症患者实难忍受。正规做法肯定是查看报警告的api文档,更新的新的接口,但本人系小白一枚,就索性直接降低项目运行的Deployment Target版本了。

2. 修改项目运行依赖版本

选中项目->TARGETS->General->Deployment Info中,将Deployment Target修改为10.8就OK了~~~。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值