It does seem to perpetuate -- or at least not make clear -- a misconception.
> 3D rendering without shaders
> We won’t use any 3D APIs at all
Those are two independent statements.
Metal, OpenGL, WebGL, and Vulcan are not a 3D APIs. They are (2D) rasterization APIs using shaders. Any 3D-ness of the math is external to them. In contrast, OGRE, Java 3D, and three.js are 3D rendering APIs.
Two independent choices yield four types of ways to do 3D rendering. E.g., in browser they could be
| 3D API | no 3D API |
---------------|------------------------|------------------------|
GPU shaders | three.js, using WebGL | WebGL |
---------------|------------------------|------------------------|
no GPU shaders | three.js, using canvas | canvas |
This article fits in bottom-right corner.
I take notice when I hear the oft-repeated fact that OpenGL/WebGL are 3D rendering APIs. At www.lucidchart.com, in 2015 we chose to use WebGL when available to improve rendering performance for (2D) diagramming. Were WebGL made for 3D stuff, it'd be a weird choice, but WebGL is for high-performance rasterization of all kinds.
---
It does seem to perpetuate -- or at least not make clear -- a misconception.
> 3D rendering without shaders
> We won’t use any 3D APIs at all
Those are two independent statements.
Metal, OpenGL, WebGL, and Vulcan are not a 3D APIs. They are (2D) rasterization APIs using shaders. Any 3D-ness of the math is external to them. In contrast, OGRE, Java 3D, and three.js are 3D rendering APIs.
Two independent choices yield four types of ways to do 3D rendering. E.g., in browser they could be
This article fits in bottom-right corner.I take notice when I hear the oft-repeated fact that OpenGL/WebGL are 3D rendering APIs. At www.lucidchart.com, in 2015 we chose to use WebGL when available to improve rendering performance for (2D) diagramming. Were WebGL made for 3D stuff, it'd be a weird choice, but WebGL is for high-performance rasterization of all kinds.
http://webglfundamentals.org/webgl/lessons/webgl-2d-vs-3d-li...