gpt4 book ai didi

graphics - 游戏着色器技术/用途概述/展示

转载 作者:行者123 更新时间:2023-12-04 12:37:11 27 4
gpt4 key购买 nike

我正在寻找可以让我更好地了解着色器在游戏中的用途、它们可以做什么,甚至更重要的是,它们不能做什么的资源。我了解图形管道的工作原理以及所有这些,并且我在 GLSL 中制作了一些非常基本的着色器(主要是为了替换固定功能的管道功能),但我还没有完全理解哪些东西只能使用自定义着色器,哪些事情可以更有效地完成,等等。我已经能够找到某些技术的一些例子,最显着的是照明,但我正在寻找它们用法的更高级概述。

与概述相反的某些有趣技术的链接和解释也值得赞赏(但少于概述 ;) ),最好是在 GLSL 或伪代码中。

最佳答案

考虑到 DirectX 和 OpenGL 都转向了仅着色器(即没有固定功能)的系统,“哪些效果只能使用着色器”问题的答案可能是“一切”。

我认为,如果没有可编程着色器(或使用非常特定的黑盒 API),一些技术是不可能/不可行的,它们是:

  • 每像素照明
  • 阴影映射。
  • 动画网格的 GPU 蒙皮(即矩阵调色板蒙皮)。
  • 当今常见的各种后期处理效果:泛光、SSAO、景深等。
  • 延迟着色。
  • 实现任意/“其他”照明模型,如 Oren-Nayar、Cook-Torrance、Rim-Lighting 等。

  • 这个列表可以继续下去,我相信有些人会不同意我的评估,即这些无法通过固定功能功能(通过黑客或各种固定功能扩展)实现。

    它归结为,在可编程着色器之前,供应商必须在硬件/驱动程序中实现给定的效果,并且它必须是可以通过 API 合理表达的东西。现在,您可以有效地执行您想要的任何用户定义的代码(在不同着色器阶段的约束和硬件的其他限制内),因此您可以灵活地极大地自定义渲染管道并发明您认为合适的新技术。

    看看前几本 GPU Gems 书籍(可以在 Nvidia 的网站上免费阅读),以了解可编程硬件可用后出现的技术类型。

    关于graphics - 游戏着色器技术/用途概述/展示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5611990/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com