JS Remotely - Remote JavaScript Jobs

Find new remote JavaScript, Node.js, Angular, React, Vue or Electron job from 200+ posted jobs!

Post your job ad - $99 for 3 months ✏️

Senior WebGL Rendering Engine Developer (TypeScript)



Luna is looking for a senior WebGL rendering engine developer to take charge of the architecture and development of a new WebGL-based GUI and visualization engine for Luna, a project said by NASA and Singularity University to be 1 of 20 most impressive technologies worldwide. If you bring strong technical skills and a passion for user experience, this could be the role for you.

What You'll Do

As a senior WebGL rendering engine developer, you'll be a key part of bringing the vision for Luna 2.0 into reality. This will involve:

  • Designing and implementing an extendible GUI architecture, including interactive graph editor, node searcher, panel management system, visual component store, and data-controlling widgets.

  • Designing and implementing a modular visualization engine for Luna, allowing its users to design custom data visualizations by connecting nodes together.

  • Working closely with stakeholders and customers to design intuitive solutions that unobtrusively enable a fluid workflow.

  • Contribute to the creation of a vibrant open-source project and its ecosystem.

The Skills We're Looking For

We have a few particular skills that we're looking for in this role:

  • A strong focus on both user experience and aesthetics.

  • Detailed knowledge of the WebGL 2.0 / OpenGL API.

  • Deep understanding of GPU pipeline architecture, including shader pipeline, buffers management, FBOs, VAOs, PBOs, post-processing, deferred shading.

  • Experience with development of high-performance shaders, in particular, knowledge of ray-marching and text rendering techniques.

  • Practical knowledge and experience with JavaScript and browser-related optimizations, for example, how to implement a high-performance GPU picking in WebGL.

  • Good understanding of the functional programming paradigm. The rendering engine will need bindings to purely functional programming languages, in particular to Luna and Haskell.

It would be a big bonus if you had:

  • Knowledge of Haskell, PureScript, Elm or some other strongly-typed functional programming language.

  • Knowledge of existing WebGL rendering libraries, like Three.js.

  • Experience with visual programming systems such as Houdini, Unreal Engine Blueprints, Max/MSP, Lab VIEW, or Touch Designer.