What do you expect in a shader IDE?

Hello everyone. For quite some time I’ve been playing around with a little shader IDE I started quite some time ago but never really worked on for over a year or so. Now I try to work on it every chance I get and in its current status it looks a little like this (please don’t mind the legacy crap :o ):


Now, aside from this not being anything special so far, I’d like to get some feedback on what the community actually needs in a GLSL shader authoring system.

A few things I have or will implement for an initial public test release include:

[li]Cross-Platform Support (due to Qt, GLEW and OpenGL already done in principal) [/li][li]Syntax highlighting for every GLSL version from 1.30 to 420 (done) [/li][li]An advanced text editing component which supports[/li][LIST]
[li]Customizable highlighting profiles (done) [/li][li]Customizable fonts (done) [/li][li]Zooming (done) [/li][li]Many convenience functions (comment toggling, symbol refactoring, find/replace etc.) [/li][li]Braces matching, Indentation etc (partial) [/li][li]Error reporting (underlining, view error messages by line directly in the editor) and in the console (partial) [/li][li]Auto completion (GLSL functions, GLSL constants, symbols) [/li][/ul]

[li]Workspaces unifying (yet unclear how exactly this will be organized) (started but very basic as of yet)[/li][ul]
[li]Assets (Geometry, Textures) [/li][li]Shader programs [/li][li]Constants (Matrices, Vectors, etc.) [/li][li]Render Targets [/li][li]Render Passes [/li][/ul]

[li]Loading/Saving complete workspaces [/li][li]Support for deferred and forward rendering systems [/li][li]Customizable vertex attribute and output mappings (corresponding to stream mappings in RenderMonkey IIRC) [/li][li]Support for separable and linked programs (should separable programs not be supported) [/li][li]Support for writing/loading shader binaries [/li][li]Online help including a complete function reference (by version?? by topic?? both??) and some basic GLSL tutorial and examples [/li][/LIST]

This is what I get from the top of my head. The target hardware is GL3+ supporting GPUs and initial platforms will be Linux(primary development platform) and Windows. Mac would of course be desirable but I don’t have access to a machine so I’d need some help there. Of course the whole thing will be complete open and free.

What I intend to do in the long run is to use my deferred engine to do all the rendering. But currently I don’t it fit for the purpose so everything needed to support the above features will be implemented as minimally but as completely as possible. As can be seen, basic rendering support is already done.

The main purpose of this whole thread is for me to

[li]get an initial impression about who and how many people desire a x-platform GLSL IDE [/li][li]estimate the necessary feature set for an initial stable release [/li][/ul]

I’m very grateful for any input and suggestions - positive or negative, as long as they are constructive. Also, if anyone has a fancy name for such a thing please let me know. GLSLide is quite dull. :wink:

Thanks everyone (especially Groovounet for GLM :wink: ) and have a nice weekend.