openGL之API学习(一五五)glsl中mod的奇怪结果

在GLSL中,发现mod函数对于某些整数操作产生非预期结果,例如mod(2049, 2)返回0而非1。问题源于GLSL的mod不接受整型参数,只接受浮点类型,导致结果有时会加1但不小于除数时调整为0。修正此问题的方法是将所有参数转换为浮点类型,如mod(2049.0, 2.0)。" 107605399,9807201,IntelliJ IDEA Debug 深度解析,"['IntelliJ IDEA', '调试工具', '开发技巧', 'Java开发']
摘要由CSDN通过智能技术生成

mod(2048,10)的结果为8

 

mod(2049.0,10.0)的结果为9.0

mod(249,10)的结果为9

 

 

mod(2049,1)的结果为0,正确。

mod(2049,2)的结果为0,而不是1,奇怪之处!!!!!!!!!!!

mod(2049,3)的结果为0,正确。

mod(2049,4)的结果为2,而不是1,奇怪之处!!!!!!!!!!!

mod(2049,5)的结果为0,而不是4,奇怪之处!!!!!!!!!!!

mod(2049,6)的结果为4,而不是3,奇怪之处!!!!!!!!!!!

mod(2049,7)的结果为6,而不是5,奇怪之处!!!!!!!!!!!

mod(2049,8)的结果为2,而不是1,奇怪之处!!!!!!!!!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值