七天近千星!哈佛小哥这个Github仓库从零开始教你计算机图形学
计算机图形学被称为计算机「三大浪漫」之一,这个github仓库将帮助迷茫的你快速入门。
仓库中包括多个模型,如片段着色器(使用GLSL语言编写)、过程纹理生成、栅格化、光照计算和实时光线跟踪。
所有的项目都将使用WebGL的标准技术,在浏览器中的使用图形编码进行开发。这种方式利用了现代的Web开发工具来快速迭代,并能够很容易与其他人分享自己的工作成果。并且无需实际编写javascript代码。
基础的运行环境要求是node.js v14和npm。
对于初学者,作者建议从「被子图案」作为入门项目。
被子图案怎么做?
片段着色器运行在屏幕上的每个像素点,每个像素点由着色器确定它的颜色。vec4是一个带有红色、绿色、蓝色和透明通道的4维向量。
核心代码在shaders/quilt.frag.glsl,它能够运行在GPU上。
通过把代码中的注释部分打开就可以获得更丰富的样式。
还能着色什么图案?
满满的「我的世界」风的岛屿图。
使用实时计算机图形学中非常流行的光栅化方法渲染3D三角形网格,与大多数游戏使用的算法相同。追求更逼真的、模拟现实世界中的物体。
探索风格化渲染,也称为非照片级渲染。这是一个放弃忠实于现实生活的图形领域,但是在模仿表达风格时可以实现更具创意的表达。主要原理是根据亮度强度的阈值离散化它并以不同的样式进行阴影处理,能够模仿漫画书中的艺术风格。
「光线追踪」的算法能够反射,是照片级真实感渲染中的黄金标准。计算机上的光线跟踪算法遵循穿过场景的无穷小光线的路径,直到它们与曲面相交为止。这种方法提供了一种从任何特定位置和方向查找第一个可见对象的简单方法,并且是许多渲染算法的基础。
作者其人
Eric Zhang,是哈佛大学的硕士研究生,学习数学和计算机科学,他的主要研究兴趣是图形学、机器学习、编程语言和系统。在高中时期代表美国拿到两块IOI金牌,还给美国的高中生写了一本物理书。
作者的github也是十分勤奋!曾在英伟达实习、协助实现sota的语义分割系统。
作者对音乐也颇有研究。
参考资料:
https://github.com/ekzhang/graphics-workshop
相关文章
- 支持 AWS Fargate 的 AWS Graviton2 —让您的无服务器容器的性价比提高多达 40%
- AWS 免费套餐数据传输扩展 – 每月来自各个区域的 100 GB 以及和 Amazon CloudFront 的 1 TB 数据传输
- 新增功能 — AWS Proton 支持 Terraform 和 Git 存储库来管理模板
- 加入预览版 — 由新的 AWS Graviton3 处理器提供支持的 Amazon EC2 C7g 实例
- 新功能 – AWS Marketplace for Containers Anywhere,可在任何环境中部署您的 Kubernetes 集群
- java static 性能_Java Static 深入理解
- 预览 – 用于构建机器人机群管理应用程序的 AWS IoT RoboRunner
- Amazon CodeGuru Reviewer 推出密钥检测器功能来识别硬编码的密钥并使用 AWS Secrets Manager 进行保护
- 新增功能 – AWS Outposts 服务器采用两种外形规格
- 由 AWS Graviton2 处理器提供支持的全新存储优化型 Amazon EC2 实例(Im4gn 和 Is4gen)
- AWS Nitro SSD – 适用于输入/输出密集型应用的高性能存储
- 推出 Amazon Redshift Serverless – 能以任何规模运行分析,而无需管理数据仓库基础设施
- 新增功能 – 使用 AWS Direct Connect SiteLink 实现站点到站点连接
- 新增 – Amazon EBS Snapshots Archive
- Karpenter 简介 – 开源高性能 Kubernetes 集群自动扩缩程序
- 新增 – 将 Amazon S3 事件通知与 Amazon EventBridge 结合使用
- 新增 – EBS 快照的回收站
- python logging模块
- 新增 – AWS Control Tower Account Factory for Terraform
- 新增功能 – Amazon FSx for OpenZFS