首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Direct3D11像素阴影插值

Direct3D11像素阴影插值
EN

Stack Overflow用户
提问于 2017-05-01 14:31:57
回答 1查看 710关注 0票数 1

我试图在两种颜色之间建立一个简单的转换。所以一个四色的渲染,上面的边缘颜色是#2c2b35,底部的颜色是#1a191f。当我通过简单的象素着色器,它只是将颜色应用到顶点并插值它时,我得到了彩色显带的效果,我想知道如果没有先进的像素着色抖动技术,是否有一个消除这种效果的选项。

我附加了渲染的一幅画,其中左边的部分在我的应用程序中呈现,右边的部分在Photoshop中呈现,“抖动”选项被选中。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-03 17:10:27

分带是每个渲染引擎都必须在某个时候处理的问题。

在开始执行抖动之前,首先应该确认您正在遵循正确的srgb管道。(https://en.wikipedia.org/wiki/SRGB)

要使SRGB正确: RGBX8中的Swapchain和render曲面必须包含SRGB值。最简单的方法是使用XXXX_UNORM_SRGB格式创建一个呈现目标视图。纹理必须在适当的时候使用UNORM_SRGB格式的视图(反照率图),如果不是合适的(普通地图),阴影计算必须在线性空间中进行。

当使用正确的格式时,纹理和渲染目标将在读和写时为您执行转换,但对于常量,则必须手动进行转换。例如,在#2c2b35 : 0x2c中为srgb 44(0.1725),但线性值为0.025。

要进行渐变,必须在着色器中的线性空间中完成,并让渲染目标在写入时将其转换回srgb。

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

https://stackoverflow.com/questions/43720816

复制
相关文章

相似问题

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