PDA

View Full Version : Interactive Shader Designer?



robosport
03-23-2007, 07:04 PM
I've been looking for the ideal GLSL shader authoring/editing IDE for a new project just getting started. After searching I couldn't find any recent posts about it and it seems RenderMonkey from ATI is the current best choice and the one from Typhoon Labs is no longer supported. Is that correct?

The upcoming new release of NIVIDIA FXCompser shown at GDC looks nice. I see that it has a "GLSL profile". Does that mean I can write straight GLSL shader code in it?

Are there other free or commercial solutions for authoring/editing GLSL shaders? or does everyone just take the time to make their own integrated into their own engine?

Thanks in advance for not replying with "notepad.exe" as the ideal choice. :-)

sqrt[-1]
03-23-2007, 11:11 PM
I think you have mentioned all the obvious ones.

I personally use the GLIntercept Shader editor plugin. Works as an offline editor with syntax highlighting + tooltips. Also if you run GLIntercept with your app, you can bring up the shader editor at anytime and edit and re-compile the shaders into the running program.

http://glintercept.nutty.org/Ver0_4/shaderedit.png
http://glintercept.nutty.org/download.html

(Yes I am the author so I am biased)

oc2k1
03-24-2007, 11:47 AM
I've start to develop a platform independent GLSL IDE:
http://sourceforge.net/projects/lumina/

The 0.1.1 is able to run shadowmapping algorithms. The next version will support deferred shading. Simple shader shouldn't be a problem.

robosport
03-25-2007, 12:40 AM
Thank you for the responses. They both look good. Unfortunately you both chose GPL instead of LPGL or BSD or the like, so I have to debate with the lawyer that it is okay since it is a development tool and not part of the engine, before I'm allowed to use either.

sqrt[-1]
03-25-2007, 03:35 AM
Woah robosport, you must have some weird lawyers where you work.

I mean that if I did not give out the source code (and it was closed source) it would be ok?
(FYI: the binary insall does not include any source code anyway - perhaps imagine that the "donwload source" link does not exist?)

Makes me wonder what other dev tools you cannot use..

robosport
03-25-2007, 03:48 AM
I don't know enough to say if they are overly paranoid.

It has nothing to do with the open source status. They said it was specific to the GPL license since it has no binary-only usage option like the LPGL does and is much more restrictive on commercial projects than BSD/zlib/libpng type open source licenses. All the latter license types mentioned were fine with them. They don't want to take chances that our source tree will be sucked into GPL by accident.

My limited understanding is the overly strict GPL issues are why LPGL was added after GPL. Regarding other dev tools its been a while since I've seen an original GPL. Sorry to go off topic, but you asked. :-)

Well done on GLIntercept BTW... it is very cool and useful. Thank you!

sqrt[-1]
03-25-2007, 06:46 AM
Well I just found it funny. No Linux/gcc/CVS/MySQL for you then. (Also no Mac/Playstation/Nintendo development either... all using GCC and other tools)

(just trying to point out that GPL only applies if you link in GPL code - not if you just run it)

robosport
03-25-2007, 07:04 AM
That is my interpretation as well.

Overmind
03-25-2007, 09:12 AM
That's one of the biggest misunderstandings of the GPL:


They don't want to take chances that our source tree will be sucked into GPL by accident.This can never happen. The worst thing that can happen is you'll be sued for copyright infrigement and have to stop using the GPLed code. Noone can ever force you to release your code under GPL.

Also, as sqrt[-1] already pointed out, the whole thing only applies to using the code as part of your project. As developer tool, you can use whatever you want.

oc2k1
03-25-2007, 09:46 AM
IN my case I have only two options: GPL or QT commercial license. For an Tool is the GPL not a problem (not like for a library).

And it's always possible to ask the authors if they could relicense it under a different license.

A GPL licensed program could be more usefull like an closed source program (you can see how it works), but it's not cheap or gratis source for pushing own commercial projects...

robosport
03-25-2007, 04:59 PM
Overmind: I completely agree with your point. But the phrase "The worst thing that can happen is you'll be sued for copyright infringement..." is the key to the lawyers.

Rightly or wrongly, a lawsuit is unbelievably expensive even if it is completely unjustified. The internal lawyers' job is to avoid that kind of exposure for the company.

They understand the GPL (since they read that kind of stuff every day) but they don't understand the difference between source code used for tools and pipeline vs. source code used in the product binaries. That is the uphill battle for me to re-explain over and over. I don't have that problem with other open source licenses (mentioned previously) even though our usage (and contributions back) is exactly the same.

P.S. Again, sorry this thread got off track. I was just looking for the state of the art in shader designer(s).

Korval
03-25-2007, 05:28 PM
I have to agree with Robosport. Anything that you intend someone to link to should be LGPL'd, or weaker (MIT, BSD, or whatever). Only executable programs should be released under the GPL.

I personally see it as somewhat improper or even rude to GPL a library.

V-man
03-26-2007, 12:20 AM
That GL intercept is gold. It is much easier than than stepping through source code. Just needs some tunning so that it displays array values instead of addresses.

So create your own interceptor. You are getting payed so it's money well wasted.

yooyo
03-26-2007, 04:54 AM
What about ShaderDesigner by Typhoonlabs?
www.typhoonlabs.com (http://www.typhoonlabs.com)

robosport
03-26-2007, 05:24 AM
Has anyone used RenderMonkey, ShaderDesigner, GLIntercept shader IDE, or the new Lumina?

I'm sure they are all good, but I'm looking for pros and cons from users (other than the authors :-) to possibly save me some time.

It is an exciting time to be a developer with the adoption rate of GPUs/drivers supporting real-time shaders! My first rendering computer was a celerity, and one frame took long enough to go grocery shopping, do your laundry, mow your lawn, then do you laundry again - or play several hours of the original SGI flight sim (before the Klingon ship was added).

Thanks!