webgl-memoryのしくみ
#webgl-memory #WebGL
まあすべてはソースコードに書かれているとおりなんですけどね
https://github.com/greggman/webgl-memory/blob/9dd163aedac4db4ab5aef55112c435605520e793/webgl-memory.js
gl.getExtension() を拡張しているのはここ
https://github.com/greggman/webgl-memory/blob/9dd163aedac4db4ab5aef55112c435605520e793/webgl-memory.js#L1044
ctx.getMemoryInfo() の定義はここ
https://github.com/greggman/webgl-memory/blob/9dd163aedac4db4ab5aef55112c435605520e793/webgl-memory.js#L474
返されている resources の数字の増減は makeCreateWrapper ・ makeDeleteWrapper というところが担当している
makeCreateWrapper は結局 createBuffer ・ createTexture ・ createProgram …… など
makeDeleteWrapper は結局 deleteBuffer ・ deleteTexture ・ deleteProgram …… などにかかってくる
めちゃくちゃ丁寧エンジニアリングをしているので読み進めるのが重たいが、やってることはそれくらい
あとは memory のほうはもうちょっと大変そう