Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >金属多重采样导致纹理变暗

金属多重采样导致纹理变暗
EN

Stack Overflow用户
提问于 2019-01-16 16:37:20
回答 1查看 103关注 0票数 1

因此,我正尝试在我的Metal应用程序中实现全屏MSAA。我让它正常工作,当绘制实心填充的多边形时,边缘看起来像预期的一样平滑。但是,我的带纹理的多边形看起来很暗,并且随着采样数的增加而变暗,这表明着色器可能只对每个碎片进行一个纹理采样,并将其与黑色的n - 1采样混合,从而使其变得更暗。

然而,在我的应用程序中,我也有纹理渲染到屏幕上,然后绘制到屏幕上。这些纹理显示得非常好。我真的看不出这两种纹理之间的区别,这会改变多重采样的行为。

无论如何,如果有人能给我任何关于发生了什么的线索,我将不胜感激。在这个问题上我被难住了。

编辑:

Here is how I am setting up all my pipeline state(s)

Here is how the texture pipeline state is set up specifically

EN

回答 1

Stack Overflow用户

发布于 2019-01-16 19:43:06

我想通了。问题是我没有将我的模板绘制流水线状态设置为多采样。因此,它只读取模板缓冲区中n个样本中的1个的值,从而使输出变暗。现在可以正常工作了。

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

https://stackoverflow.com/questions/54221511

复制
相关文章
Photoshop教程丨制作金属纹理立体字
小新又给大家准备了很有意思的PS教程了,说实话,PS在工作中使用越来越多,一些傻瓜式软件很难满足自己的需要,多学点PS技术,以后一定会给大家许多的便利的。
半夜喝可乐
2019/06/11
1.1K0
windows/mfc程序中使用OpenGL的多重采样功能
学过opengl基础的人都知道,打开混合功能并调用glEnable(GL_POINT_SMOOTH)/glEnable(GL_LINE_SMOOTH)可以实现模型点/线的反走样功能,非常简单且效果不错。
全栈程序员站长
2022/08/26
1.2K0
windows/mfc程序中使用OpenGL的多重采样功能
OpenGL ES实践教程(五)多重纹理实现图像混合
教程 OpenGL ES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 OpenGL ES实践教程3-Demo03-Mirror OpenGL ES实践教程4-Demo04-VR全景视频播放 其他教程请移步OpenGL ES文集。 有简书的开发者问我如何使用在一张大图上贴一张小图,原始的需求是在检测人脸,在返回的范围(矩形)内贴上一张图片。 有几点前提: 尽量少消耗CPU; 合成的数据是用于推流; 图片大小不一致; 说说如果没有上述几点
落影
2018/04/27
3.4K0
OpenGL ES实践教程(五)多重纹理实现图像混合
基础渲染系列(九)——复合材质
(温馨提示:本系列知识是循序渐进的,推荐第一次阅读的同学从第一章看起,链接在文章底部)
放牛的星星
2020/07/10
3.5K0
基础渲染系列(九)——复合材质
基础渲染系列(三)多样化的表现——组合纹理
这是渲染系列的第三篇文章,上一节介绍了着色器和纹理。我们已经看到了如何使用单一的纹理制作一个用平坦的表面完成的复杂显示的例子,现在我们更进一步,一次同时使用多个。
放牛的星星
2020/07/10
2.7K0
基础渲染系列(三)多样化的表现——组合纹理
Unity通用渲染管线(URP)系列(八)——复杂的贴图(Masks, Details, and Normals)
这是有关创建自定义可编程渲染管道的系列教程的第八部分。通过增加对遮罩,细节和法线贴图的支持,可以创建复杂的表面。
放牛的星星
2020/12/24
4.5K0
cocos2d-js Shader系列3:多重纹理 multiple textures multiple samplers
上一篇,我们学习了怎么便捷的控制sprite的颜色,而这个都是默认一个texture的,如果要实现类似mask的效果,或者更个性化的多纹理效果,怎么实现呢? 这就是这一节需要介绍的内容。 例如上
用户1258909
2018/07/03
1.9K0
css怎么让图片变暗?
css怎么让图片变暗?下面本篇文章就来给大家介绍一下使用CSS让图片变暗的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
kirin
2020/10/28
5.8K0
css怎么让图片变暗?
Shader经验分享
流水线 1.应用阶段:(CPU)输出渲染图元,粗粒度剔除等 比如完全不在相机范围内的需要剔除,文件系统的粒子系统实现就用到粗粒度剔除。 2.几何阶段:(GPU)把顶点坐标转换到屏幕空间,包含了模型空间 到世界空间 到观察空间(相机视角view) 到齐次裁剪空间(投影project2维空间,四维矩阵,通过-w<x<w判断是否在裁剪空间) 到归一化设备坐标NDC(四维矩阵通过齐次除法,齐次坐标的w除以xyz实现归一化) 到屏幕空间(通过屏幕宽高和归一化坐标计算)。 a.顶点着色器:坐标变换和逐顶点光照,将顶点空间转换到齐次裁剪空间。 b.曲面细分着色器:可选 c.几何着色器:可选 d.裁剪:通过齐次裁剪坐标的-w<x<w判断不在视野范围内的部分或者全部裁剪,归一化。 e.屏幕映射:把NDC坐标转换为屏幕坐标 3.光栅化阶段:(GPU)把几何阶段传来的数据来产生屏幕上的像素,计算每个图元覆盖了哪些像素,计算他们的颜色、 a.三角形设置:计算网格的三角形表达式 b.三角形遍历:检查每个像素是否被网格覆盖,被覆盖就生成一个片元。 c.片元着色器:对片元进行渲染操作 d.逐片元操作:模板测试,深度测试 混合等 e.屏幕图像 ------------------------------------------------------- 矩阵: M*A=A*M的转置(M是矩阵,A是向量,该公式不适合矩阵与矩阵) 坐标转换: o.pos = mul(UNITY_MATRIX_MVP, v.vertex);顶点位置模型空间到齐次空间 o.worldNormal = mul((float3x3)_Object2World,v.normal);//游戏中正常的法向量转换,转换后法向量可能不与原切线垂直,但是不影响游戏显示,而且大部分显示也是差不多的。一般用这个就行了。 o.worldNormal = mul(v.normal, (float3x3)_World2Object);顶点法向量从模型空间转换到世界空间的精确算法,公式是用_Object2World该矩阵的逆转置矩阵去转换法线。然后通过换算得到该行。 ------------------------------------------------------- API: UNITY_MATRIX_MVP 将顶点方向矢量从模型空间变换到裁剪空间 UNITY_MATRIX_MV 将顶点方向矢量从模型空间变换到观察空间 UNITY_MATRIX_V 将顶点方向矢量从世界空间变换到观察空间 UNITY_MATRIX_P 将顶点方向矢量从观察空间变换到裁剪空间 UNITY_MATRIX_VP 将顶点方向矢量从世界空间变换到裁剪空间 UNITY_MATRIX_T_MV UNITY_MATRIX_MV的转置矩阵 UNITY_MATRIX_IT_MV UNITY_MATRIX_MV的逆转置矩阵,用于将法线从模型空间转换到观察空间 _Object2World将顶点方向矢量从模型空间变换到世界空间,矩阵。 _World2Object将顶点方向矢量从世界空间变换到模型空间,矩阵。 模型空间到世界空间的矩阵简称M矩阵,世界空间到View空间的矩阵简称V矩阵,View到Project空间的矩阵简称P矩阵。 --------------------------------------------- _WorldSpaceCameraPos该摄像机在世界空间中的坐标 _ProjectionParams _ScreenParams _ZBufferParams unity_OrthoParams unity_Cameraprojection unity_CameraInvProjection unity_CameraWorldClipPlanes[6]摄像机在世界坐标下的6个裁剪面,分别是左右上下近远、 ---------------------------- 1.表面着色器 void surf (Input IN, inout SurfaceOutput o) {}表面着色器,unity特殊封装的着色器 Input IN:可以引用外部定义输入参数 inout SurfaceOutput o:输出参数 struct SurfaceOutput//普通光照 { half3 Albedo;//纹理,反射率,是漫反射的颜色值 half3 Normal;//法线坐标 half3 Emission;//自发光颜色 half Specular;//高光,镜面反射系数 half Gloss;//光泽度 half Alpha;//alpha通道 } 基于物理的光照模型:金属工作流Surfa
bering
2019/12/03
2.1K0
Unity通用渲染管线(URP)系列(七)——LOD和反射(Adding Details)
这是有关创建自定义脚本渲染管道的系列教程的第七部分。它涵盖了详细的层次结构(LOD)和简单的反射,可以为场景添加细节。
放牛的星星
2020/12/24
4.6K0
Shader-基础纹理-遮罩纹理
遮罩纹理(mask texture)控制光照的强度,获得更加细腻的效果,通过遮罩纹理控制光照。在制作地形材质的时候混合多张图片,遮罩纹理控制如何混合这些纹理。 通过采样得到的纹素值与某种表面属性相乘,来更加精准的控制模型表面的各种属性。 在代码中添加了BumpMap来进行凹凸纹理效果,通过SpecularMask实现控制高光的光照
祝你万事顺利
2019/05/28
1.2K0
Shader-基础纹理-渐变纹理
一种基于冷暖色调的着色技术,通过渐变纹理控制漫反射光照。核心部分来说用过使用halfLambert构建一个纹理坐标,用这个纹理坐标来对渐变纹理进行采样。
祝你万事顺利
2019/05/28
1.2K0
负采样_欠采样
训练一个神经网络意味着要输入训练样本并且不断调整神经元的权重,从而不断提高对目标的准确预测。每当神经网络经过一个训练样本的训练,它的权重就会进行一次调整。
全栈程序员站长
2022/08/03
5350
基础渲染系列(八)——反射
(温馨提示:本系列知识是循序渐进的,推荐第一次阅读的同学从第一章看起,链接在文章底部)
放牛的星星
2020/07/10
4.1K0
AI新海诚就是在下,不信来玩
现在,不需要人类画师一帧帧描画,把你拍下的视频喂给AI,就能让现实世界分分钟掉进二次元世界。
量子位
2020/08/12
7190
AI新海诚就是在下,不信来玩
23.opengl高级-抗锯齿
参考上图,几何图形是连续的坐标连接实现的,实际屏幕上的像素是离散化的点,分辨率越低的屏幕离散越剧烈,在图形的边缘必然会产生锯齿。
公号sumsmile
2020/07/17
3.3K0
23.opengl高级-抗锯齿
基础渲染系列(十)——更复杂的复合材质
这是关于渲染的系列教程的第十部分。上一次,我们使用了多个纹理来创建复杂的材质。这次我们再增加一些复杂度,并且还支持多材质编辑。
放牛的星星
2020/07/10
2.4K0
纹理压缩
本文介绍了纹理压缩的基本概念、原理、常用压缩方式、压缩工具及相关技术标准,旨在帮助读者了解纹理压缩的基本知识,从而更好地进行纹理压缩相关的实践。
MelonTeam
2018/01/04
1.6K0
纹理压缩
Shader-高级纹理-立方体纹理
是环境映射(EnvironmentMapping)一种实现方式。 纹理采样:对立方体采样需要提供一个三维的纹理坐标,这个三维纹理坐标表示了我们在世界空间下的一个3D、方向。
祝你万事顺利
2019/05/29
9010
过采样和欠采样_欠采样有几种情况
1、对基带信号进行欠采样是无法从采样信号中恢复出原始信号的,因此基带信号的采样都是过采样。
全栈程序员站长
2022/11/01
4.3K0

相似问题

金属//读取多采样深度纹理

23

整数纹理的多重采样如何工作

117

纹理对象和采样器的多重纹理化理论

20

在金属中同时使用纹理和无纹理,并进行多重混合。

14

iOS上的多重采样不能获得深度纹理?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档