A downloadable editor for Windows

Download NowName your own price

SDF Editor is a simple editor for creating procedural signed distance fields.

How it works

The procedural SDF is evaluated for an arbitrary point in space by first transforming the point as specified by the scene tree. This includes translations, rotations, mirroring but also repetition or elongination. This is done top to bottom until a primitive is reached, so the distance to that primitive can be evaluated at the transformed point. After the distances to all transformed primitives are calculated, they can be combined as given by the scene tree. This is where operators like e.g.  subtraction or thickening are applied.

This produces a signed distance field that can be raymarched. The emitted shader code for the SDF is visible in the editor.

It's a prototype

This is a proof of concept since I don't know if such an editor really is useful. It has the needed functionality for editing and saving / loading SDFs. Some missing features are:

  • Copy / Paste and Duplicating objects
  • Undo / Redo
  • Materials (at least solid coloring of objects)
  • Voxelizing for export and editing in other programs
  • More render / camera options + shader export

The amount of time I will invest in working on this editor depends on your interest, so leave a comment (suggestions for additional features are welcome) if you think this editor deserves continued development!

StatusPrototype
CategoryTool
PlatformsWindows
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorJoeTech
Made withGodot
Tagseditor, modeler, non-destructive, sdf, signed-distance-field
Average sessionA few seconds
LanguagesEnglish

Download

Download NowName your own price

Click download now to get access to the following files:

SDF Editor.zip 14 MB
Examples.zip 1 kB
Source.zip 830 kB

Comments

Log in with itch.io to leave a comment.

progress so far :)

(1 edit)

Is the shader export still coming? :)

Also a button to duplicate a hierarchy of objects would be fantastic!

Oh, and I really want to name the objects!

(1 edit)

Super neat!

How can I move objects? either I'm thick or that's not implemented yet. 

EDIT: translation! found it :P

I've spent ages to figure it out but I I haven't succeeded yet.
Could you explain how the translation works?

Oh, now I finally got it.
So you have to select the object in the scene editor and hit 'Add'. Jeez! :D

Bug Report : can not load if there is mirror operation.

(+1)

Thank you! That was a typo and is hopefully fixed now.

Wow! It is fixed!

In addition, the source code has been released!

Really cool! Please allow us to export the shader code :)

(+1)

Do you mean the whole per-pixel shader? The program is written in Godot so it isn't actual GLSL code but pretty close.

Deleted 2 years ago
(+2)

The source code is now available.

You can find the shader in Shaders/template.glsl. The signed distance field function is inserted into that shader and recompiled everytime the scene changes. All variables are uniforms so that changing them is possible without recompiling.

You should be able to use the template and insert the generated code that's visible in the editor manually.

This is really cool! I wanted to do something similar for a while but never got around to it - kudos for using Godot!