Eval2D Available for Prototyping Procedural Textures

Eval2D runs C# scripts and displays results visually as you type; it’s a visual REPL for quick prototyping. Eval2D includes a small function-oriented library for procedural texture generation.

It’s worked well enough for me, and I’ve recently cleaned up the API and written some bits of documentation to the point where it might be useful to others. It’s intended for anyone with programming/scripting experience who needs to make some noise. The noise library could be included in a game using the same code written in the app, although it’s not really designed for high performance.

Download: Eval2D- (2.2 MB)

Screenshot of Eval2D showing code view and Voronoi noise.

.NET 4.5 is required, which is available here if you don’t have it yet.

I included a tutorial as the default script that covers much of the API. For additional reference, check the assembly .xml files and the readme. Note that this is an early release and much of the app is in an incomplete state. Feedback is welcome!

2 thoughts on “Eval2D Available for Prototyping Procedural Textures

  1. I tested your demo and it works quite well !
    But it’s hard to know what line of code does what.
    It could be nice to have some checkboxes or similar to enable/diable features or blocks of code. Or maybe have a different color for really executed code, compared to unused code…

    • Great, thanks for checking it out! I figured that part might be a bit confusing. As far as the UI, using ctrl+enter over a selection runs only the selection, otherwise the entire text box is run. However, most of the API just returns functions, so little work is actually done except for creating those functions in the script. The function (or other type of value) obtained from the last statement is returned to the rendering system, which then evaluates it for each pixel location. Other statements may be unused because their return values aren’t assigned to any variables that feed into the last statement.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>