android - 如何实现shaderoy itime?

标签 android shader

https://www.shadertoy.com/ 我想在我的android studio项目中实现shadertoy itime,我想在我的项目中实现itime var, 这是我的代码:

    long last_time = System.nanoTime();

while(running) {
    long time = System.nanoTime();
    int delta_time = (int) ((time - last_time) / 1000000);
    last_time = time;
}

但这不起作用,还有其他方法在android中实现itime吗?

最佳答案

iTime 是一个耗时值。
last_time = time 只会告诉您每个循环之间的时间。 iTime 是自程序开始以来的时间或定义的时间段。
因此,只需删除 last_time = time 并将您的 delta_time 变量设置为 longdouble 并确保将其重命名或以后你会很困惑的!

如果您决定将 delta_time 设为 :double,请务必除以 1 000 000 000 而不是 1 000 000,您将在左侧看到第二个,而右侧部分为毫秒,就像在 Shaderoy 中一样。

在shadertoy中可以定义时间变量:

  • uniform float iTime:如前所述告知时间
  • uniform float iTimeDelta:告诉每帧之间的时间

如果您想了解更多信息,请查看how to在那儿的网站上!

关于android - 如何实现shaderoy itime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58707219/

相关文章:

android - 应用程序针对 Facebook 登录配置错误 - 在 util.java 中将 ENABLE_LOG 设置为 true 后未返回 logcat

opengl - 是否可以将着色器变量声明为输入和输出?

android - InvalidRequestException 无效的客户端密码 - Stripe payment sdk

Android 即时应用程序 - 不能 "Run unverified software, run arbitrary native code"。仅即时应用程序运行时

android - Dagger 2 : Error when two components has same inject method signature

c# - OpenGL 可编程管道运行速度较慢?

c++ - OpenCV:是否可以用它执行 openGL 像素着色?

c++ - 如何随着时间的推移在OpenGL中平移和旋转三角形?

unity-game-engine - Unity 高斯模糊着色器只是使我的纹理变白 - 为什么?

Android:从另一个 Activity 返回时避免调用 onCreate()