Speichermenü / Screenshots verzerren?

  • #1, by cancel.logic.brainThursday, 06. November 2014, 15:47 10 years ago
    Hallo zusammen,

    ich bin ein Visionaire-Neuling und habe mich bereits etwas in die Materie eingearbeitet.

    Nun stellt sich mich die Frage, ob man im "Speichermenü" die Screenshots vom Speichern auch verzerrt darstellen kann? Ich bekomme es nicht hin...

    Hintergrund: Ich möchte die Spieldatein (Screenshot mit Verlinkung zum Spiel) gerne an eine Holzpinnwand als "Zettel" pinnen.
    Da diese Pinnwand perspektivisch nach hinten verzerrt ist, müssen folglich auch die Screenshots des Spielstands daran angepasst werden. Die Rahmen kann man dafür auch so ziehen, jedoch bleibt der Screenshot gleich groß und unverzerrt.

    Hat jmd schon etwas ähnliches probiert oder umgesetzt?

    Viele Grüße
    cancel.logic.brain

    Newbie

    13 Posts


  • #2, by SimonSThursday, 06. November 2014, 21:00 10 years ago
    Hallo, bisher hat das keiner versucht oder gewünscht, wenn es Objekte sind lässt sich das per Shader realisieren, jedoch geht das nicht mit Savegamebildern. Wenn es dich interessiert, kann ich das für Objekte mal hinschreiben, aber das der Shader auch auf die Speicherbilder läuft, gibts wohl erst im nächsten Build.

    Thread Captain

    1593 Posts

  • #3, by cancel.logic.brainFriday, 07. November 2014, 08:57 10 years ago
    Moin Simon,

    vielen Dank für deine schnelle Antwort.
    Schade, dass es (derzeit) keine Lösung dazu gibt. Dann muss ich mir etwas anderes überlegen.

    Das Objekte verzerren mittels Shader interessiert mich trotzdem (;

    Newbie

    13 Posts

  • #4, by SimonSFriday, 07. November 2014, 10:08 10 years ago
    Eventuell gehts ja hiermit in der nächsten Version, wenn das auch auf Speicherbilder geht.
    local num = shaderCompile(
    [[#ifdef GL_ES
    precision lowp float; 
    precision lowp int; 
    #endif
    varying vec2 texcoord; 
    uniform mat4 mvp_mat;
    attribute vec2 position; 
    attribute vec2 uv;
    uniform int pass;
    void main () 
    { 
      vec4 pos = mvp_mat * vec4(position.x,position.y,0.0,1.0); 
    pos.x*=0.5 + pos.y*0.1;
    pos.y*=0.5 + pos.x*0.1;
     gl_Position = pos;
      texcoord = uv; 
    }]],
    [[#ifdef GL_ES
    precision highp float; 
    precision lowp  int; 
    #endif
    uniform sampler2D composite;
    varying vec2 texcoord;
    void main() {
        gl_FragColor = texture2D(composite, texcoord.st);
    }
    ]])
    shaderSetOptions({{shader = num, comp_dst=5, comp_src=4 }}, 1)
    Objects.Objekt0.ShaderSet = 1
    

    Unten ist eine Objektauswahl Objects.Objekt0 Da muss der Name des benötigten Objekts rein.
    Ich hab jetzt einfach mal was abstruses gemacht.
    Steht alles in den Zeilen:
    pos.x*=0.5 + pos.y*0.1;
    pos.y*=0.5 + pos.x*0.1;

    Thread Captain

    1593 Posts

  • #5, by cancel.logic.brainFriday, 07. November 2014, 10:24 10 years ago
    Danke dir. Ich werde damit mal ein wenig rumspielen und wer weiß, vielleicht klappt es ja in der nächsten Build von Visionaire.

    Newbie

    13 Posts