Domanda

Ho i seguenti frammenti di codice:

    ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_MAG_FILTER, ctx.LINEAR);      
    ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_MIN_FILTER, ctx.LINEAR);

    ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_WRAP_S, ctx.REPEAT);
    ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_WRAP_T, ctx.REPEAT);

La mia dimensione trama è 256x256 .

1 - il mio poligono

    const x0 = 100;
const x1 = -x0;
const z0 = x0;
const z1 = -z0;
var vertices = new Float32Array(
    [  x0, 0, z1,  x1, 0, z1,  x1, 0, z0,   x0, 0, z0]);

Il risultato:. La texture è allungata così perdo dettaglio

2 - il mio poligono (si noti che questo è un poligono molto più piccolo di opzione 1)

const x0 = 5;
const x1 = -x0;
const z0 = x0;
const z1 = -z0;
var vertices = new Float32Array(
    [  x0, 0, z1,  x1, 0, z1,  x1, 0, z0,   x0, 0, z0]);

Il risultato:. Riesco a vedere i dettagli della mia consistenza

La mia comprensione è che il REPEAT (TEXTURE_WRAP_S e TEXTURE_WRAP_T) opzione mi darà i dettagli anche in Opzione 1. Perché la trama tesa in opzione 1? Ti ho fraintendere?

Questa è in esecuzione su WebGL costruzione Chrome Canary.

Che cosa ho fatto di sbagliato?

Grazie in anticipo per il vostro aiuto.

È stato utile?

Soluzione

Ho cambiato coordinare al seguente mio texture:

Codice:    var = texCoords nuova Float32Array ( // [1, 1, 0, 1, 0, 0, 1, 0]
            [100, 100, -100, 100, -100, -100, 100, -100]
       );

Si abbina la coordinata grande poligono. Essa mostra i dettagli del piccolo trama originale sul grande poligono.

Si prega di consultare Khronos WebGL Forum per una discussione più dettagliata

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top