AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« on: April 03, 2008, 05:38:44 PM » |
|
I started working on an editor for HLSL. I find the NVIDIA one too be too over-bearing and the TV one to be too simple. So I started working on a middle-ground. This has full, customizable, syntax highlighting aswell as multiple file support( for composites, or just for the shader heavy developer ). I intend to release it in 2-3 weeks time with a lot of simple to understand HLSL tutorials for the shader newb - aswell as samples showing how to get them working in TV3D. [click for 1280x1024]     If you have any comments on the kinds of tutorials you would like to see when this is released. Let me know and I will try my best to include them.
|
|
|
|
|
Logged
|
|
|
|
DarkFact
Community Member

Posts: 183
3dsMax Artist
|
 |
« Reply #1 on: April 03, 2008, 07:24:38 PM » |
|
Sounds good and I'm looking forward to the results. I'd personally like to see tutorials that are step-by-step starting with the definition of shader. I'm a huge shader newb. LOL
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #2 on: April 03, 2008, 07:29:41 PM » |
|
I'd personally like to see tutorials that are step-by-step starting with the definition of shader. I'm a huge shader newb. LOL
That's exactly what I'm going to do and they'll be aimed at people in your position. 
|
|
|
|
|
Logged
|
|
|
|
|
newborn
|
 |
« Reply #3 on: April 03, 2008, 08:10:36 PM » |
|
So, is this your big come back under a different alias, Arius?
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #4 on: April 03, 2008, 08:15:00 PM » |
|
So, is this your big come back under a different alias, Arius?
It had to be a different name. But I think people know who I am, I didn't change it completely. Also, to elate any concerns you or anybody else may have. Sylvain said I could reregister. As for a big comeback. Well, I don't really use TV3D anymore, I use DirectX. So I don't intend to be active on the forum apart from this thread and the Meadow one.
|
|
|
|
|
Logged
|
|
|
|
|
RuntimeError101
|
 |
« Reply #5 on: April 03, 2008, 09:16:12 PM » |
|
Hey, you're the one... never mind. Welcome back, I guess, that editor looks brilliant. I, too, am completely stupid when it comes to HLSL and many others are as well. Well, good luck, I'm eager to try!
|
|
|
|
|
Logged
|
|
|
|
|
Zaknafein
|
 |
« Reply #6 on: April 03, 2008, 10:12:59 PM » |
|
Sounds good and I'm looking forward to the results. I'd personally like to see tutorials that are step-by-step starting with the definition of shader. I'm a huge shader newb. LOL
Aha, I wrote a tutorial that starts precisely with this, years ago. It's on the wiki, you should check it out. But Arius, this looks AMAZING. I would definitely use it. A couple of things I'd like it to do (if it doesn't already) : - Access to the disassembly generated by the DX HLSL compiler. - Some more customizable keyboard shortcuts, I personally can't live without CTRL+D to delete a line... - Be fast! (i.e. doesn't stutter when you scroll or type)
|
|
|
|
« Last Edit: April 03, 2008, 10:17:44 PM by Zaknafein »
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #7 on: April 03, 2008, 10:17:09 PM » |
|
Aha, I wrote a tutorial that starts precisely with this, years ago. It's on the wiki, you should check it out. But Arius, this looks AMAZING. I would definitely use it. The only thing I'd like to see added to it is access to the disassembly generated by the compiler. And I hope it's fast! (i.e. doesn't stutter when you scroll or type) I noticed your disassembler post. I'm not actually sure how to go about doing that, any advice that could point me in the correct direction? - I could use DirectX for the backend instead of TV( all it's doing is compiling and dumping the error on fail ) if so required. As for the speed. It runs fine and doesn't stutter. I have only tested it on my own computer though. The transparency/opacity could be an issue with this on some systems, but it can be disabled. However, thanks for the "I would definitely use it"; that means a lot coming from a heavy shader developer such as yourself. 
|
|
|
|
|
Logged
|
|
|
|
DarkFact
Community Member

Posts: 183
3dsMax Artist
|
 |
« Reply #8 on: April 03, 2008, 10:17:27 PM » |
|
@Zak: I've read your tutorial before and I will again. I learn things pretty quickly, but until I get the base terminology and programming experience down, I'm afraid that even your well crafted lesson is still too advanced for me. I'm REALLY in the dark about shaders. I need the pre-school version. 
|
|
|
|
|
Logged
|
|
|
|
|
Zaknafein
|
 |
« Reply #9 on: April 03, 2008, 10:26:26 PM » |
|
(D'oh, you reply faster than I edit  ) I noticed your disassembler post. I'm not actually sure how to go about doing that, any advice that could point me in the correct direction? - I could use DirectX for the backend instead of TV( all it's doing is compiling and dumping the error on fail ) if so required.
TV has a function to get the disassembly but I think it's broken, or it doesn't support some kinds of shaders, because I've seen it terminate my application a number of times. I'm not sure how it would work in DirectX (I've only used XNA and MDX) but in XNA it's pretty damn simple : CompiledEffect compiledEffect = Effect.CompileEffectFromFile(stream, null, includeHandler, options, TargetPlatform.Windows); byte[] effectCode = compiledEffect.GetEffectCode(); Effect effect = new Effect(GraphicsDevice, effectCode, options, new EffectPool()); string disassembly = Effect.Disassemble(effect, true); 'stream' is a stream to the effect file, 'includeHandler' is an implementation of the CompilerIncludeHandler XNA class that tells the compiler where to fetch files from #include directives, 'options' is a bitfield with the compiler option flags.
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #10 on: April 03, 2008, 10:26:54 PM » |
|
@Zak: I've read your tutorial before and I will again. I learn things pretty quickly, but until I get the base terminology and programming experience down, I'm afraid that even your well crafted lesson is still too advanced for me. I'm REALLY in the dark about shaders. I need the pre-school version.  Yea, I was the same really. But I was fortunate enough to have Blind and Zak to run and cry too when I couldn't get something to work. I owe them a tonne of thanks for the help and advice they've given me in this area. The idea behind the tutorials I'm going to provide is to make it as simple as possible for the reader to understand. I'm going to try to explain every line of code etc etc. I'll also give a basic brief of what a shader is and do my best to steer clear of lexically ambiguous jargon. The tutorials will cover both object shaders and post-process shaders.
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #11 on: April 03, 2008, 10:31:55 PM » |
|
I'm not sure if it will be the same in DirectX. But that snippet of code certainly gives me something to google. I will do my best to include it as I think it would be a useful feature. The speed thing I don't think will be an issue. I haven't noticed any stuttering so far. As for the CTRL+D, I will try to include that. Are there any other editing shortcuts that you would like to see?
The shortcuts aren't currently customizable. But I will add that feature to the settings dialog for you.
|
|
|
|
|
Logged
|
|
|
|
|
Zaknafein
|
 |
« Reply #12 on: April 03, 2008, 10:40:52 PM » |
|
Are there any other editing shortcuts that you would like to see?
The ones I can think of right now : - CTRL+SHIFT+C to comment a block of code, i.e. full selected lines get a // and partial lines get a /* */ (this might get complicated... but would be sweet  ) - CTRL+SHIFT+X removes // in front of a line or a block of lines if present. (the inverse of CTRL+SHIFT+C...) - Select a block of full lines and press TAB indents it, SHIFT+TAB un-indents it. And I would be glad to test it before release, if you need anything like that...
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #13 on: April 03, 2008, 10:45:26 PM » |
|
The ones I can think of right now : - CTRL+SHIFT+C to comment a block of code, i.e. full selected lines get a // and partial lines get a /* */ (this might get complicated... but would be sweet  ) - CTRL+SHIFT+X removes // in front of a line or a block of lines if present. (the inverse of CTRL+SHIFT+C...) - Select a block of full lines and press TAB indents it, SHIFT+TAB un-indents it. And I would be glad to test it before release, if you need anything like that... I could certainly use some testing. I need to finish some things off before it's in a state to be tested though. But that would be great. I will try to add those shortcuts though. They are a good idea and anything that makes shade a more friendly place to work in is good.  Edit: Oh, as an example of something I want to add before testing is a "save workspace" so you can save/load a bulk of files all in one. Rather than having to load them individually.
|
|
|
|
|
Logged
|
|
|
|
|
Zaknafein
|
 |
« Reply #14 on: April 03, 2008, 10:48:33 PM » |
|
Edit: Oh, as an example of something I want to add before testing is a "save workspace" so you can save/load a bulk of files all in one. Rather than having to load them individually.
In VS.Net the shortcut for that is CTRL+SHIFT+S, as opposed to CTRL+S which saves the file in the active tab. Oh, and CTRL+TAB should cycle through the tabs, that's standard Windows MDI behaviour. And I'll stop replying every two seconds now. 
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #15 on: April 03, 2008, 10:56:05 PM » |
|
In VS.Net the shortcut for that is CTRL+SHIFT+S, as opposed to CTRL+S which saves the file in the active tab. Oh, and CTRL+TAB should cycle through the tabs, that's standard Windows MDI behaviour. And I'll stop replying every two seconds now.  Ok. Noted. Also, for testing. It'd be good if you scanned over the tutorials also. Whilst the shaders will run, some of the information I doll out might be bollocks. I'm not a shader guru as you know. So it'd be good if you could tell me if something I've written in them is inaccurate or just outright wrong.
|
|
|
|
|
Logged
|
|
|
|
|
sgrippa
|
 |
« Reply #16 on: April 04, 2008, 02:33:43 AM » |
|
So we see the Meadow Master again  Welcome home mate !
|
|
|
|
|
Logged
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. (Rich Cook)
|
|
|
|
|
|
Raine
|
 |
« Reply #18 on: April 04, 2008, 03:09:02 AM » |
|
Nice to see you again Arius 
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 317
Esoteric
|
 |
« Reply #19 on: April 04, 2008, 03:19:37 AM » |
|
Nice to see you again Arius  Thank you. 
|
|
|
|
|
Logged
|
|
|
|
|