Quake3World.com Forums
     Level Editing & Modeling
        Shader Editor


Post new topicReply to topic
Login | Profile | | FAQ | Search | IRC




Print view Previous topic | Next topic 
Topic Starter Topic: Shader Editor

Warrior
Warrior
Joined: 09 Jul 2013
Posts: 90
PostPosted: 04-25-2018 06:45 AM           Profile Send private message  E-mail  Edit post Reply with quote


I used Q3ASE for a long time to create my shaders. What a usefull tool it was. At that time my OS was Windows Vista.
Recently I changed to Windows 10 and he stopped work... and I know that the author makes no more updates.
So anyone knows how to make it work on W10 or if exists some other shader editor?




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12307
PostPosted: 04-25-2018 06:53 AM           Profile Send private message  E-mail  Edit post Reply with quote


I’m not aware of any problems, but maybe try running it with compatibility mode?



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Warrior
Warrior
Joined: 09 Jul 2013
Posts: 90
PostPosted: 04-25-2018 07:25 AM           Profile Send private message  E-mail  Edit post Reply with quote


I did...every one possible :cry:




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12307
PostPosted: 04-25-2018 08:08 PM           Profile Send private message  E-mail  Edit post Reply with quote


Not sure.. must be localized to your computer. I just ran it here on Windows 10, works fine for me. I didn't even have to run it with compatibility mode, it just worked natively. OS and drivers up to date?



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 05-01-2018 02:21 AM           Profile   Send private message  E-mail  Edit post Reply with quote


That's maybe the point. Drivers up to date may not be supported by an outdated version of a program (simply dependent by calling a function that no longer exists - or is moved). I think that to make up to date Shader Editor, a new one may be created (or ask author for source code)...



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

Gibblet
Gibblet
Joined: 26 Jun 2019
Posts: 19
PostPosted: 09-04-2019 09:53 PM           Profile Send private message  E-mail  Edit post Reply with quote


Hello
Does anyone know how to fix Q3ASE error?
Windows 7 64bit (on the WinXP 32bit virtual machine the same error occurs), in the folder I have 4 files maybe something is missing? : - /.

"Microsoft Visual C ++ 2005 Redistributable" and the rest I have installed.




Attachments:
Screenshot_3.jpg
Screenshot_3.jpg [ 3.87 KB | Viewed 1409 times ]
Screenshot_1.jpg
Screenshot_1.jpg [ 15.18 KB | Viewed 1409 times ]
Screenshot_2.jpg
Screenshot_2.jpg [ 18.62 KB | Viewed 29 times ]
Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 09-05-2019 04:22 AM           Profile   Send private message  E-mail  Edit post Reply with quote


I dunno. Personally, I didn't use it much, I always typed the shaders by hand and tested them out in game rather than in that editor. But I guess that I'll make my own editor (required to be installed, obviously), with OpenGL renderer similar to that one from Quake 3. I'll release it for free to everyone under GPL v3.0 licence, obviously...



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

Gibblet
Gibblet
Joined: 26 Jun 2019
Posts: 19
PostPosted: 09-05-2019 01:33 PM           Profile Send private message  E-mail  Edit post Reply with quote


OK I understand.

But how to create some "shader" not see how it looks in the game? : - /

I know, you can learn what parameters they do, I don't quite understand it (how it mixes with each other, so that the intended effect comes out).

Something like opening a ".map" file in a notebook and creating a map. :-) (it's almost like programming -: D)

I'm trying to figure it out somehow, considering that recently on some map I noticed that the usual "JPG" texture is a nicely levitating light effect, I thought with transparency only works in "TGA" with the "alpha" channel. : - /




Top
                 

Gibblet
Gibblet
Joined: 26 Jun 2019
Posts: 19
PostPosted: 09-05-2019 01:44 PM           Profile Send private message  E-mail  Edit post Reply with quote


...| My english is low, they can be typos




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 42656
PostPosted: 09-06-2019 03:28 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Here's the Quake 3 shader manual:
http://q3map2.robotrenegade.com/docs/sh ... tents.html

It explains everything you need to know about shaders.




Top
                 

Mercenary
Mercenary
Joined: 15 Feb 2010
Posts: 231
PostPosted: 09-06-2019 05:07 PM           Profile Send private message  E-mail  Edit post Reply with quote


I have the same problem with Q3ASE. It worked fine until i had to change my broken graphics card.
Same system, same OS but now Q3ASE gets terminated by windows during the program start.

I can only run older versions like v1.2.1 or 1.3 in windows safe mode. But thats not really an option.

old graphics card: nvidia GTX-560-Ti
New one: GTX-1050 (Q3ASE won't start anymore)

R.I.P. Q3ASE :(



_________________
Q3A Maps - by sst13
Quake Live Workshop


Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 09-07-2019 11:27 AM           Profile   Send private message  E-mail  Edit post Reply with quote


@SzczurMr:
First of all, no need to be ashamed of being bad at language knowledge. As I am aware of, I'm not a native English speaker, my mother tongue is Czech, so I understand your difficulties, I have gone through that, too.

Second of all, there's no reason to feel sorry to admit reasonable lack of knowledge in certain fields. Like shader scripting is really very technical field and especially the blend modes are easier to understand for programmers.

Like obsidian said, for full info on how Quake 3 shaders work, go to the websites he linked. I'll only add some technical informations. If you were programmer, I'd tell you to look at the shader as a procedural program code. Because it basically is. Shader is program code that tells how to render certain texture parts. Stages are stacked on top of the previous ones, while the program is read from top to bottom, so you can imagine the stages as layers like you know from Photoshop, but the topmost stage is actually the very bottom layer (the order of layers is flipped). This is actually info you can read in the documentations. What you can't read out from the documentation, is how the blend modes actually work. Quake 3 Arena uses OpenGL render engine, so naturally shaders use OpenGL blending mode instructions.

Like you can read in linked websites, blend mode consists of two parts: Blending mode of the source picture and right after that blending mode of the destination picture. This is the equation that the engine uses to compute the image data (lifted from Robot Renegades, courtesy of obsidian, websites author):
Code:
[source * (srcBlend)] + [destination * (dstBlend)]


Source blends are as follows:
  • GL_ONE: Hardcoded value 1 (full pixel intesity; all color data are normalised). When multiplied with color data, they stay the same
  • GL_ZERO: Hardcoded value 0 (no pixel intensity). When multiplied with color data, they are nulled
  • GL_DST_COLOR: Current value of picture buffer (previous stages also affect that value).
  • GL_ONE_MINUS_DST_COLOR: Basically inverted value of picture buffer (this is actually value 1 - GL_DST_COLOR => remember, all values are normalised; subtracting the data value from 1 makes a negative filter of the image data - like when you shoot with and old camera to film strip)
  • GL_SRC_ALPHA: Alpha channel of the source value
  • GL_ONE_MINUS_SRC_ALPHA: Same as GL_SRC_ALPHA, but inverted. Again, simple math of subtracting from 1 inverts the image color data

Destination blends are as follows:
  • GL_ONE: Same as in source blend
  • GL_ZERO: Same as in source blend
  • GL_SRC_COLOR: Source color value. Do I really need to tell more? This is the texture color data
  • GL_ONE_MINUS_SRC_COLOR: Inversion of the source color value. Again, simple math. Subtract a normalised value from 1 and you get the inverted value.
  • GL_SRC_ALPHA: Same as in source blend
  • GL_ONE_MINUS_SRC_ALPHA: Same as in source blend. Here I have to make a note for obsidian: This portion is kind of attached to the previous node, which I believe is a bug. Can you correct it, please?

There are simplified named blend modes to be used in shaders. They are really just shortcuts to certain full blend modes, commonly used, their list is as follows:
  • add: GL_ONE GL_ONE => This blend mode will make the texture translucent. It works as a black matte remover, preserves only white, which makes the texture brighter on brighter surfaces. On a completely white surface, this texture will be invisible. An equvalent to Photoshop's Linear Dodge blend mode.
  • filter: GL_ZERO GL_SRC_COLOR => This blend mode will also make the texture translucent. It works on the other hand as white matte remover, preserves only black, which makes the texture on the other hand darker on darker surfaces. On a completely black surface, this texture will become inisible. An equivalent to Photoshop's Linear Burn blend mode.
  • blend: GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA => This blend mode will use the texture's alpha channel to blend it with the background. It's an equivalent to using a mask on an opaque layer in Photoshop or using layer with alpha channel baked in the color data

It's very good to look at the equation and try to figure out how the result will look. It won't be very bad to get experimenting. Prepare some textures to use in a simple box map, and some textures to use in a test shader. That box map won't be public, it's just for your test purposes. When compiling, don't perform a full compile, perform only BSP compile to compile the geometry. Vis data are not really needed, because it's a box map and it will be full vis anyway. Also, there's no need for lighting, because you need to focus on the shader. For that reason, the testing shader won't need a lightmap stage.

I'd suggest you to create one texture (shaderless) for the box to enclose playable area (yes, even that is playable area), so the map doesn't get leaked and the box is clearly visible. A simple checkerboard is very good to use. I don't suggest you to use pure monochromatic black&white checkerboard, because that will be harsh for eyes. Use a slightly darker gray on a slightly lighter gray (but still visible). And a testing texture to be used for the shader experimenting.

I might create one that map for you (including a source map file with a compiled bsp file and required assets to be used). Just tell me and I'll send one for you.

For example, GL_DST_COLOR GL_SRC_COLOR has an effect of something between add and filter, I'd say it's an equivalent to Photoshop's Hard Light blend mode (slightly stronger than Overlay, but still weak enough to be easy for eyes, unlike Vivid Light). And yes, I tested that myself, it really works.

GL_ONE_MINUS_SRC_ALPHA GL_SRC_ALPHA will have an exact oposite effect of blend. It basically inverts the alpha channel (it's like performing an invert action on the alpha channel).

As you may have figured out, there are many more possible blend modes that might work for you. Each card is different and each card can produce different results. However, the effects are still the same. Feel free to experiment ;)

As for a shader editor that would work on Windows 10 with current GPUs on trade, I do not promise anything, but I was kind of thinking of creating my own shader editor, however never really got into it. Since original Q3ASE is having issues with modern systems, I guess it's really time to start thinking of making the thought true as a working shader editor may be actually demanded by many map makers :)

Whoever wants to join the project and contribute, just write me and I'll create a project team on GitHub and send invite for you. The only requirement is to have a GitHub account.



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 09-08-2019 12:26 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Okay, so I created a new repository under team name "CZghost Development" (icon is identical to one used on Discord server and YouTube channel).
https://github.com/CZghost-Development/Shader-Editor

Whoever wants to join the team, just write me and I'll send you an invite. The only requirement is to have GitHub account. Write me your username on GitHub.



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

Gibblet
Gibblet
Joined: 26 Jun 2019
Posts: 19
PostPosted: 09-09-2019 01:27 PM           Profile Send private message  E-mail  Edit post Reply with quote


I wasn't a programmer :-( but I tried to write applications for the android platform, but without any major effects. I once looked at this list of variables "q3map2" but I didn't really understand it, it meant it was well explained, everything seemed simple, adding parameters correctly. Thank you "@CZghost" for the detailed explanation, I'm starting to understand it a bit. It can't do without practical tests :-). As for sending the map, I will gladly see what it looks like and how it looks :-) Thanks for describing these details.




Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 09-12-2019 10:30 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Update: the shader editor repository was renamed to GtkShaderEd:
https://github.com/CZghost-Development/GtkShaderEd

Yes, I took inspiration from GtkRadiant, and yes, it will use GTK+ library and will be cross-platform. Developed in Visual Studio for both Windows and Unix-like OS (Mac and Linux).



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 42656
PostPosted: 09-12-2019 10:59 PM           Profile   Send private message  E-mail  Edit post Reply with quote


Calling it now: the first commit will never come




Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 09-12-2019 11:20 PM           Profile   Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
Calling it now: the first commit will never come

Well, I do not have much time to do first actual commit to the shader editor repository yet. Ya know, school stuff. I have Discord bots to be done, make them hosted on Raspberry Pi (which I do not have yet), and of course finish the Schöna map. It takes waaaaay too long and I really need to finish it. But school is important and I cannot ditch school stuff because of that. Personally, I do not need a special shader editor, Sublime Text is perfectly fine for me. But I asked myself: "If you do not need it, who could?" And I answered myself immediately: "Anyone". I have a choice: ditch it and just wait till someone makes it, or do not wait and make it myself. In free time, of course. As I said, I need to finish the map Schöna, finish the Discord bots I am making, school stuff, in addition to that shader editor, so way too much stuff to work on. It won't be easy.



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 42656
PostPosted: 09-12-2019 11:57 PM           Profile   Send private message  E-mail  Edit post Reply with quote


Instead of "sort of" committing yourself to new projects all the time, finish one and only move on to the next when the old project is done.
Right now you're only giving people (well, one person) hope a new shader editor is coming. It's not coming, ever, I know you well enough to know that.

Actually finishing things is a skill. It requires perseverance and discipline. It's better to do one thing well than to do three things in a half assed manner. It's a life lesson, it truly is.

I know you actually mean well, but it's important to be able to reflect upon yourself and see that some ideas aren't the best ones. And really, it may sound harsh, but there really isn't a demand for a idTech3 shader editor. Anyone that is stubbornly sticking to idTech3 right now is most likely experienced enough to write shaders by hand.




Top
                 

Immortal
Immortal
Joined: 02 Jun 2006
Posts: 2464
PostPosted: 09-13-2019 02:17 AM           Profile Send private message  E-mail  Edit post Reply with quote


war, war never changes... :olo:




Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 09-13-2019 02:38 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
Instead of "sort of" committing yourself to new projects all the time, finish one and only move on to the next when the old project is done.
Right now you're only giving people (well, one person) hope a new shader editor is coming. It's not coming, ever, I know you well enough to know that.

Actually finishing things is a skill. It requires perseverance and discipline. It's better to do one thing well than to do three things in a half assed manner. It's a life lesson, it truly is.

I know you actually mean well, but it's important to be able to reflect upon yourself and see that some ideas aren't the best ones. And really, it may sound harsh, but there really isn't a demand for a idTech3 shader editor. Anyone that is stubbornly sticking to idTech3 right now is most likely experienced enough to write shaders by hand.

Yeah, I never said anything bad or something that may sound like I doubt you mean well with your advices. Basically, you just said the exactly same thing as I did. I know that what I started is taking too long. And of course I need to finish things as soon as possible. Being it made for someone and had a deadline, I have failed miserably looong time ago. However, I can only work with that in free time. Currently, that free time is really small. School stuff is really important and now that I am in second year of study, I'll have much more work than before.

As with being able to write shaders on my own - I am. But there are some newcomers and some that are really inexperienced or do not truly understand shaders well enough to be able to write them on their own, partially because they never learned programming. I did and such as I was able to learn more about procedural scripting, which shaders basically are - a procedural script programs that modify texture render on fly. So I was able to ditch the original shader editor that worked so well since I already knew how it works and I was able to imagine the outcome of the shader.

I'm not doing it for myself. I'm doing it for the others. If there is no demand, I am creating it. Once there is something to offer,, something good, people will want it, right? I promise nothing and you can clearly see that I am actually seeking help so bad that I even created team on GitHub. Whoever wants to join, he's free to do so. I'll create first commit with new Visual Studio solution and new projects. I also installed GNU Linux Ubuntu to WSL (Windows Subsystem for Linux), so I could make cross-platform apps on Windows. I just don't know how I could make it for Mac, since it uses different code base than Linux, though the Unix core is the same.



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

Gibblet
Gibblet
Joined: 26 Jun 2019
Posts: 19
PostPosted: 09-17-2019 10:30 AM           Profile Send private message  E-mail  Edit post Reply with quote


The test map is already done and the paths are probably correct, it's time to start testing my "shader" file.

In the future I will need the effect of rain, fog, light rays (any) and something that covers the walls.

Edit:
I would forget.
Still the effect of visible current (voltage) or something similar.




Last edited by SzczurMr on 09-17-2019 11:11 AM, edited 1 time in total.

Top
                 

The hell good boy
The hell good boy
Joined: 22 Jun 2011
Posts: 1750
PostPosted: 09-17-2019 10:40 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Yeah, those effects are really nice addition to maps :)



_________________
[ CZghost Gaming | Facebook | Twitter | YouTube | Instagram ]
When you are worst off in your life, turn to face the sun and all the shadows will fall behind you.” - John Lennon


Top
                 

Gibblet
Gibblet
Joined: 26 Jun 2019
Posts: 19
PostPosted: 10-04-2019 02:51 AM           Profile Send private message  E-mail  Edit post Reply with quote


Does this picture about shaders really say anything or is it not true?




Attachments:
Blendmodes_cheatsheet.jpg
Blendmodes_cheatsheet.jpg [ 72.98 KB | Viewed 76 times ]
Top
                 

Mercenary
Mercenary
Joined: 15 Feb 2010
Posts: 231
PostPosted: 10-04-2019 05:34 PM           Profile Send private message  E-mail  Edit post Reply with quote


It's a nice demo of all possible blendfunc combinations between 2 shader stages.



_________________
Q3A Maps - by sst13
Quake Live Workshop


Top
                 

Gibblet
Gibblet
Joined: 26 Jun 2019
Posts: 19
PostPosted: 10-25-2019 12:08 PM           Profile Send private message  E-mail  Edit post Reply with quote


After recent problems with the virtual machine (VirtualBox), I switched to (VMware), and it was a good decision, everything works beautifully, more sophisticated machine software. I started the "Q3ASE" program and eureka, it works, version Q3ASE 1.5.3 and 1.5.2 work (that is, I don't know if it works correctly, but the windows have started). All in all, I don't need it anymore, I try to write "shaders" manually and check it more. Each machine uses a different graphics driver, maybe there was a problem here (which is also a bit strange: - /). The system on the machine is "Windows XP 32Bit" after a few updates and installing "Net Framework" and "Visual C ++ ..."




Attachments:
Screenshot_4.jpg
Screenshot_4.jpg [ 244.4 KB | Viewed 30 times ]
Screenshot_3.jpg
Screenshot_3.jpg [ 218.73 KB | Viewed 21 times ]
Top
                 
Quake3World.com | Forum Index | Level Editing & Modeling


Post new topic Reply to topic


cron
Quake3World.com
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group