正在查看: Kreate v1.5.0 应用的 RainbowWater.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Kreate v1.5.0 应用的 RainbowWater.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.mikepenz.hypnoticcanvas.shaders;
import com.mikepenz.hypnoticcanvas.RuntimeEffect;
import com.mikepenz.hypnoticcanvas.shaders.Shader;
import kotlin.Metadata;
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\r\n\u0002\u0010\u0007\n\u0002\b\u0005\bÇ\u0002\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003R\u0014\u0010\u0004\u001a\u00020\u00058VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0006\u0010\u0007R\u0014\u0010\b\u001a\u00020\u00058VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\t\u0010\u0007R\u0014\u0010\n\u001a\u00020\u00058VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000b\u0010\u0007R\u0014\u0010\f\u001a\u00020\u00058VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\u0007R\u0014\u0010\u000e\u001a\u00020\u00058VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000f\u0010\u0007R\u0014\u0010\u0010\u001a\u00020\u00058VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0011\u0010\u0007R\u0014\u0010\u0012\u001a\u00020\u00138VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0014\u0010\u0015R\u0014\u0010\u0016\u001a\u00020\u0005X\u0096D¢\u0006\b\n\u0000\u001a\u0004\b\u0017\u0010\u0007¨\u0006\u0018"}, d2 = {"Lcom/mikepenz/hypnoticcanvas/shaders/RainbowWater;", "Lcom/mikepenz/hypnoticcanvas/shaders/Shader;", "<init>", "()V", "name", "", "getName", "()Ljava/lang/String;", "authorName", "getAuthorName", "authorUrl", "getAuthorUrl", "credit", "getCredit", "license", "getLicense", "licenseUrl", "getLicenseUrl", "speedModifier", "", "getSpeedModifier", "()F", "sksl", "getSksl", "hypnoticcanvas-shaders_release"}, k = 1, mv = {2, 0, 0}, xi = 48)
public final class RainbowWater implements Shader {
public static final int $stable = 0;
public static final RainbowWater INSTANCE = new RainbowWater();
private static final String sksl = "\nuniform float uTime;\nuniform vec3 uResolution;\n\nvec3 pools(in vec2 uv)\n{\n float dt = .5+.5*sin(.18*uTime);\n float dt2 = .5+.5*sin(.038*uTime);\n float mdt = .2+.8*dt;\n float mdt2 = .7+.3*dt2;\n \n float dt3 = .5+.5*sin(.14*uTime);\n float dt4 = .5+.5*sin(.033*uTime);\n float mdt3 = .2+.8*dt3;\n float mdt4 = .7+.3*dt4;\n\n float dt5 = .5+.5*sin(.11*uTime);\n float dt6 = .5+.5*sin(1.5+.036*uTime);\n float mdt5 = .2+.8*dt5;\n float mdt6 = .7+.3*dt6;\n\n float dt7 = .5+.5*sin(.3*uTime);\n float mdt7 = .1+.9*dt7;\n\n float dt8 = .5+.5*sin(1.5+.2*uTime);\n float mdt8 = .9+.1*dt8;\n\n\n //uv = vec2(sin(25.*uv));\n\n\n vec3 c = vec3(0.);\n float a = 1.;\n float f = 1.;\n float as = 0.;\n for (int i = 0; i < 1; i++) {\n for (int j = 0; j < 25; j++) {\n //float p[] = float[](.2, .5, .3, 0.1, .4, .8, .8, .5);\n //float wc[] = float[](.0, 1., .0, 1., .1, .2, .0, .1, 1.);\n f = 2.*(1.+.3*float(j));//*(.5+.5*sin(157.*float(j)));\n a = 1./(pow(1.23,float(j)));\n //a = 1./(1.+float(j));\n \n float r2 = length(uv-vec2(sin(142.31*float(j)), sin(29.321*float(j))));\n\n c.r += mdt*1.4*a*(.5+.5*sin(7.*uTime+f*mdt2*7.1*r2));\n c.g += mdt3*1.4*a*(.5+.5*sin(7.*uTime+f*mdt4*7.1*r2));\n //c.b += .1*a*(.5+.5*sin(11.*uTime+f*7.1*r2));\n //c.g += .5*a*(.5+.5*sin(11.*uTime+f*5.1*r2));\n c.b += mdt5*1.4*a*(.5+.5*sin(7.*uTime+f*mdt6*7.1*r2));\n //c += vec3(r2);\n //c.b += a*.7*sin(22.*mdt6+f*5.4*r2);\n as += a;\n //f *= 1.3+length(c);\n //f *= 1.1;\n \n //a = 0.;\n }\n }\n c /= as;\n \n \n return c;\n \n}\n\n\nvec3 warp(in vec2 uv) {\n vec3 c = pools(uv);\n \n const int iter = 5;\n float amp = .55;\n float f = .9;\n\n float a = 1.; \n for (int i = 0; i < iter; i++) {\n a *= amp;\n }\n \n for (int i = 0; i < iter; i++) {\n a /= amp;\n f *= 1.2;\n c = a*pools(uv + f*vec2(c.r-c.g, c.g - c.b)) ;\n }\n return c;\n}\n\n\nvec4 main( vec2 fragCoord )\n{\n\n ivec2 px = ivec2( fragCoord );\n vec2 uv = fragCoord/uResolution.xy;\n return vec4(warp(uv), 1.);\n\n}\n ";
@Override
public float getSpeedModifier() {
return 0.01f;
}
private RainbowWater() {
}
@Override
public void applyUniforms(RuntimeEffect runtimeEffect, float f, float f2, float f3) {
Shader.DefaultImpls.applyUniforms(this, runtimeEffect, f, f2, f3);
}
@Override
public String getName() {
return "RainbowWater";
}
@Override
public String getAuthorName() {
return "flylo";
}
@Override
public String getAuthorUrl() {
return "https://www.shadertoy.com/user/flylo";
}
@Override
public String getCredit() {
return "https://www.shadertoy.com/view/dtySRR";
}
@Override
public String getLicense() {
return "Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License";
}
@Override
public String getLicenseUrl() {
return "https://www.shadertoy.com/terms";
}
@Override
public String getSksl() {
return sksl;
}
}