WebGL tidak menyokong lukisan indeks menggunakan indeks 255
P粉265724930
P粉265724930 2023-08-17 12:37:59
0
1
460
<p>Ini ialah program ujian WebGL yang paling mudah, yang mencipta penimbal indeks dengan hanya satu nilai uint8 255. Ia sepatutnya melukis segi empat sama merah bersaiz 64px, tetapi tidak (nilai indeks tidak penting untuk lukisan). </p> <p>Entah bagaimana WebGL mengabaikan elemen pada indeks 255 walaupun ia berada dalam julat bait yang tidak ditandatangani. Menggunakan 254 atau nilai lain, segi empat sama merah muncul seperti yang dijangkakan. </p> <p>Adakah ini pepijat dalam WebGL atau tingkah laku yang dijangkakan? Saya tidak dapat mencari sebarang maklumat yang berkaitan. </p> <pre class="brush:php;toolbar:false;"><canvas width="800" height="600"></canvas> <script type="modul"> biarkan kanvas = document.querySelector("kanvas"); biarkan gl = canvas.getContext("webgl2", {antialias: false}); biarkan vert = gl.createShader(gl.VERTEX_SHADER); biarkan frag = gl.createShader(gl.FRAGMENT_SHADER); biarkan prog = gl.createProgram(); biarkan index_buf = gl.createBuffer(); gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, index_buf); gl.bufferData( gl.ELEMENT_ARRAY_BUFFER, Uint8Array([255]), gl.STATIC_DRAW ); gl.shaderSource(vert, `#versi 300 es batal utama() { gl_Position = vec4(pos, 1); gl_PointSize = 64.0; } `); gl.shaderSource(frag, `#versi 300 es terapung tinggi ketepatan; keluar warna vec4; batal utama() { warna = vec4(1,0,0,1); } `); gl.compileShader(vert); gl.compileShader(frag); gl.attachShader(prog, vert); gl.attachShader(prog, frag); gl.linkProgram(prog); gl.clearColor(0, 0, 0, 1); gl.clear(gl.COLOR_BUFFER_BIT); gl.useProgram(prog); gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, index_buf); gl.drawElements(gl.POINTS, 1, gl.UNSIGNED_BYTE, 0); </script></pre> <p><br /></p>
P粉265724930
P粉265724930

membalas semua(1)
P粉476883986

Lihat Spesifikasi WebGL 2.0 - PRIMITIVE_RESTART_FIXED_INDEX sentiasa didayakan :

Jadi jika jenis indeks ialah UNSIGNED_BYTE, indeks 255 ialah indeks mula semula mentah dan tidak boleh digunakan untuk mengindeks bucu.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan