
Metal
文章平均质量分 91
Mamong
这个作者很懒,什么都没留下…
展开
-
Metal学习笔记十三:阴影
在本章中,您将了解阴影。阴影表示表面上没有光。当另一个表面或对象使对象与光线相遮挡时,您会看到对象上的阴影。在项目中添加阴影可使您的场景看起来更逼真,并提供深度感。原创 2025-04-04 14:38:28 · 709 阅读 · 0 评论 -
Metal学习笔记十二:渲染通道
到目前为止,您创建的都是只有一个渲染通道的项目。换句话说,您仅使用一个渲染命令编码器将所有绘制调用提交给GPU。在更复杂的应用程序中,您通常需要在一个通道中将内容渲染到一个离屏纹理中,并在随后的通道中使用该结果,最后才将纹理呈现给屏幕。您需要使用多通道的原因有很多,可能是:•阴影:在下一章中,您将创建一个阴影通道并从方向灯光呈现深度图,以帮助在随后的通道中计算阴影。•延迟光照:您呈现几种具有颜色,位置和法线值的纹理。然后,在最终通道中,您可以使用这些纹理来计算光照。原创 2025-03-18 14:55:50 · 971 阅读 · 0 评论 -
Metal学习笔记目录
Metal学习笔记十五:基于平铺的延迟渲染。Metal学习笔记二十一:基于图片的光照。Metal学习笔记十六:GPU计算编程。Metal学习笔记二十二:反射与折射。Metal学习笔记九:3D场景导航。Metal学习笔记十九:镶嵌和地形。Metal学习笔记二十:片段后处理。Metal学习笔记十二:渲染通道。Metal学习笔记十四:延迟渲染。Metal学习笔记十七:粒子系统。Metal学习笔记十八:粒子行为。Metal学习笔记十三:阴影。原创 2025-03-04 16:54:50 · 201 阅读 · 0 评论 -
Metal学习笔记十一:贴图和材质
在上一章中,您设置了一个简单的 Phong 光照模型。近年来,研究人员在基于物理的渲染 (PBR) 方面取得了长足的进步。PBR 尝试准确表示真实世界的着色,其中离开表面的光量小于表面接收的光量。在现实世界中,对象的表面并不像到目前为止那样完全平坦。如果你观察周围的物体,你会注意到它们的基本颜色是如何根据光线照射到它们身上的方式而变化的。有些对象具有光滑的表面,而有些对象具有粗糙的表面。哎呀,有些甚至可能是闪亮的金属!以这个带有砖块纹理的球体为例。左侧的渲染显示一个简单的颜色纹理,阳光直接照射在其上。原创 2025-03-03 14:59:42 · 943 阅读 · 0 评论 -
Metal学习笔记十:光照基础
光和阴影是使场景流行的重要要求。通过一些着色器艺术,您可以突出重要的对象、描述天气和一天中的时间并设置场景的气氛。即使您的场景由卡通对象组成,如果您没有正确地照亮它们,场景也会变得平淡无奇。最简单的照明方法之一是 Phong 反射模型。它以 Bui Tong Phong 的名字命名,他在 1975 年发表了一篇论文,扩展了旧的照明模型。这个想法不是尝试复制光线和反射物理学,而是生成看起来逼真的图片。这种模型已经流行了 40 多年,是开始使用几行代码来学习如何伪造照明的好地方。原创 2025-03-01 19:15:54 · 1162 阅读 · 0 评论 -
Metal学习笔记八:纹理
到目前为止,您已经学习了如何使用片段函数和着色器为模型添加颜色和细节。另一种选择是使用图像纹理,您将在本章中学习如何作。更具体地说,您将了解:• UV 坐标:如何展开网格,以便可以对其应用纹理。• 纹理化模型:如何读取片段着色器中的纹理。• 资产目录:如何组织纹理。• 采样器:读取 (采样) 纹理的不同方式。• Mipmaps:多级纹理,以便纹理分辨率与显示大小匹配并占用更少的内存。原创 2025-02-27 22:28:06 · 1213 阅读 · 0 评论 -
Metal学习笔记七:片元函数
知道如何通过将顶点数据发送到 vertex 函数来渲染三角形、线条和点是一项非常巧妙的技能 — 尤其是因为您能够使用简单的单行片段函数为形状着色。但是,片段着色器能够执行更多操作。➤ 打开网站 https://shadertoy.com,在那里您会发现大量令人眼花缭乱的社区创建的出色着色器。这些示例可能看起来像复杂 3D 模型的渲染图,但外观具有欺骗性!您在此处看到的每个 “模型” 都是完全使用数学生成的,用 GLSL 片段着色器编写。原创 2025-02-27 15:24:04 · 1080 阅读 · 0 评论 -
Metal 学习笔记六:坐标空间
要在网格上轻松找到一个点,您需要一个坐标系。例如,如果网格恰好是您的 iPhone 15 屏幕,则中心点可能是 x:197、y:426。但是,该点可能会有所不同,具体取决于它所处的空间。在上一章中,您了解了矩阵。通过将顶点的位置乘以特定矩阵,可以将顶点位置转换为不同的坐标空间。顶点在经过渲染管线时通常有 6 种空间:1.物体局部空间2.世界空间3.相机空间4.裁剪空间5.规格化设备空间:NDC(Normalized Device Coordinate)6.屏幕空间。原创 2025-02-27 09:28:46 · 733 阅读 · 0 评论 -
Metal 学习笔记五:3D变换
在上一章中,您通过在 vertex 函数中计算位置数据,来平移顶点和在屏幕上移动对象。但是,在 3D 空间中,您还想执行更多操作,例如旋转和缩放对象。您还需要一个场景内摄像机,以便您可以在场景中移动。要移动、缩放和旋转三角形,您将使用矩阵 - 一旦您掌握了一个三角形,就可以一次旋转具有数千个三角形的模型!对于我们这些不是数学天才的人来说,向量和矩阵可能有点可怕。幸运的是,在使用数学时,您不必总是需要知道引擎盖下的内容。为了提供帮助,本章的重点不是数学,而是矩阵。原创 2025-02-26 15:02:49 · 842 阅读 · 0 评论 -
Metal 学习笔记四:顶点函数
到目前为止,您已经完成了 3D 模型和图形管道。现在,是时候看看 Metal 中两个可编程阶段中的第一个阶段,即顶点阶段,更具体地说,是顶点函数。原创 2025-02-25 20:53:24 · 919 阅读 · 0 评论 -
Metal 学习笔记三:渲染管线
现在,您对 3D 模型和渲染有了更多的了解,是时候了解一下渲染管线了。在本章中,您将创建一个渲染红色立方体的 Metal 应用程序。在学习本章时,您将仔细了解负责将 3D 对象转换为在屏幕上看到的华丽像素的硬件。首先是 GPU 和 CPU。每台计算机都配备了图形处理单元(GPU)和中央处理单元(CPU)。GPU是一种专业的硬件组件,可以非常快速地处理图像,视频和大量数据。在处理大量数据时,我们会用吞吐量,来衡量数据在一个指定时间单位内处理的数据量。另一方面,CPU管理资源并负责计算机的运作。原创 2025-02-25 11:04:13 · 917 阅读 · 0 评论 -
Metal 学习笔记二:3D模型
3D模型是由顶点组成的。每个顶点都是3D空间的一个点,由 x, y, z 值组成。就像你在前一章看到的,你会发送这些顶点数据到GPU来渲染它们。打开本章的starter的playground。这个playground包含两页,Render and Export 3D Model 以及 Import Train。它也包含了USDZ格式的train模型,如果你看不到这些东西的话,你可能需要使用右上角图标来显示项目导航。原创 2025-02-24 10:58:59 · 811 阅读 · 0 评论 -
Metal 学习笔记一:你好,Metal
在 3D 计算机图形学中,你把一堆点连接起来,然后在屏幕上创建一个图像。此图像称为渲染。从点渲染图像涉及计算屏幕上每个像素的明暗。光线会在场景周围反射,因此您必须确定光照的复杂程度以及渲染每个图像需要多长时间。Pixar 电影中的单个图像可能需要几天时间才能完成渲染,但游戏需要实时渲染,您可以立即看到图像。渲染 3D 图像的方法有很多种,但大多数都是从 Blender 或 Maya 等建模应用程序中构建的模型开始的。原创 2025-02-23 23:02:06 · 802 阅读 · 0 评论