Home › Forums › GAMES104 现代游戏引擎:从入门到实践 › 关于作业二中Color grading实现后会出现圈状花纹的bug This topic has 9 replies, 6 voices, and was last updated 2 years, 7 months ago by zhishao. Viewing 5 reply threads Author Posts 2022年5月4日 at 下午6:48 #11457 Score: 0 zhishaoParticipant Karma: 2 pts 我在实现了Color grading的效果之后发现画面中会有如附件中的圈状不规则花纹,有同学遇到过吗?或者知道造成的原因? Attachments:You must be logged in to view attached files. 2022年5月5日 at 上午12:11 #11459 Score: 0 rmlxParticipant 如果用的老师给的lut应该不会,我倒是出现了不过因为单纯的计算错行了导致后面插值算的很奇怪,建议检查一下代码。我想到debug方法是outcolor赋值颜色检测每一步的值对不对 2022年5月5日 at 上午12:17 #11460 Score: 0 huanggaoleParticipant Karma: -1 pt 同学你好,请做下述检查: 1. 检查一下使用的是哪一个lut图。第二次作业默认使用的 “asset/texture/lut/color_grading_lut_01.png”是一张256*16尺寸的lut图,每个小块的尺寸是16*16,按B值递增的顺序展开。 2. 检查一下是否正确计算插值,当输入的颜色在lut图上四个像素之间的时候,是否插值出了正确的输出像素的颜色。 2022年5月5日 at 上午12:20 #11461 Score: 0 kyrie_wxParticipant Karma: 1 pt 可以看一下第七课 1:48:00左右,老师讲的那个注意点 2022年5月6日 at 上午10:33 #11478 Score: 0 ArtoriasParticipant 我出现了类似的情况,我的原因是忘记和原图混合了。 2022年5月6日 at 下午2:23 #11479 Score: 0 zhishaoParticipant Karma: 2 pts 这个还需要跟原图混合啊,我的理解是这里不是应该直接把屏幕中的颜色换成UV然后再LUT中采样做颜色替换的吗?这里为什么需要混合呢? 2022年5月6日 at 下午3:27 #11480 Score: 0 ArtoriasParticipant 我又看了一下,确实不是和原图混合的原因, 混合原图是控制效果的强弱。 应该是这个原因: highp vec3 color3 = mix(color1, color2, fract(color.b)); 直接用color.b会有这个问题,用color.b * 15.0 不会 Attachments:You must be logged in to view attached files. 2022年5月15日 at 下午1:12 #11540 Score: 0 zhishaoParticipant Karma: 2 pts 这个问题解决了,统一回复一下。我这边确实是忘记对b分量进行插值才导致的如图效果。我这边也尝试像@huanggaole 同学提到的在每个部分对r,g进行四个像素的插值,然后再通过b分量插值,但是效果不是特别明显.所以只保留了b分量的插值 This reply was modified 2 years, 7 months ago by zhishao. 2022年5月15日 at 下午3:49 #11542 Score: 0 Terry ShaoParticipant rg应该并不需要手动进行插值吧,由于使用的是linear sampler,会根据输入的uv自动做相邻像素的插值 2022年5月15日 at 下午6:11 #11543 Score: 0 zhishaoParticipant Karma: 2 pts 我本身没有用过图形api相关的东西,我也是看上面的回复和作业要求上说需要模拟linear sample 以为需要自己再实现一次。 Author Posts Viewing 5 reply threads You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In