Jak nastavení a načtení hodnot var mezi Java a GLSL?

hlasů
0

Jak nastavit a načíst hodnotu var mezi kód v jazyce Java a GLSL kódu?

● 1 - file.java - (zde, chcete vytvořit var a nastavte ji)

public class BANANA
{
    // (code)
    // (code)

    public static float ICE;
    ICE = 0.2f;

    // (code)
    // (code)
}

● 2 - „fragment.glsl“ - (zde chci načíst hodnotu)

#ifdef GL_ES
    precision mediump float;
#endif

uniform float ICE;

void main()
{
    gl_FragColor = vec4(0.1, ICE, 0.3, 0.9);
}

Jaký je způsob, jak získat var ICE ve svém spisu „fragment.glsl“? - Díky předem

Položena 27/11/2018 v 17:46
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Poznámka: Díky @ Rabbid76, toto je poslední kód, který funguje perfektně pro každého, kdo ji potřebuje.

● 1 - "file.java" - (LibGDX s hlavní třídy:> render ())

public class BANANA
{
    // (code)
    // (code)

    public static float ICE;
    public static int   ICE_Location;
    //
    ICE                 = 0.0f;
    ICE_Location        = 0;

    // (code)
    // (code)



    // ---------------------------------
    @Override
    public void render()
    {
        // (code)
        // (code)

        batch.begin(); // - give the command into this SCOPE, otherwise it will not work
        //
        ICE_Location = shader.getUniformLocation("ICE"); // - retrieve var's address
        shader.setUniformf(ICE_Location, 1.0f);          // - set var's value by address
        //
        batch.end();

        // (code)
        // (code)
    }
}

● 2 - "fragment.glsl"

#ifdef GL_ES
    precision mediump float;
#endif

uniform float ICE;

void main()
{
    gl_FragColor = vec4(0.1, ICE, 0.3, 0.9);
}

Testován, funguje na 100%. Problém je vyřešen, doufám, že to bude pomáhat ostatním ...

Odpovězeno 29/11/2018 v 03:23
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more