Ich benutze WebGL und versuche, eine Textur aus mehreren Bildern zu erstellen, die alle von Float-Arrays dargestellt werden, die ich dann in RGBA umwandle.Erstellen von WebGL-Textur schneidet einige der Daten ab
Hier ist mein Code:
var dataTexture = new Uint8Array(array.length*4);
for(var i=0; i<array.length; i+=4)
{
dataTexture[i] = 255*parseFloat(array[i/4]);
dataTexture[i+1] = 255*255*parseFloat(array[i/4]);
dataTexture[i+2] = 255*255*255*parseFloat(array[i/4]);
dataTexture[i+3] = 255;
}
gl.bindTexture(gl.TEXTURE_2D, self.mTexture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 512, 512, 0, gl.RGBA, gl.UNSIGNED_BYTE, dataTexture);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.drawArrays(gl.TRIANGLES, 0, 6);
und das ist das Bild, das nach oben zeigt:
Ich kann nicht das ideale Bild veröffentlichen, aber es sollte etwas zwischen all den schwarzen Streifen sein.
Was ich nicht verstehe, ist, wenn ich versuche, die Werte vorgegeben werden, es funktioniert, wie in dem folgenden Code:
das ist das Bild, das nach oben zeigt.
Dies ist NICHT die ideale Ausgabe, sondern nur ein Beispiel für die Funktionsweise der Einstellwerte.
Warum fehlt die Mitte meines Bildes und was kann ich tun, um es zu beheben? Vielen Dank!
'i
@LJ ᛃ Vielen Dank, so viel! Wenn Sie dies als Antwort angeben, werde ich es korrekt markieren! :) –