WebGL ne prend pas en charge le dessin d'index à l'aide de l'index 255
P粉265724930
P粉265724930 2023-08-17 12:37:59
0
1
457
<p>Il s'agit du programme de test WebGL le plus simple, qui crée un tampon d'index avec une seule valeur uint8 de 255. Il devrait dessiner un carré rouge de taille 64px, mais ce n'est pas le cas (la valeur de l'index n'est pas importante pour le dessin). </p> <p> D'une manière ou d'une autre, WebGL ignore l'élément à l'index 255 même s'il se trouve dans la plage d'octets non signés. En utilisant 254 ou d’autres valeurs, le carré rouge apparaît comme prévu. </p> <p>Est-ce un bug dans WebGL ou un comportement attendu ? Je ne trouve aucune information pertinente. </p> <pre class="brush:php;toolbar:false;"><canvas width="800" height="600"></canvas> <script type="module"> let canvas = document.querySelector("canvas"); let gl = canvas.getContext("webgl2", {antialias: false}); laissez vert = gl.createShader(gl.VERTEX_SHADER); laissez frag = gl.createShader(gl.FRAGMENT_SHADER); let prog = gl.createProgram(); laissez index_buf = gl.createBuffer(); gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, index_buf); gl.bufferData( gl.ELEMENT_ARRAY_BUFFER, nouveau Uint8Array([255]), gl.STATIC_DRAW ); gl.shaderSource(vert, `#version 300 es vide principal() { gl_Position = vec4(pos, 1); gl_PointSize = 64,0 ; } `); gl.shaderSource(frag, `#version 300 es flotteur de précision ; couleur vec4 ; vide principal() { couleur = 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

répondre à tous(1)
P粉476883986

Afficher Spécification WebGL 2.0 - PRIMITIVE_RESTART_FIXED_INDEX est toujours activé  :

Donc, si le type d'index est UNSIGNED_BYTE, l'index 255 est un redémarrage brutindex et ne peut pas être utilisé pour indexer des sommets.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal