mac计算机图形学,如何优雅地在 Mac 上应付本科计算机图形学的 GLUT

2024-02-27 12:40

本文主要是介绍mac计算机图形学,如何优雅地在 Mac 上应付本科计算机图形学的 GLUT,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

时至今日,这群孩子的计算机图形学还是在学 GLUT ,未免有些遗憾。不过好处自然是简单不用闹腾,老师甚至建议用 VC++ 6.0 作为 IDE ,嗯这就是中国的本科 CS 教育现状。

又是一年图形学开课,这两年实验室用 Mac 的孩子也越来越多,也开始在问 Mac 怎么配 GLUT ,于是就把我当年的经历再发一遍。

GLUT 和 OpenGL 的库,在 Mac 下都是自带的,不需要太操心配置环境的问题。

首先, Xcode 新建一个 macOS 的命令行工具工程。

a4e59d5031295ccf76714bdd21d8796d.png

然后语言记得切换成 C++

e4f043b55aa7a6f8311e28aa67784272.png

建好工程之后,在项目属性的 General 下面的 Linked Frameworks and Libraries 添加 GLUT 和 OpenGL 的库。

4432268aeb2fc30de7521faa0c0498df.png

68c62511787ce9df48a1fd75d6cea292.png

e8fb0032c8baba24ebc37af92f3b54ef.png

最后记得 Deployment Target 一定要降到 10.9 以下,比如 10.8 ,因为 GLUT 在 10.9 就已经被标记为弃用,不调这个会有一大堆 Warning。

33cf5d7a4641cf68e4a6b5f6c033f56a.png

弄完之后在 main.cpp 添加头文件

#include

如果需要其他的 GLUT 头文件,在敲完路径中的 “GLUT/” 之后, Xcode 会有自动补全提示。

写好自己的 GLUT 程序, Cmd+R 即可运行。

d508bde071cc6630d49c443229a1ff54.png

另:如果想要自己配置 VSCode 等编译器,需要的文件路径如下:

头文件:

GLUT:

/System/Library/Frameworks/GLUT.framework/Versions/Current/Headers

OpenGL:

/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers

库文件:

OpenGL:

/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries

如何优雅地在 Mac 上应付本科计算机图形学的 GLUT

这篇关于mac计算机图形学,如何优雅地在 Mac 上应付本科计算机图形学的 GLUT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752424

相关文章

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

使用Python实现一个优雅的异步定时器

《使用Python实现一个优雅的异步定时器》在Python中实现定时器功能是一个常见需求,尤其是在需要周期性执行任务的场景下,本文给大家介绍了基于asyncio和threading模块,可扩展的异步定... 目录需求背景代码1. 单例事件循环的实现2. 事件循环的运行与关闭3. 定时器核心逻辑4. 启动与停

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N