【问题标题】:QML - Using fmod() in a ShaderEffect?QML - 在 ShaderEffect 中使用 fmod()?
【发布时间】:2016-10-04 11:33:17
【问题描述】:

我正在尝试在我的 GLSL 着色器中计算“循环偏移”(即计算限制在 [0, 1] 范围内的 value + offset)。

目前,我最终求助于一个令人讨厌的 hack,涉及大量转换和乘/除以 100 以使值成为整数,以便整数模 (%) 起作用。它看起来像:
float x = float(int((qt_TexCoord0.x + timeOffset) * 100.0) % 100) / 100.0

两个问题:
1. 有没有类似fmod() 的东西可以代替?
2. GLSL 着色器中是否可以使用#include's?或者我是否需要内联我想做的任何导入?

【问题讨论】:

    标签: qt qml glsl


    【解决方案1】:

    GLSL 提供 mod() 计算 x-y*floor(x/y) 而 HLSL fmod() 我相信计算 x-y*trunc(x/y)

    https://www.opengl.org/sdk/docs/man4/html/mod.xhtml

    在撰写本文时,#include 预处理器尚不可用。

    https://www.opengl.org/wiki/Core_Language_(GLSL)

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多