Πώς σύνολο και να ανακτήσετε var τιμή μεταξύ Java και GLSL;

ψήφοι
0

πώς ορίζεται και ανάκτηση var τιμή μεταξύ κώδικα Java και ο κώδικας GLSL;

● 1 - file.java - (εδώ, θέλουν να δημιουργήσουν τη var και να το θέσει)

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

    public static float ICE;
    ICE = 0.2f;

    // (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);
}

Τι είναι η μέθοδος για να ανακτήσετε το ICE var κατά τη γνώμη μου αρχείο «fragment.glsl»; - Ευχαριστώ εκ των προτέρων

Δημοσιεύθηκε 27/11/2018 στις 17:46
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

ΣΗΜΕΙΩΣΗ: Χάρη στην @ Rabbid76, αυτή είναι η τελική κώδικα που λειτουργεί τέλεια για όποιον χρειάζεται.

● 1 - "file.java" - (LibGDX με κύρια κατηγορία:> καταστήσουν ())

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

Δοκιμασμένο, λειτουργούν 100%. Το πρόβλημα λύθηκε, ελπίζω ότι θα βοηθήσει τους άλλους ...

Απαντήθηκε 29/11/2018 στις 03:23
πηγή χρήστη

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