Quake3World.com
https://www.quake3world.com/forum/

Shader Editor aka "How to make IDE"?
https://www.quake3world.com/forum/viewtopic.php?f=16&t=52077
Page 1 of 1

Author:  CZghost [ 06-05-2016 04:27 AM ]
Post subject:  Shader Editor aka "How to make IDE"?

Hello. I am fan of Shader Editor, that is truly great tool for making shaders, but it's outdated and abandoned now and does not support new directives that came with new versions of q3map2. Plus it has DirectX renderer, that simply makes the shader preview slightly different from how it is shown in game. For instance the 3D view on shapes. It has about 100 times smaller ratio of deformVertexes effect and the Autosprite function does not operate correct.

So I decided to start making own Shader Editor. I want to inspire from Notepad++ which allows me to open multiple files in multiple tabs to one window, and to inspire from the last stable release of original Q3ASE (mainly the preview window, then shader tree). My goal would be make fully functional IDE that allows to edit shaders via the source code (with syntax highlighting), and the shader tree, which would allow to move entire shaders or stages (not the functions) up and down, and making new and deleting the selected ones. The IDE would be aimed to the code writing, the shader tree would be only to display and modify the rough structure of the script. Preview window would use OpenGL renderer instead of DirectX, which should allow me to make preview look more like the shader shown in game.

But there are problems - I am newbie to MS Visual Studio Community 2015. I tried to Google, what MDI Container is and how to use it, but without usable results. I found no usable and understandable results to my search question about syntax highlighting. I have no idea how to implement the renderer into the preview window, so there is a blank space in that window yet. I ended up with garbage that can't be called an IDE and that does not work at all. It only displays some kind of window with a text field and blank preview window that does not show up in the Task Panel and gets covered by the main window with the text field. The only one usable and really working thing is the "About" window, that displays the program's icon and few details about the program and author and has few links that point to the Shader Manual by obsidian and my e-mail address...

Simply I failed at all since I can't continue on my own only.

Does anybody know about MDI Conainers? Windows Forms? What they are and how they actually work? Also, I wanted to make the preview window dockable, but I have no idea how to do it :(

If I may, I'd like to at least show sketch of how the IDE should look like and try to give details on how it should actually work. If there is any good will and is so good to give me a help hand, I'll definitely include him to credits.

Looks like this is something I can't do everything on my own only and I need such band of creators that would be willing to make the program with me. Sadly, there are no such crazees around me, that would actually help with this project :(

I know it sounds dumb, but I have no other option than ask you to make a band that would create this thing. At least that world wide. The source code hostile would be GitHub...

Author:  RojaN Returned [ 08-28-2016 12:44 PM ]
Post subject:  Re: Shader Editor aka "How to make IDE"?

Boy is this necessary. Q3ase is invaluable, but clearly obsolete, buggy and has to be tricked into being useful at this point. Wish I could proffer mad coding skillz, but that's not where I am, sadly. Happy to be a tester, FWIW. Have you talked with Burt Peers?

Seems pretty dead around here, so don't be too bummed at the lack of response; I don't see burning threads on some other topic.

Texture editing is a real weak spot in radiant IMHO. The surface inspector isn't great, the Patch Properties/Inspector is nuts (and woefully under-documented), and the shader inspector doesn't exist. Shift clicking on a shader in the texture window is the only real nod shaders get in-editor. Okay, the white outline and flush and reload. Heh.

Ironically, the frustration of having to code shaders the old-fashioned way inspires non-programmers to pick up programming so they won't have to code shaders anymore! LOL! I guess the real programmers don't mind a little shader coding, so they lack the motivation. Who says irony is dead?

If you're still tinkering with this, post an update. Maybe the collaborators you're looking for just need some inspiration.

Author:  obsidian [ 09-15-2016 08:55 AM ]
Post subject:  Re: Shader Editor aka "How to make IDE"?

Other than the fact that shaders have little curly braces { and }, shaders have zero to do with programming. It's easier to think of them as just a list of options you want your surface and textures to have. The curly braces just denote where the shader or texture begins and ends. Shaders are not any more complicated than that and you certainly don't need a programming background to use them. id Software created shaders for Q3 specifically so the artists who had no programming experience could generate interesting effects without bothering the programming team.

The only useful thing that Q3ASE does is that it allows you to visualize some of the blend functions and waveforms, but you can do that almost as easily by alt-tabbing out of Q3, making a change in your text editor, then reloading the map in Q3 (in fact, that's generally what I do). Or just use Q3ASE as is and copy those values into your shader.

I agree that some of the features could be better improved in GtkRadiant, but those features require significant developer time, and without a wealth of available programmers, this probably won't happen. Due to this, the current GtkRadiant goal is to work on stability and support for popular games, not on new features. So rather than dedicating time to building a completely new shader editor, it might be better to direct whatever available programmers to GtkRadiant itself.

Author:  CZghost [ 09-27-2016 08:32 AM ]
Post subject:  Re: Shader Editor aka "How to make IDE"?

Hello after some longer break. Yes, You are right that such project needs really large programming team and such project can't consist of just one file but have to be built with numerous other each dependent DLL files libraries that the main application should be dependent. That should include also the OpenGL renderer. I never said that GtkRadiant Team should do some Shader Editor (even when it would be great), but I said I really realised that such project like Shader Editor really needs many people to participate so I wrote this question if someone is willing to help in any way. Looks like there is (almost) nobody who wants to participate. That's not any bad, I won't force anyone, so just another cancelled project. It might be a text-editor based IDE that could "visualise" the shader code. Anyway, it's not neccessary to actually build something like that for someone who can visualise the shader in his head (or do tweaking in game)...

Page 1 of 1 All times are UTC - 8 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/