Jump to content
  • Advertisement
Sign in to follow this  
thomasvantroyen

first version of my Effect file editor

This topic is 2505 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey,

As I found existing HLSL editors overly complicated (FX Composer), outdated (Render Monkey) or unavailable, I decided to make a Visual Studio Code Editor inspired HLSL Editor.

Now, I don't say FX Composer is bad, but it's just very complex. I wanted something lightweight that easily integrates into the programming process with nothing but the most obvious features: syntax colouring, code completion (the more the better), visualizing errors and maybe a simple test-on-sphere renderview.

It's been like only 15 hours of work so far so it's not finished yet but thanks to the great AvalonEdit it has my priority features in it already:
* syntax highlighting
* code completion using Alt+Space for intrinsic HLSL functions (could be much better, but that requires a lot of context-parsing work)
* compiling using DirectX 10 with error listing and marking errors in the code when double clicked.
* filewatcher: EffectEd detects when you modified the open file in another application
* opens files from commandline argument: when "*.fx" is correctly associated to EffectEd, opening an effect file from Explorer or VS.NET will automatically open EffectEd with the requested file.

EffectEd v1.0

screenshot.gif

As I don't want to spend time yet to integrate it into VS.NET, you can associate the .fx extension in Visual Studio Solution Explorer by right clicking any fx file and choose "Open with...". In there, you can configure EffectEd to be the default for .fx files.

All is still experimental but I thought I could share it as it is to get your thoughts and ideas. Or to find out if I'm making something that already exists (and is still available)

cheers.

Share this post


Link to post
Share on other sites
Advertisement
That's a great start! I have been wanting such a lightweight editor for some time, but haven't put the effort into building one. Are you considering making this an open source project?

Here are a couple of comments / feature requests:

  1. I couldn't get the auto-completion to work - any time I pressed alt it jumped to the menu.
  2. Can you add profiles for the individual shader types? I often write shaders in standalone files and then combine them myself in my engine...
  3. Similar to #2, the file extension *.hlsl would be a good addition too...

It looks great so far, and I can't wait to see where you take it!

Share this post


Link to post
Share on other sites
It looks like the auto-complete features are Ctrl+Space not Alt+Space smile.png

A comment of my own (kinda picky though):

I don't like how you *have* to have the template FX file for the program to load, or when you create a new file to work with, it automatically uses the "new.fx" template rather than creates a blank space to work in.

It's a good start though, most of what is out there are syntax highlighters (e.g. NShader). I think one of the SlimDX devs was working on something that also had intellisense, but I don't think he ever released. So yeah, there's definately use out there for a lightweight editor (or VS plugin) that not only has highlighting, but auto-complete features and built-in compilation w/ error logging.

Share this post


Link to post
Share on other sites
I intend to make it resemble VS.NET so it feels familiar, so, code completion is Ctrl+Space indeed.

I'm not going to put a whole lot of effort in it, I'm a noob at DirectX and want to do game programming in the end.. But I'll work on it along the way as I acquire more need of features and when it's getting somewhere, I will put it in an opensource project some place. I'll let you know.

Your suggestions are very welcome, feature 2 of Jazon Z could use some elaboration about that particular use case, though. (remember: i'm a novice) I was thinking about a template choice dialog so, if I understand your request well, having specific templates for things like you mentioned, could be handy. (you may always send me some to elaborate)

Share this post


Link to post
Share on other sites
What I mean is that you are currently allowing the selection of each of the fx_y_z profiles, but not the individual shader program compile targets, such as cs_5_0 or vs_4_0 for example. I normally compile these individually in my D3D11 engine, so they are typically found in their own files (at least thats how I do it).

Share this post


Link to post
Share on other sites
Still working on it: it was a bunch of testlogic stitched together... so, during the weekends, I'm busy refactoring it into a decent piece of software and making about every aspect configurable through Xml. Don't expect wonders, I'm running low on spare time.

Pitty my life is stuffed with developing boring business software at daytime :)

Anyway, as soon as this batch of features is done, it's going public.. Then, I still have some big ideas, but I'll let it rest a bit then, see what the community thinks.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!