Something I often see missing in JS demos is fps-correct animations. Sure, the<p><pre><code> drawInterval = setInterval(plot, 10);
</code></pre>
and<p><pre><code> angle += .05;
</code></pre>
will work on default settings with no bottleneck, but put in "Manual Bresenham" and the animation slows down.<p>Back in the days of Flash, this was solved with tweening libraries that took in a curve (how to interpolate between the end values), and passing a variable reference that could be updated in an fps-agnostic fashion.<p>Here's my idea for a framerate-independent graphics library. Have a function pointer to the main draw( time T ) call, and one of the requirements would be that time T does not represent the current time and can be out of order ( draw(1), draw(3), draw(2) ). In other words, draw() would have to be pseudo-functional. This approach would allow for some neat tricks such as cashing, multithreaded and split-rendering, motion blur tricks, etc.
Use HTML labels with your radio buttons, <i>please</i>; I don't want to have to aim for the little circle.<p><pre><code> </body>
</html>
<script>
</code></pre>
hem. use this instead:<p><pre><code> <script type="text/javascript">
…
</script>
</body>
</html>
</code></pre>
I doubt it will be any efficient compared to native implementation. Cool hack though, it reminds my when I played around with basic real 3D drawing with Quick Basic.
If you're familiar with D3, I recommend DZ. (disclaimer: I'm the author) <a href="https://github.com/vicapow/dz" rel="nofollow">https://github.com/vicapow/dz</a><p>Here's an example of DOF blurring using SVG filters. (no WebGL)<p><a href="http://vicapow.github.io/dz/example/plane-blur.html" rel="nofollow">http://vicapow.github.io/dz/example/plane-blur.html</a>
It actually uses libraries: one for DOM traversal and another which provides a canvas. It's just that they are typically readily available in modern browsers and you have to go somewhere else to see the sources in a programming language. Perhaps "software rendering" would be a better word combination. Would be interesting to see similar projects in other scripting languages (Lua, Python etc.).
If you like this, visit ctho's own site where all his toys are available. <a href="http://ctho.org/toys/" rel="nofollow">http://ctho.org/toys/</a><p>This particular one is the "3D engine" link. he later turned it into the Tie Fighter/Roller Coaster one. When looking for inspiration, I directed him to the xscreensaver module that he created Popsquares from.
We're being redirected to <a href="http://liveweave.com/1POv7l/index-alert.html" rel="nofollow">http://liveweave.com/1POv7l/index-alert.html</a> and seeing a 404.
and if you dont mind libraries, but need to work without WebGL, i recently discovered <a href="http://www.kevs3d.co.uk/dev/phoria/" rel="nofollow">http://www.kevs3d.co.uk/dev/phoria/</a><p>repo: <a href="https://github.com/kevinroast/phoria.js" rel="nofollow">https://github.com/kevinroast/phoria.js</a>