SceneJS vs Three.JS vs others [closed]

As SceneJS author I thought I’d throw this in if it helps: SceneJS is specialised towards fast rendering of large numbers of individually articulated objects, without game engine effects like shadows, reflections etc. In other words it’s aimed at requirements of CAD, medical anatomy, engineering visualisations, things with 1000’s of nuts and bolts, organs etc. … Read more

Get CPU/GPU/memory information

This code will print GPU infos an will list all info you can have with the performance object of this browser (there is no standard for the BOM so it changes for each browser). <html> <body> <canvas id=”glcanvas” width=”0″ height=”0″></canvas> <script> var performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; document.write(“<br>”); for … Read more

Differences between WebGL and OpenGL

WebGL is “OpenGL ES 2”, not plain OpenGL (the ES stands for ‘for Embedded Systems’). So there’s the first difference. OpenGL ES is essentially a subset of OpenGL. In addition, WebGL is almost the same as OpenGL ES 2, but has some subtle differences, explained in the link you provide. There’s not much to add … Read more

How do I learn WebGL the fast way? [closed]

http://learningwebgl.com/blog/?p=11 (dead link as of Nov 2018, backup: https://web.archive.org/web/20180615095219/http://learningwebgl.com/blog/?p=11) Yes, I could recommend Light House 3D: http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/ It’s not that complex, just focus on the code written on Learning webGL. I wouldn’t recommend working with some other library/engine at the start. Learn basics and later use libraries to speed up your coding. Learning webGL is … Read more

Improved Area Lighting in WebGL & ThreeJS

NOTE: three.js now supports THREE.RectAreaLight. This answer pertains to legacy versions of three.js. Your approach of using the point that maximizes the dot product is fundamentally flawed, and not physically plausible. In your first illustration above, suppose that your area light consisted of only the left half. The “purple” point — the one that maximizes … Read more

Proper way to detect WebGL support?

The excellent Three library has, in fact, a mechanism for detecting the following: WebGL support File API support Workers support For WebGL, particularly, here is the code that is used: function webgl_support () { try { var canvas = document.createElement(‘canvas’); return !!window.WebGLRenderingContext && (canvas.getContext(‘webgl’) || canvas.getContext(‘experimental-webgl’)); } catch(e) { return false; } }; That code … Read more