You can't do that with JavaScript! - Espen Sande-Larsen - NDC Porto 2023

Discover how JavaScript can be used to create stunning 3D graphics and games, even for high-performance tasks, through a fascinating project on raytracing and experimentation.

Key takeaways
  • JavaScript is not suitable for high-performance tasks, but it’s great for creating graphics and games.
  • The speaker’s project was to create a raytracer in JavaScript, and he succeeded after many iterations.
  • The raytracer uses a algorithm called RayMarching, which involves casting a ray from the camera through the scene and checking for intersections with objects.
  • The speaker learned a lot of math and physics concepts while working on the project, including vectors, matrices, and complex numbers.
  • JavaScript has limitations in terms of performance and precision, but it’s still possible to achieve good results with careful optimization.
  • The speaker also learned about the demos scene, a community of creators who work on demo-competitions, and how it fueled his passion for coding.
  • Inspiration can come from unexpected places, like a 3D raytracer in JavaScript, and can lead to new adventures and projects.
  • The speaker also showed some examples of other projects, such as a robot he built and a library of vectors and matrices.
  • The raytracer’s rendering process involves several steps, including clipping, lighting, and shadowing.
  • The speaker’s project was a journey of learning and experimentation, and he’s proud of what he accomplished.
  • JavaScript’s limitations can be overcome with creative thinking and problem-solving.
  • The speaker encouraged others to explore new ideas and technologies, even if they seem challenging or intimidating.
  • The raytracer’s results are impressive, with smooth rendering and realistic lighting.
  • The speaker’s passion for coding and creation is inspiring, and he hopes to continue learning and sharing his experiences.