Page 1 of 4 1 2 3 4 >
Topic Options
Rate This Topic
#270139 - 01/12/10 12:02 AM Tools/IDE for authoring GLSL shaders
igorgiv Offline
Newbie

Registered: 11/10/09
Posts: 29
Loc: NY
Hello,

I've been looking for a good tool/IDE for authoring GLSL shaders (preferably
with an ability to debug them) and at this point my search came to a halt -
as it seems that there are tools available but none of them actually has
all the features I want and sometimes those tools are simply unstable to
the point of being completely unusable.

So I wanted to share my findings with OpenGL community and let me know/correct
me if I'm missing anything.

(I have to admit that my interest was partially sparked by this article:
http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX)

I'm being a hobbyist OpenGL developer for a few years now, have a big faith in
OpenGL and it is just discouraging sometimes when you realize that the only way
to figure out what is wrong with your shader is to use printf-style debugging
while knowing that the other camp (DX) has very powerfull and stable tools,
like PIX for example.

Ideally I would like to have a tool/shader authoring IDE that would allow me to
do the following:
1) Syntax highlighting + intellisense (language version sensitive);
2) Tooltips for function parameters (like in Visual Studio) + context sensitive help;
3) Debugger with autos/locals/watch-window/breakpoints/run-to-cursor support,
pixel-debugging features, etc.

The tools I looked at are these ones:
1) glslDevil: I had high hopes for it. Looks very nice on screenshots and even provides
hardware-aware debugging. But! - most of the time it just crashes on me
(I'm on Windows Vista Home Premium 64-bit running 2xGF280 SLI);
I need to turn off OpenGL function call trace to get faster to the next shader switch -
otherwise it takes very long - 15-20 minutes or it just freezes. Every time
(95% of all attempts) when a click the Pause button (in the GL Trace window) it crashes.
Another problem: I could never fully debug vertex shaders - I could not get
the values of the variables displayed.
When (while debugging a vertex shader) I click the 'add to active window' button (Watch window)
it crashes always.
Thus: hardly usable at all (and I checked - there are no detectable GL errors).
2) NVIDIA's FX Composer (2.5):
From the overview video seems to be a very nice tool - and just what I need - but!
no GLSL support - and it does not seem to be provided any time soon.
From what I found on forums - adding GLSL support is quite hard as structure
of GLSL program is quite different from Cg/HLSL - no techniques/pass/includes support...
3) Render Monkey (1.82);
The best tool so far (and I'm using it) - but no debugging support.
4) Shadesmith:
No GLSL support; requires source code modification; fragment shaders only.
No updates since 2003.
5) NShader:
*) only provides syntax highlighiting;
*) only supports VS 2008 (I have VS 2005 a see few reasons to
upgrade to 2008 as I'm mostly doing C++)
6) Typhoon Labs Shader Designer:
*) Crashes on Windows Vista/7. Could get it to work though on Windows XP.
*) Supports intellicense and syntax highlighting;
*) Does not support shader debugging;
*) No longer updated as the development has been ceased - thus does not
support latest version of the language.

So is this the state of affairs in OpenGL land?

Thanks for your feedback.

P.S. I guess I should just send bug reports to the glslDevil team hoping that they would
fix them in less than a year...

Top
#270140 - 01/12/10 01:24 AM Re: Tools/IDE for authoring GLSL shaders [Re: igorgiv]
Ilian Dinev Offline
Frequent Contributor
****

Registered: 01/26/08
Posts: 966
Loc: Bulgaria
To debug shaders, I just render to 4 MRT RGBA32f targets, outputting whatever var interests me, and showing the 16 float values on a pixel under the mouse.
I name the glsl shader files as .c and include them in the VisualStudio project (skip build), there with definitions of vec3,vec4, etc I get full intellisense.
Breakpoints and such can be easily improvized with the MRT method. Otherwise, you may have to wait for months or years for complete 3.2 tools smile

Top
#270145 - 01/12/10 03:59 AM Re: Tools/IDE for authoring GLSL shaders [Re: Ilian Dinev]
randall Offline
Newbie

Registered: 03/09/09
Posts: 42
Loc: Poland
see NVIDIA Nexus

Top
#270156 - 01/12/10 06:39 AM Re: Tools/IDE for authoring GLSL shaders [Re: randall]
LangFox Offline
Regular Contributor

Registered: 10/11/01
Posts: 103
Loc: Shen Zhen, Guangdong, China
In visual studio 2005/2008:
tools->options->text editor->file extension

Add your shader file's extension with Editor "Microsoft Visual C++", add keywords to usertype.dat if you couldn't use NShader. Then you can edit shader in vc.

To debug, do like Ilian Dinev.
_________________________
Best Regards,
LangFox


http://hi.baidu.com/lang_fox

Top
#270159 - 01/12/10 07:06 AM Re: Tools/IDE for authoring GLSL shaders [Re: Ilian Dinev]
pjmlp Offline
Newbie

Registered: 09/24/04
Posts: 36
Originally Posted By: Ilian Dinev
To debug shaders, I just render to 4 MRT RGBA32f targets, outputting whatever var interests me, and showing the 16 float values on a pixel under the mouse.
I name the glsl shader files as .c and include them in the VisualStudio project (skip build), there with definitions of vec3,vec4, etc I get full intellisense.
Breakpoints and such can be easily improvized with the MRT method. Otherwise, you may have to wait for months or years for complete 3.2 tools smile


You are joking right? This might be a sensible option if you are an indie developer or doing hobby programming, but not when time is money.

NVidia has great tools for doing Shader development, and debugging with full access to the graphics card information, but they are not caring at all about GLSL.

NVidia only cares about giving just enough support to keep people happy to use OpenGL with their cards, I would say.

FXComposer is not having GLSL support and from the forum discussions it will never get, most likely.

Nexus is a Visual Studio extension to work with Cuda, DirectX Compute and it will have basic OpenCL support. No debugging support besides tracing, is planned for OpenCL or OpenGL, at least on version 1.0.

http://www.nvidia.com/content/GTC/documents/1023_GTC09.pdf (page 21)


As for ATI, they seem to provide better OpenGL support on their free tools, although they are famous for having driver issues. And I am not sure how good their tools work with non-ATI cards.

It is a shame that the two major graphic vendors are not giving proper support to OpenGL, but I guess they are not seeing any profit in doing so.

Maybe the increase on the mobile platforms that make use of OpenGL ES, will help change this.

Top
#270160 - 01/12/10 07:09 AM Re: Tools/IDE for authoring GLSL shaders [Re: pjmlp]
pjmlp Offline
Newbie

Registered: 09/24/04
Posts: 36
Just a small addition to my previous comment, if you have a good PC, and don't have any issues with Java based tools, the NetBeans OpenGL plugin might also be an option to edit GLSL.

http://kenai.com/projects/netbeans-opengl-pack/pages/Home

It is more oriented to do Java+OpenGL development, but it is also an option.

Top
#270168 - 01/12/10 09:25 AM Re: Tools/IDE for authoring GLSL shaders [Re: pjmlp]
igorgiv Offline
Newbie

Registered: 11/10/09
Posts: 29
Loc: NY
Thank you pjmpl for the great post and for saving me time for typing! smile

Top
#270169 - 01/12/10 09:26 AM Re: Tools/IDE for authoring GLSL shaders [Re: pjmlp]
igorgiv Offline
Newbie

Registered: 11/10/09
Posts: 29
Loc: NY
I will definitely take a look at this plug-in as it seems very nice (judging by screenshots) - at least better than anything I mentioned so far.

But I guess this IDE does not support GLSL debugging either, am I correct?

Top
#270170 - 01/12/10 09:53 AM Re: Tools/IDE for authoring GLSL shaders [Re: igorgiv]
randall Offline
Newbie

Registered: 03/09/09
Posts: 42
Loc: Poland

Top
#270173 - 01/12/10 10:09 AM Re: Tools/IDE for authoring GLSL shaders [Re: randall]
igorgiv Offline
Newbie

Registered: 11/10/09
Posts: 29
Loc: NY
Have you read the original topic?
Look at the tool #1.

Top
Page 1 of 4 1 2 3 4 >


Moderator:  barthold, Tom Nuydens, ZbuffeR, Zengar 
Search

Who's Online
4 registered (yeahdixon, CrazyBillyO, frank li, 1 invisible), 24 Guests and 12 Spiders online.
Key: Admin, Global Mod, Mod
Newest Members
Elias OpenGL, Jon Kristensen, tomastyv, sefiroths, trakof
25785 Registered Users
Top Posters (30 Days)
ZbuffeR 69
Dark Photon 64
Alfonse Reinheart 45
kRogue 44
ugluk 36
ei05tbe 29
Rosario Leonardi 26
davie 26
Ilian Dinev 24
Groovounet 24
carsten neumann 20
Aleksandar 19
Zarniwoop 19
DmitryM 19
Schnulla 18
Liufu 18
kowal 17
kyle_ 16
lobbel 16
NeXEkho 15
Forum Stats
25786 Members
13 Forums
54073 Topics
280436 Posts

Max Online: 482 @ 08/11/08 06:19 PM