导航菜单

页面标题

页面副标题

Kreate v1.5.0 - GoldenMagma.java 源代码

正在查看: Kreate v1.5.0 应用的 GoldenMagma.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\u0014\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\u000f\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\u0005X\u0096D¢\u0006\b\n\u0000\u001a\u0004\b\u0013\u0010\u0007¨\u0006\u0014"}, d2 = {"Lcom/mikepenz/hypnoticcanvas/shaders/GoldenMagma;", "Lcom/mikepenz/hypnoticcanvas/shaders/Shader;", "<init>", "()V", "name", "", "getName", "()Ljava/lang/String;", "authorName", "getAuthorName", "authorUrl", "getAuthorUrl", "credit", "getCredit", "license", "getLicense", "licenseUrl", "getLicenseUrl", "sksl", "getSksl", "hypnoticcanvas-shaders_release"}, k = 1, mv = {2, 0, 0}, xi = 48)
public final class GoldenMagma implements Shader {
    public static final int $stable = 0;
    public static final GoldenMagma INSTANCE = new GoldenMagma();
    private static final String sksl = "\nuniform float uTime;\nuniform vec3 uResolution;\n\nfloat random (in vec2 _st) {\n    return fract(sin(dot(_st.xy, vec2(0.9,-0.5)))*757.153);\n}\n\n// Based on Morgan McGuire @morgan3d\n// https://www.shadertoy.com/view/4dS3Wd\nfloat noise (in vec2 _st) {\n    vec2 i = floor(_st);\n    vec2 f = fract(_st);\n\n    // Four corners in 2D of a tile\n    float a = random(i);\n    float b = random(i + vec2(1.0, 0.0));\n    float c = random(i + vec2(0.0, 1.0));\n    float d = random(i + vec2(1.0, 1.0));\n\n    vec2 u = f * f * (3. - 2. * f);\n\n    return mix(a, b, u.x) + (c - a)* u.y * (1. - u.x) + (d - b) * u.x * u.y;\n}\n\nfloat fbm ( in vec2 _st) {\n    float v = sin(uTime*0.3)*0.1;\n    float a = 0.1;\n    vec2 shift = vec2(100.);\n    // Rotate to reduce axial bias\n    mat2 rot = mat2(cos(0.5), sin(1.0), -sin(0.5), acos(0.5));\n    for (int i = 0; i < 3; ++i) {\n        v += a * noise(_st);\n        _st = rot * _st * 2.0 + shift;\n        a *= 2.8;\n    }\n    return v;\n}\n\nvec4 main( vec2 fragCoord )\n{\n    vec2 st = (fragCoord * 2.0 - uResolution.xy) / min(uResolution.x, uResolution.y) * 0.8;\n   \n    vec2 coord = st;\n    coord.x += 0.2*uTime;\n    coord.y += 0.2*uTime;\n    \n    float len = length(coord) - 3.;     \n    \n    vec3 color = vec3(0.);\n\n    vec2 q = vec2(0.);\n    q.x = fbm( st + 1.0);\n    q.y = fbm( st + vec2(-0.450,0.650));\n\n    vec2 r = vec2(0.);\n    r.x = fbm( st + 1.0*q + vec2(0.570,0.520)+ 0.1*uTime );\n    r.y = fbm( st + 1.0*q + vec2(0.340,-0.570)+ 0.07*uTime);\n    \n    color = mix(color, cos(len + vec3(0.2, 0.0, 0.5)), 1.0);\n    color = mix(vec3(0.730,0.237,0.003), vec3(0.667,0.295,0.005), color);\n    \n    float f = fbm(st+r);\n    return vec4(2.0*(f*f*f+.6*f*f+.5*f)*color,1.);\n}\n\n    ";

    private GoldenMagma() {
    }

    @Override
    public void applyUniforms(RuntimeEffect runtimeEffect, float f, float f2, float f3) {
        Shader.DefaultImpls.applyUniforms(this, runtimeEffect, f, f2, f3);
    }

    @Override
    public float getSpeedModifier() {
        return Shader.DefaultImpls.getSpeedModifier(this);
    }

    @Override
    public String getName() {
        return "Golden Magma";
    }

    @Override
    public String getAuthorName() {
        return "TAKUSAKU";
    }

    @Override
    public String getAuthorUrl() {
        return "https://www.shadertoy.com/user/TAKUSAKU";
    }

    @Override
    public String getCredit() {
        return "https://www.shadertoy.com/view/tdBBRV";
    }

    @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;
    }
}