12.07.2015 Views

新一代着色与渲染技术 - NVIDIA Developer Zone

新一代着色与渲染技术 - NVIDIA Developer Zone

新一代着色与渲染技术 - NVIDIA Developer Zone

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

新 一 代 着 色 与 渲 染 技 术Bryan Dudash<strong>NVIDIA</strong> 公 司1


像 素 着 色 器 3.0 功 能 比 较像 素 着 色 器 功 能着 色 器 2.0着 色 器 3.0描 述着 色 器 程 序 长 度9665535+允 许 使 用 更 复 杂 的 着 色 、 光 照 和 程 序 性材 料是 否 运 用 了 动 态 分支 技 术否是在 无 关 像 素 上 省 略 复 杂 的 着 色 操 作 , 从而 节 省 动 作 , 提 升 表 现着 色 器 抗 锯 齿 功 能不 支 持内 建 派 生 指 令开 发 人 员 可 以 计 算 具 有 任 何 功 能 的 屏 幕空 间 衍 生 物 , 并 零 用 这 些 衍 生 物 来 调 整着 色 频 率 或 过 度 取 样 , 以 此 来 消 除 非 自然 信 号最 低 精 度Fp24Fp32更 少 的 非 自 然 信 号 , 更 多 的 动 态 范 围是 否 应 用 了 隐 面 寄存 器是否可 以 在 一 次 处 理 流 程 内 进 行 双 面 光 照 处理©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


像 素 着 色 器 3.0 功 能 比 较像 素 着 色 器 功 能着 色 器 2.0着 色 器 3.0描 述是 否 应 用 了 隐 面 寄存 器是否可 以 在 一 次 处 理 流 程 内 进 行 双 面 光 照 处理插 入 颜 色 格 式8- 位 整 数 最 小值32- 位 浮 点 最 小值更 高 范 围 和 精 度 的 色 彩 , 所 以 能 够 在 顶点 层 次 上 进 行 更 高 动 态 范 围 的 照 明多 对 象 渲 染可 选必 须 为 4 个允 许 更 高 级 的 照 明 算 法 , 以 节 省 照 明 和顶 点 动 作 – 因 此 能 够 以 更 少 的 资 源 实现 更 多 的 光 照 效 果雾 化 与 镜 面8- 位 固 定 功 能最 小 值自 定 义 fp16-fp32 着 色 器 程序使 用 着 色 器 模 型 3.0, 程 序 开 发 人 员 能够 对 镜 面 和 雾 化 计 算 拥 有 更 多 的 控 制 ,而 这 些 在 以 前 版 本 中 都 是 固 定 功 能纹 理 坐 标 计 数8©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.10更 多 的 “ 每 像 素 ” 输 入 使 渲 染 效 果 更 加 栩栩 如 生 。 渲 染 皮 肤 时 更 是 如 此 。


定 点 着 色 器 3.0 功 能 比 较像 素 着 色 器 功能着 色 器 2.0着 色 器 3.0描 述着 色 器 程 序 长度256 指 令65535 指 令指 令 更 多 , 所 以 能 够 制 造 细 节 更 加生 动 的 角 色 光 影 效 果 和 动 画 效 果动 态 分 支 功 能否是在 无 关 的 顶 点 上 省 略 动 画 和 计 算 动作 , 所 以 能 够 节 省 资 源顶 点 纹 理否从 四 个 纹 理 起 ,提 供 任 何 次 数 的查 找提 供 置 换 式 贴 图 和 粒 子 特 效引 用 支 持否要 求一 个 命 令 , 可 提 取 多 个 不 同 的 对 象©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


这 些 强 大 功 能 可 以 带 来 哪 些 特 效 ?动 态 水 体 渲 染VS3.0 顶 点 纹 理 取 码浮 点 过 滤 / 混 合基 于 图 形 芯 片 的 动 态 模 拟动 态 体 积 雾 特 效利 用 多 边 形 基 本 要 素 来 固 定 雾 状 图 像利 用 多 对 象 (MRT) 渲 染 和 分 支 技 术 来 提 升 速 度几 何 坐 标 引 用调 用 一 次 绘 图 命 令 , 可 在 一 个 网 格 上 绘 制 多 个 实 例©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


典 型 工 作 流 程模 拟 顶 点 位 置 渲 染至 帧 缓 存©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


典 型 处 理 分 配模 拟 顶 点 位 置 渲 染至 帧 缓 存CPUGPU©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


“ 渲 染 至 顶 点 缓 存 ”无 需 从 图 形 芯 片 (GPU) 读 回 中 央 处 理 器渲 染 至 纹 理将 顶 点 储 存 为 纹 理数 据将 纹 理 读 入 顶 点 着 色器 中模 拟 纹 理 渲 染~10sGB/s至 帧 缓 存GPU©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 例织 物织 物 与 场 景 的 碰 撞运 行 织 物 物 理 特 性 :潮 湿 织 物 的 弹 性位 移 映 射顶 点 位 移©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


更 多 实 例雪 / 沙 堆 积模 拟 摩 擦 / 滑 动风 ( 模 拟 ) 折 弯 小 草粒 子 体 系水 波 / 航 迹©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


渲 染 水 体 — 算 法 概 要在 像 素 着 色 器 中 进 行 水 体 模 拟渲 染 到 纹 理(D3DFMT_A16B16G16R16F)渲 染 折 射 和 反 射 贴 图渲 染 水 面通 过 VS3.0 的 顶 点 纹 理 取 码 , 使 用模 拟 结 果计 算 受 扰 动 的 纹 理 坐 标使 用 菲 涅 尔 (Fresnel) 条 件 , 结合 折 射 和 反 射 效 果©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


渲 染 水 体水 体 的 细 化 平 面解 波 纹 等 式储 存 顶 点 高 度值在 顶 点 着 色 器 内 读 取 高 度 值模 拟 纹 理 渲 染至 帧 缓 存GPU©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


它 是 如 何 工 作 的 ?(0,0) (.25,0) (.5,0) (.75,0) (1,0)为 水 面 创 建 顶 点 网 格比 如 :128 乘 128 的 顶 点将 顶 点 网 格 位 置 编 码 为 uv 坐 标 值©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


顶 点 着 色 器 的 作 用读 取 “ 高 度 贴 图 ”浮 点 纹 理读 取 顶 点 uv 的 纹 理将 结 果 添 加 到 顶 点 的 Y 轴上vertex.y += tex(u, v)Out.pos = WorldViewProj * vertex©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


高 度 贴 图 为 动 态更 新 后 的 每 一 帧通 过 “ 渲 染 至 纹 理 ” 在 图 形 芯 片 上执 行Verlet 积 分 法©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


您 是 说 Verlet 法 ?A = ∑ (neighbors) – 4 H nH n+1 = H n +(H n –H n-1 ) + AH n+1 = (2*H n –H n-1 ) + A仅 在 位 置 上 进 行 操 作无 需 储 存 速 率 或 加 速 度从 位 置 计 算 法 线N = Normalize(S x T)©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


顶 点 纹 理 取 码 (VS3.0)顶 点 着 色 器 以 顶 点 纹 理 取 码 方 式 读 取 模 拟 结 果模 拟 纹 理应 用 高 度 贴 图©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


在 高 度 贴 图 中 添 加 扰 动 效 果将 位 移 效 果 混 入 水 体 之 中比 如 : 船 、 岩 石 、 海 岸Verlet- 积 分 算 法 在 下 一 帧 内 将 其 整 合是 的 , 浮 点 渲 染 对 象 混 合©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


折 射 图通 过 镜 头 视 角 渲 染 场 景渲 染 水 体 另 一 侧 的 景 物使 用 水 平 面 来 剪 贴 几 何 坐 标如 果 镜 头 位 于 水 面 之 上渲 染 水 面 之 下 的 几 何 坐 标如 果 镜 头 在 水 面 之 下渲 染 水 面 之 上 的 几 何 坐 标©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


反 射 图渲 染 来 自 反 射 镜 头 视 点 景 物反 射 水 平 面 上 的 景 物同 样 使 用 水 平 面 来 剪 贴 景 物渲 染 水 体 同 侧 的 景 物如 果 镜 头 位 于 水 面 之 下渲 染 水 面 之 下 的 几 何 坐 标如 果 镜 头 位 于 水 面 之 上渲 染 水 面 之 上 的 几 何 坐 标©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


菲 涅 尔 (Fresnel) 反 射 条 件确 定 反 射 / 折 射 量基 本 上 可 运 用 以 下 函 数 pow((1 - dot(eye,normal)), p)菲 涅 尔 (Fresnel) 条 件 = 0 => 全 折 射菲 涅 尔 (Fresnel) 条 件 = 1 => 全 反 射©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


优 点速 度 快 !在 128x128 纹 理 上 进 行 模 拟对 于 图 形 芯 片 来 说 很 小模 拟 并 不 会 影 响 帧 速 率合 理 的 几 何 复 杂 程 度128x128 是 16K 顶 点©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


VTF 演 示©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


半 透 明 与 散 射所 有 材 料 都 是 半 透 明 的取 决 于 光 波 波 长光 线 能 够 在 一 定 程 度 上 穿 透 所 有 表 面不 同 的 波 长具 有 不 同 的 穿 透 深 度在 不 同 深 度 上 具 有 不 同 的 衰 减 度如 果 没 有 被 吸 收 或 反 射 , 光 线 就 会 散 射 , 并 存 在于 别 的 什 么 地 方©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


半 透 明 要 素光 学 特 性吸 收 ( 几 率 与 距 离 对 比 )散 射 ( 几 率 与 距 离 和 角 度 对 比 )阻 抗 改 变 ( 反 射 与 折 射 )光 学 阻 抗 决 定 了 折 射 指 数任 何 物 体 都 能 吸 收 和 散 射 光 线液 体 、 固 体 、 气 体 , 甚 至 是 纯 净 空 气不 透 明 、 透 明 和 半 透 明在 吸 收 和 散 射 的 几 率 方 面 各 有 不 同©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


不 透 明高 吸 收 率 与 散 射 率光 线 走 捷 径光 线 来 自 表 面 而 非 内 部©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


透 明低 吸 收 率 与 散 射 率Leigh Van Der Byl 的 图 像 精 美 度©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


半 透 明低 吸 收 率高 散 射 率Leigh Van Der Byl©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 时 姿 态直 接 获 得 图 像 , 不 涉 及 数 学 算 法请 参 见 Hoffman 和 Preetham 书 籍 , 了 解 精 确 的 散 射 数 学 知 识各 种 技 巧厚 度 和 散 射 的 深 度 贴 图 渲 染纹 理 空 间 漫 射要 求便 于 艺 术 家 制 作 各 种 精 美 画 面速 度 极 快后 退 功 能可 进 行 动 态 处 理 的 光 照 和 自 投 射 阴 影©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


深 度 贴 图雾 状 物 是 普 通 的 多 面 体模 型使 用 “ 渲 染 至 纹 理 ” 流 程 来计 算 雾 状 物 的 厚 度ps.1.3ps.2.0 较 快ps.3.0 更 快©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


体 积 雾 技 术灵 感 来 自 微 软 的 “ 体 积 雾 ”DXSDK 展 示 效 果 ( 由Dan Baker 制 作 )[Mech01] 也 是 灵 感 源 泉从 镜 头 视 点 (P.O.V.) 计 算 普 通 多 变 形 对 象 的 厚 度渲 染 对 象 正 面 和 背 面 的 深 度从 厚 度 中 产 生 颜 色单 散 射 的 好 办 法©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


单 散 射光 线 从 散 射 源 射 入 眼 睛 一 次散 射 出 来 的 光 线 与 厚 度 成 比 例关 系视 点©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


按 像 素 渲 染 厚 度半 透 明 对 象距 离厚 度视 点像 素©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


根 据 距 离 计 算 的 厚 度距 离前 端后 端像 素厚 度厚 度 = 后 端 – 前 端©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


按 像 素 渲 染 厚 度距 离像 素厚 度 = ∑ 后 端 - ∑ 前 端计 算 任 何 具 有 均 匀 密 度 的 对 象 的 厚 度 都 比 较 容没 有 Z- 缓 存 。 使 用 相 加 混 合 法©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


将 厚 度 转 化 为 颜 色厚 度色 道 纹 理0.0厚 度 * 比 例 纹 理 坐 标 .x色 道 纹 理 : 艺 术 或 数 学易 于 控 制 效 果©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


如 何 处 理 交 叉 ?固 体 对 象 需 要 深 度体 积 对 象 的 各 个 面 没 有 深 度©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


交 叉 解 决 方 案需 要 最 近 的 固 体 对 象 的 深 度将 其 渲 染 到 纹 理在 像 素 着 色 器 内 读 取 纹 理在 您 渲 染 体 积 对 象 的 各 个 面 时像 素 着 色 器 输 出 更 少 的正 在 绘 制 的 体 积 对 象 三 角 深 度正 在 绘 制 的 像 素 固 体 对 象 深 度 ( 来 自 纹 理 )禁 用 深 度 测 试将 输 出 深 度 相 加 混 合 到 帧 缓 存 内©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


交 叉 解 决 方 案渲 染 的 深 度固 体 对 象©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.体 积 几 何 坐 标


交 集 法 的 优 点优 点无 需 模 版无 需 多 流 程 处 理缺 点渲 染 深 度 必 须达 到 与 体 积 相 交 的 程 度达 到 能 够 遮 蔽 整 个 体 积 的 程 度能 够 根 据 场 景 来 避 免©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


步 骤 : 像 素 着 色 器 2.0O1. 渲 染 固 体 对 象 到 后 台 缓 存普 通 渲 染2. 渲 染 可 能 与 雾 化 体 积 相 交 的 固 体 对象 的 深 度对 ARGB8 纹 理 , 用 “S”RGB 编 码 深 度 。 高 精 确 度 !3. 渲 染 雾 化 体 积 的 后 面对 ARGB8 纹 理 , 用 “B”利 用 相 加 混 合 法 来 计 算 深 度交 叉 使 用 样 例 纹 理 “S”SB©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


步 骤 :PS2.0 续4. 渲 染 雾 化 体 积 正 面对 ARGB8 纹 理 , 使 用 “F”利 用 相 加 混 合 法 , 计 算 深 度交 叉 使 用 样 例 纹 理 “S”5. 渲 染 后 台 缓 存 上 的 方 形样 例 “B” 或 “F”计 算 每 个 像 素 上 的 厚 度利 用 雾 化 色 道 纹 理 将 厚 度 转 换 为 颜 色将 颜 色 混 合 到 场 景 中5 指 令 ps.2.0 着 色 器FFinal©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


PS.3.0 HW 提 升前 台 / 后 台 寄 存 器多 对 象 渲 染 (MRT)浮 点 帧 缓 存 混 合更 少 的 流 程更 少 的 渲 染 对 象 纹 理©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


PS.3.0 与 PS.2.0 的 比 较MRT前 台 / 后 台 寄 存 器ps.3.0HW3 流 程RT-TexRT-Tex ‘O’浮 点 RT-tex后 台 缓 存ps.2.0HW5 流 程BackbufferRT-Tex ‘O’ RT-Tex ‘B’ RT-Tex ‘F’ 后 台 缓 存ps.1.3HW6©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


体 积 雾 演 示©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


延 迟 渲 染这 是 什 么 ?将 简 单 的 计 算 出 来 的 参 数 渲 染 到 后 台 缓 存 中常 量 、 眼 睛 视 角 、 光 线 向 量 等整 合 进 最 后 的 光 照 流 程 中为 什 么 要 延 迟 渲 染 ?过 量 使 用 复 杂 着 色 器 将 会 大 大 降 低 性 能 表 现最 后 流 程 的 深 度 复 杂 性 为 1PS3.0 分 支 可 以 提 升 性 能 表 现 效 果多 对 象 渲 染 (MRT) 可 以 在 一 个 流 程 里 输 出 所 有 光 照 效 果 数据©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


DX9 实 例 引 用 应 用 程 序 接 口 (API)这 是 什 么 ?调 用 一 次 绘 图 指 令 , 可 以 绘 制 同 一 模 型 的 多 个 实 例可 以 避 免 DIP 指 令 , 并 最 大 程 度 地 减 少 批 处 理 消 耗使 用 该 功 能 需 要 什 么 ?DX 9.0c支 持 VS/PS 3.0 的 图 形 设 备©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


为 什 么 使 用 该 功 能速 度在 当 今 游 戏 领 域 中 , 最 大 最 常 见 的 性 能 瓶 颈 就 是 绘 图指 令 的 调 用对 。 我 们 都 知 道 调 用 绘 图 指 令 很 麻 烦 。但 是 场 景 矩 阵 常 常 让 我 们 不 得 不 单 独 调 用 绘 图 指 令实 例 引 用 API 将 每 个 实 例 的 绘 图 逻 辑 下 放 到 驱 动 器/ 硬 件 上节 省 了 D3D 和 驱 动 器 上 的 绘 图 指 令 调 用 的 消 耗使 驱 动 器 可 以 确 保 各 个 实 例 之 间 的 最 小 的 状 态 变 化©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


运 用 “ 实 例 引 用 ” 例 子©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


什 么 时 候 引 用 实 例 ?场 景 包 括 同 一 模 型 的 多 个 实 例 !森 林 、 微 粒 、 精 灵 、 士 兵 等实 例 会 移 动 或 改 变因 此 静 态 缓 存 就 不 适 用 了如 果 您 的 批 量 很 大 , 用 处 就 不 大 了大 于 一 千 的 绘 图 动 作 受 绘 图 指 令 调 用 的 限 制 就 很 小 了使 用 实 例 引 用 有 些 固 定 的 消 耗额 外 的 顶 点 属 性额 外 的 顶 点 着 色 器 运 算©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


它 是 如 何 工 作 的 ?DX 实 例 引 用 API 使 用 顶 点 流 频 率 分 割 器 (VSF)API数 据 流 0数 据 流 1顶 点 数 据每 个 实 例 的 数 据顶 点 着 色器基 本 流 是 模 型 数 据 的 单 个 副 本次 级 流 包 含 每 个 实 例 的 数 据 每 次 基 本 流 被 渲 染 之后 , 流 指 示 器 都 要 提 升使 用 IDirect3DDevice9::SetStreamSourceFreq 进 入 点©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


它 是 如 何 工 作 的 ?(2)数 据 流 0V1 V2 V3 V4数 据 流 1M1 M2 M3模 数 为 #0, 分 割 器 为 #1在 数 据 流 0 上 循 环每 个 循 环 代 表 一 个 “ 实 例 ”分 割 数 据 流 1这 意 味 着 只 有 在 每 次 “ 实 例 引 用 ” 之 后 才 会 增 加©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


简 单 的 “ 实 例 引 用 ” 的 例 子100 棵 树数 据 流 0 仅 包 含 一 颗 树 的 模 型数 据 流 1 包 含 模 型 的 WVP 变 形可 能 基 于 视 野 内 实 例 来 计 算 每 帧 表 现顶 点 着 色 器 与 普 通 着 色 器 一 样 , 只 是 您 使 用 来 自 顶 点 流的 矩 阵 , 而 不 是 来 自 VS 常 量 的 矩 阵如 果 您 要 绘 制 一 万 棵 树 , 那 将 省 去 多 少 次 绘 图 指令 调 用 啊 !您 可 以 操 纵 VB, 预 先 将 顶 点 变 形 , 但 该 技 术 很 复 杂 ,往 往 需 要 复 制 大 量 的 数 据 。©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


上 百 万 棵 树 的 复 制这 个 测 试 里 , 我 们 要 绘 制 一 个 网 格 的 诸 多 实 例变 轴 是 每 个 网 格 多 边 形 的 数 量场 景 的 总 数 被 固 定 为 一 百 万 个 三 角 形所 以 当 网 格 尺 寸 变 大 时 , 实 例 数 量 会 减 少 。非 常 简 单 的 着 色 器更 多 复 杂 的 着 色 器 会 改 变 场 景 的 行 为 动 作大 型 的 像 素 着 色 器 在 某 些 网 格 尺 寸 上 可 能 会 变 成 瓶 颈 , 从 而 使 实例 引 用 总 是 和 单 DIP 一 样 快 。©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


百 万 副 本 测 试 结 果Instancing versus Single DIP callsInstancingNo InstancingFPS3 6 12 24 48 96 192 384 768 1536 2256Batch Size©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


百 万 副 本 测 试 结 果 2对 小 批 量 操 作 来 说 , 这 种 方 式 可 以 大 大 节 省 了 绘图 指 令 所 调 用 的 资 源将 额 外 数 据 添 加 到 顶 点 流 中 , 会 有 一 些 固 定 的 消耗 。顶 点 属 性 取 码 通 常 是 个 限 制 性 因 素超 过 了 我 们 顶 点 正 常 速 率 的 两 倍这 一 消 耗 不 一 定 会 导 致 问 题 , 这 要 视 系 统 中 其 他 瓶 颈而 定最 佳 尺 度 受 许 多 因 素 的 影 响 (CPU 速 度 、 图 形 芯片 速 度 、 引 擎 消 耗 等 )©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


其 他 主 意使 用 VS 常 量按 照 每 个 实 例 所 使 用 的 数 据 , 将 VS 常 量 内 存 分 割 为 多个 部 分 。在 实 例 流 中 编 入 “ 指 数 ” 代 码 , 以 补 偿 该 部 分 常 量 内 存 。这 样 将 减 轻 因 顶 点 着 色 器 属 性 太 多 而 对 性 能 表 现 造 成的 影 响 。纹 理 不 同 的 实 例绑 定 多 个 纹 理 , 使 用 实 例 数 据 在 它 们 之 间 进 行 Lerp 操作利 用 纹 理 页 面 , 将 UV 补 偿 放 入 第 二 个 数 据 流 中©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


其 他 主 意 (2)彩 色 实 例压 下 实 例 着 色 , 改 变 每 个 实 例 的 顶 点 颜 色< 您 的 主 意 和 观 点 >如 果 您 有 办 法 进 一 步 减 少 绘 图 指 令 调 用 , 您 将 制 作 出更 精 美 的 图 像 。 记 当 心 , 着 色 器 滥 用 和 顶 点 属 性 太 多会 造 成 的 额 外 消 耗 。您 不 必 将 您 的 场 景 降 低 为 一 次 绘 图 指 令 调 用 。如 果 您 能 够 同 时 批 处 理 4 个 实 例 , 那 么 您 已 经 将 绘 图 指令 调 用 数 目 减 少 了 4/3!©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 例 引 用 演 示空 间 场 景 ,500 多 艘 船 ,4000 多 块 岩 石复 杂 照 明 、 后 处 理有 些 CPU 数 据 碰 撞 也 会 继 续 作 用实 际 变 成 了 限 制 因 素在 实 例 引 用 方 面 , 速 度 大 大 提 升©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


更 多 实 例 引 用 的 性 能 表 现实 例 引 用 注 意 事 项 之 白 皮 书对 实 例 引 用 性 能 表 现 的 更 详 尽 的 讨 论http://developer.nvidia.com讨 论 其 他 可 以 减 少 绘 图 指 令 调 用 的 方 法大 量 的 图 片 :©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


有 问 题 ?©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


查 询 更 多 信 息 ?http://developer.nvidia.com<strong>NVIDIA</strong> SDKbdudash@nvidia.com我 可 以 使 用 英 语 和 日 语 回 答 问 题 。©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


参 考 文 献[Mech01] Radomir Mech, “Hardware-Accelerated Real-Time Rendering ofGaseous Phenomena.”©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!