【问题标题】:When should I write a shader?我什么时候应该写一个着色器?
【发布时间】:2018-02-12 06:27:48
【问题描述】:

我刚刚开始探索着色器的世界(特别是与游戏相关的),但我很难回答这个问题,“我什么时候应该编写自己的着色器?”

我知道片段着色器主要负责为单个像素着色,但实际何时实际使用它?什么样的简单游戏使用自定义着色器来生成原本不可能的场景(例如,通过使用 Unity 默认值)?

总的来说,我对着色器的作用有一个粗略的了解,但我不知道什么时候应该使用它们。

【问题讨论】:

  • 一般来说,当您想要实现与通常渲染不同的图形渲染时,您应该编写一个着色器。 生成场景是什么意思?
  • 这是一个纯粹的 unity3d 问题,还是您想要一个关于何时在 OpenGL 中编写着色器的一般解释?
  • 你不能 do this 使用内置着色器。
  • @BDL 我问的是一般的着色器,但了解它们与游戏相关的具体情况会很有用。

标签: unity3d shader


【解决方案1】:

与所有代码一样,如果您使用着色器提出的解决方案能够完成您需要完成的工作,那么您就可以使用它。只要它可以在您正在开发的操作系统上运行并且性能不太重。

着色器有时性能会很重,但也有移动着色器和相对较轻的着色器。

什么样的简单游戏会使用自定义着色器来生成原本不可能的场景

不完全是游戏,但这里演示了使用着色器可以方便地防止水进入船。

如果您观看此视频:

https://www.youtube.com/watch?v=7fMCTVhEzmU

以及同一个人上传的其他视频。他展示了许多效果示例,据我所知,如果没有着色器,这些效果将无法实现。至少更难实现。

【讨论】:

  • 我不明白为什么这艘船不能只是漂浮在水面上。
  • 这当然是可能的,但真正的船不会完全漂浮在水面上,它们会沉入水中并在那里保持平衡。因此,一艘看起来逼真的船会被部分淹没。
猜你喜欢
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 2016-05-09
  • 2023-02-07
  • 1970-01-01
  • 2019-02-16
相关资源
最近更新 更多