Sneak peak: PixelBender Development Tool

PBDT

Because the PixelBender Toolkit editor is very annoying I started writing my own some weeks ago. All I want to have is a more comfortable way to write shaders in PixelBender and I think I have achieved that already but once you start doing something you want to implement even more features until you are really satisfied.

I am really thankful that Arne from FDT was answering a lot of my questions regarding the Eclipse framework. That is also why I could implement so many features already in a short amount of time.

The current features include:

  • Syntax highlightning
  • Matching brackets highlightning which handles also < and > for metadata correct
  • Smart auto-indent strategy
  • Context sensitive auto-completion
  • Auto-insert of closing brace etc.
  • Documentation for built-in methods on hover

There are two really important issues that I still would like to address. One is the ability to highlight stuff a little bit semantic. Defined constants for instance should look different in code. And I could also add very basic live error highlightning. An outline would be nice and some content-assist features like “Create parameter …” etc.
The only downside is currently that you can not have a live-preview of your shader in Eclipse. Maybe there will be a way of doing this. I am currently not sure. Please tell me what you think and leave feature requests in the comments. I can not garuantee for anything but I will try implementing as much as possible in a reasonable timeframe.

12 Responses to “Sneak peak: PixelBender Development Tool”


  • you are the man

  • Great news, I’m getting more and more annoyed with the toolkit myself. I’m just dreaming out loud, but it would be great to have a seemless integration with Actionscript projects. Meaning that if an AS project is compiled, it would first export the pbk to a pbj. This way Pixel Bender becomes a natural part of the project environment and there’s no need for the extra publish for flash step.

  • David, you can do that using Flex Builder with additional build targets or with FDT. You can also use pre/post compilation ANT builds in FDT which is much more comfortable and makes a lot of sense.

  • Yup, but as it is now the actual editing of the PB code would have to be done either in FB/FDT with the plain text editor or the toolkit, of which both are pretty lame :) The functionality of your IDE as an Eclipse plugin would solve that, perhaps.

    Definately looking forward to using it in any case ;)

  • Crap, your feed hasn’t been updating in my reader, so I am just now seeing this. This is great Joa; I am very thankful that you have been working on something like this.

    Obviously, as you already mentioned, getting a live-preview module in there would be ideal. Maybe the guys at Adobe would be willing to help with this?

    I would also like to see support for modifying PBJ bytecode as well. Are you planning on using Tinic’s compiler/decompiler for this? I would recommend you do since Adobe’s command-line tool still doesn’t allow exporting of some supported types such as pixel1, etc.

    Also, make sure you have the ability of toggling whether or not Flash is being targeted. This is as simple as toggling the AIF_FLASH_TARGET behind the scenes.

    Great stuff, man!

  • Ryan,

    I had a lot of problems with my domain so the feed was not available for a while. Same as for my email etc. That was really annoying.

    The live preview is something I have already discussed with the PixelBender guys and there might be some option in the near future.

    Right now it is really only an editor and does not contain build/project features. But the AIF_FLASH_TARGET is something one could set in the plugin preferences for instance. Although that would suck because it is only on a global level.

  • I’m glad that you are trying to create some better tools. The scintilla editor in eclipse is the same scintilla editor that is in the toolkit though…

    If there is stuff folks don’t like about the toolkit, you should send me your suggestions by either posting them as comments on my blog or putting them in the Pixel Bender forums on Adobe Labs. Even twitter me (@pixelbender). I’m working on the new version of the Toolkit now, so I really want your complaints/suggestions.

    Also, we’re about to release a new version of the toolkit soon that fixes the AIF_FLASH_TARGET bug. Let me also point out something important. Setting that variable DOES NOTHING to the compiler. It is a pre-compiler variable. When we compile to PBJ we set it for you so that you can use it to include or exclude code for Flash or for other targets. In fact, if you set it, you will get a multiple-definition error in the new version of the Toolkit that fixes the bug.

    Really cool work Joa!

  • Kevin,

    I wasn’t implying that it did anything to the compiler. My comment was more inference to toggling its value for testing purposes (similar to what is done in the toolkit with Flash warnings).

  • This would be great!!

  • This tool sounds great. So, when you will launch it? and, can we use it without installing FDT and other tools?

    I had a question about PB. Is there any debugger or at least a function like trace function in flash? I wanna see the values of the variables… How can we do that?

    Thanks.

  • You could use the plugin without FDT but you need Eclipse.

    There is no option to trace any values in PixelBender. One would have to write a virtual machine which allows tracing of variables. Maybe Adobe will be kind enough to do so.

  • I wanna help. Never coded in Java, but this sounds like a good excuse to start and I need something to keep me off the streets at night….

    Any chance of providing whatever code you’ve done so far. Or if ever decide to give up, I’d like to give it a shot.

Leave a Reply