Project NodeFX is an unnamed and in-development node-based shader editor. The idea being that working on visual things, can benefit by having a real-time visual preview while working.
The initial focus is a shader authoring tool. With the goal of being capable of producing shaders for various graphics APIs and engines. Currently focusing on GLSL, but with a back-end abstract enough to easily add further language and engine support.
Smaller and more frequent updates will be posted on Twitter (@VallentinDev). Whereas more substantial changes will equally be continuously added and updated in this post.
Project NodeFX in Rust GameDev
…curated by Rust Game Development Working Group
An example of a pixelated fire-ish effect (view on Twitter)
Transition - Sliding Tiles Reveal
An example of a sliding tiles reveal transitional effect (view on Twitter)
The following is the generated GLSL representing the final right-most preview. The code generator does not produce the prettiest output yet. However, regardless of the amount of times a node output is used, it is only evaluated once in the final shader.
The following is the generated GLSL representing the final right-most preview.
Today, I started implementing some noise and randomness nodes.— Vallentin (@VallentinDev) May 3, 2020
Here's some crude fire I made testing the new nodes.#screenshotsaturday #rustgamedev #realtimevfx #shader #gamedev pic.twitter.com/yETiTeUEPU
I've been implementing a bunch of nodes the past week. While I'm no artist, I tried making an actual glitch effect this time.#screenshotsaturday #rustgamedev #gamedev #realtimevfx #indiedev pic.twitter.com/DOIFpOdIuK— Vallentin (@VallentinDev) May 15, 2020
Some checkerboards, offsets, and that makes a "sliding tiles reveal" transition.— Vallentin (@VallentinDev) May 16, 2020
I should probably get back to development, instead of playing with this all day!#screenshotsaturday #rustgamedev #gamedev #realtimevfx #indiedev pic.twitter.com/wbs0f7isX9
Project NodeFX for #RealtimeVFX is back in development, completely rewritten in Rust, with a custom rendering engine tailored to rendering nodes.— Vallentin (@VallentinDev) May 1, 2020
Any node output can generate and export a GLSL #shader for #gamedev.#indiedev #rustgamedev #rustlang pic.twitter.com/49EOb5k1Hr
Early 2019 the initial implementation was written in TypeScript using WebGL and Electron. However, the performance requirements quickly outgrew that, which resulted in switching to Rust and OpenGL.
The above example produces the following GLSL:
The tool also features a dark theme, as seen in the following image:
More information coming soon.