Created
January 12, 2022 12:23
-
-
Save diska/dde4535af6aca827badeb8cdcb21d743 to your computer and use it in GitHub Desktop.
gltf+bin出力したbin中の頂点データ拾ってWebGLで表示するだけのコード。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<canvas width="256" height="256"></canvas> | |
<script>"use strict"; | |
let vsrc=`attribute vec4 p;void main(){gl_PointSize=3.; | |
gl_Position=p; gl_Position.w=2.; | |
}`; | |
let fsrc=`void main(){gl_FragColor=vec4(1);}`; | |
let cx=document.querySelector("canvas").getContext("webgl"); | |
let pg=cx.createProgram();{ | |
let vs=cx.createShader(cx.VERTEX_SHADER);cx.attachShader(pg,vs); | |
let fs=cx.createShader(cx.FRAGMENT_SHADER);cx.attachShader(pg,fs); | |
cx.shaderSource(vs,vsrc);cx.compileShader(vs); | |
cx.shaderSource(fs,fsrc);cx.compileShader(fs);cx.linkProgram(pg); | |
} | |
let bf=[]; | |
/**@param{ArrayBuffer}r*/ | |
let buffer=(r)=>{ | |
let f32=new Float32Array(r);// r.slice(0,1966*4*3) | |
cx.bindBuffer(cx.ARRAY_BUFFER,bf[0]=cx.createBuffer());{ | |
cx.bufferData(cx.ARRAY_BUFFER,f32,cx.STATIC_DRAW); | |
cx.enableVertexAttribArray(0); | |
cx.vertexAttribPointer(0,3,cx.FLOAT,false,0,0); | |
};cx.bindBuffer(cx.ARRAY_BUFFER,null); | |
} | |
let draw=(now)=>{ | |
cx.clearColor(0,0,1,1);cx.clear(0x4000); | |
cx.drawArrays(0,0,1966); | |
// requestAnimationFrame(draw); | |
} | |
let run=()=>{cx.useProgram(pg);requestAnimationFrame(draw)} | |
fetch("suzanne0103.bin").then(r=>r.arrayBuffer()).then(buffer).then(run); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment