首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phong明暗处理与细分

Phong明暗处理与细分
EN

Stack Overflow用户
提问于 2013-05-21 09:12:01
回答 2查看 1K关注 0票数 0

在查看源代码引擎时,我遇到了Phong Shading。这种描述听起来很像Tessellation。但当我查找时,我并没有找到任何直接比较这两者的东西。现在,在DirectX中,镶嵌不像HLSL中的Phong着色那样使用。有什么关系呢?我应该用哪一个呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-21 09:16:08

Phong明暗处理与DX11细分没有直接关系,但因为它们都可以平滑照明细节,所以我可以理解您可能会感到困惑。

细分根据某些参数(通常是摄影机距离)动态增加几何细节。这可以提高照明质量(也许这与phong有关?)以及剪影细节。着色优势(不是轮廓细节)实际上可以在像素着色器中完全模拟,而不需要细分。

Phong着色是一种像素着色技术。它不会影响几何细节。它类似于标准的OpenGL Gouraud shading,不同之处在于不是在曲面的像素上插值照明值,而是在曲面上插值法线并在每个像素处重新规格化。这提供了更精确的光照结果,通常称为“逐像素光照”,而不是“逐顶点光照”。

您可以在管道的不同部分合理地(可能通常是)同时使用这两种效果。

票数 3
EN

Stack Overflow用户

发布于 2013-11-14 02:45:05

正如Justin提到的那样,Phong Shading是一种着色例程,用于每像素更精确的照明。细分用于通过动态生成更多三角形来改变网格中的几何细节,以获得更高的曲面细节和更平滑的结果。它可以成功地用于动态细节水平,取决于到相机的距离或屏幕上的大小。

为了补充这个主题,我想我应该提到有一个称为Phong Tessellation的镶嵌算法,它从Phong着色中获得灵感,并将此算法应用于镶嵌。这意味着顶点将使用类似的法线插值进行修改,并实现高细节轮廓以及更好的曲面细节。Phong Tessellation有一个比常见的其他局部细分算法PN-三角形更简单的着色器,我用它在我参与的一个游戏中实现了更高细节的头部。

Phong Tessellation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16660613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档