七天近千星!哈佛小哥这个github仓库从零开始教你计算机图形学

简介: 你的图形学考了多少分?你好奇光追怎么实现的吗?这个哈佛小哥开发了一个仓库,帮你入门图形学!

计算机图形学被称为计算机「三大浪漫」之一,这个github仓库将帮助迷茫的你快速入门。

 

仓库中包括多个模型,如片段着色器(使用GLSL语言编写)、过程纹理生成、栅格化、光照计算和实时光线跟踪。

 

所有的项目都将使用WebGL的标准技术,在浏览器中的使用图形编码进行开发。这种方式利用了现代的Web开发工具来快速迭代,并能够很容易与其他人分享自己的工作成果。并且无需实际编写javascript代码。

 

基础的运行环境要求是node.js v14和npm。

 

对于初学者,作者建议从「被子图案」作为入门项目。

 

被子图案怎么做?

 

片段着色器运行在屏幕上的每个像素点,每个像素点由着色器确定它的颜色。vec4是一个带有红色、绿色、蓝色和透明通道的4维向量。

 

核心代码在shaders/quilt.frag.glsl,它能够运行在GPU上。

 

50.jpg

通过把代码中的注释部分打开就可以获得更丰富的样式。


51.jpg

还能着色什么图案?


满满的「我的世界」风的岛屿图。


52.jpg使用实时计算机图形学中非常流行的光栅化方法渲染3D三角形网格,与大多数游戏使用的算法相同。追求更逼真的、模拟现实世界中的物体。

 


53.jpg

探索风格化渲染,也称为非照片级渲染。这是一个放弃忠实于现实生活的图形领域,但是在模仿表达风格时可以实现更具创意的表达。主要原理是根据亮度强度的阈值离散化它并以不同的样式进行阴影处理,能够模仿漫画书中的艺术风格。

54.jpg

「光线追踪」的算法能够反射,是照片级真实感渲染中的黄金标准。计算机上的光线跟踪算法遵循穿过场景的无穷小光线的路径,直到它们与曲面相交为止。这种方法提供了一种从任何特定位置和方向查找第一个可见对象的简单方法,并且是许多渲染算法的基础。

 

55.jpg

作者其人


 Eric Zhang,是哈佛大学的硕士研究生,学习数学和计算机科学,他的主要研究兴趣是图形学、机器学习、编程语言和系统。在高中时期代表美国拿到两块IOI金牌,还给美国的高中生写了一本物理书。


56.jpg


作者的github也是十分勤奋!曾在英伟达实习、协助实现sota的语义分割系统。

 

57.jpg

作者对音乐也颇有研究。


58.jpg


相关文章
|
5月前
|
开发工具 git 开发者
2024最简七步完成 将本地项目提交到github仓库方法
该文章提供了一个简洁的七步教程,指导用户如何将本地项目提交到GitHub仓库。
2024最简七步完成 将本地项目提交到github仓库方法
|
3天前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
PeterCat:一键创建开源项目 AI 问答机器人,自动抓取 GitHub 仓库信息、文档和 issue 等构建知识库
PeterCat 是一款开源的智能答疑机器人,能够自动抓取 GitHub 上的文档和 issue 构建知识库,提供对话式答疑服务,帮助开发者和社区维护者高效解决技术问题。
50 7
PeterCat:一键创建开源项目 AI 问答机器人,自动抓取 GitHub 仓库信息、文档和 issue 等构建知识库
|
13天前
|
人工智能 前端开发 Linux
github是怎么用的,如何下载仓库
github是怎么用的,如何下载仓库
|
3月前
|
对象存储
一个通过 GitHub Action 将 GitHub 仓库与阿里云 OSS 完全同步的脚本
一种将 GitHub 仓库完全同步到阿里云 OSS 的方法。
|
5月前
|
存储 安全 API
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
|
5月前
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
107 0
Github代码仓库SSH配置流程
|
5月前
|
网络协议 Shell 网络安全
开发工具使用之 github 私人仓库Clone 失败的问题
这篇文章介绍了解决GitHub上私人仓库克隆失败的问题,通过检查本地SSH key的存在与否、生成新的SSH key、添加SSH key到GitHub以及使用SSH方式克隆私有仓库的步骤来解决这个问题。
开发工具使用之 github 私人仓库Clone 失败的问题
|
5月前
|
存储 前端开发 数据可视化
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
这篇文章详细介绍了如何在GitHub上创建新仓库,以及如何将多个项目整合到一个仓库中进行管理。文章还提供了克隆仓库到本地、使用不同文件夹存放不同项目代码、以及将这些项目提交到远程服务器的步骤和方法。
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
|
5月前
|
存储 API 网络架构
GitHub——通过接口获取仓库下的最新版本
GitHub——通过接口获取仓库下的最新版本
48 1