次のコードスニペットがあります。
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);
私のテクスチャのサイズは256x256です。
オプション1-私のポリゴン
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]);
結果:テクスチャが引き伸ばされるため、ディテールが失われます。
オプション2-私のポリゴン(これはオプション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]);
結果:テクスチャの詳細を確認できます。
私の理解では、REPEAT(TEXTURE_WRAP_SおよびTEXTURE_WRAP_T)オプションは、オプション1でも詳細を表示します。オプション1でテクスチャが引き伸ばされるのはなぜですか?誤解しましたか?
これは、ChromeCanaryビルドでWebGLを実行しています。
私は何を間違えましたか?
よろしくお願いします。