General questions about Shader

Hello everyone,
Shaders seem great, but troublesome.
I guess even if Graphics are absolutely secondary to make a stunning game, it is what most people like to see. And well, i got my hands on some cool custom-shader and with copy-Paste, and a few Clicks my Scenes got a huge visual upgrade. That felt really nice! But my mind encountered a problem - a big one. If anyone wants to show her/his Game, and the system where it is shown is not capable for the shader-scripts the result may look like garbage or worse things happen. After that horrible thought, which may swing the motivation of a game-designer around (to stop effort), i thought, i need to look more into Shader and 2D Filter. But well, i still do not understand some things and i guess this is helpful for many people around.
I hope you may help with that.
If you answer, please write the Number of the Question - its just, that i dont like to make to many multiple threads to the same base-topic. Hopefully it doesnt get to confusing :wink: But i hope that will help to make the beginning of a faq.

A1) Is there a difference between Custom-2D-Filter-Scripts and a CustomShader-Script?

B1) Do the buildin Shaders work on - Android-Smartphones + ATI + NVIDIA Graficcards?
B2) What happens, when they do not work? Does the game lose its functionality? Is it still running with worse optics?

C1) Does Custom Shader work on - Android-Smartphones + ATI + NVIDIA Graficcards?
C2) What happens, when they do not work? Does the game lose its functionality? Is it still running with worse optics?
C3) How can i guess for which Setup a shader is?
C4) How may i modify/write a shader for ALL Setups? (A GAME SHOULD WORK ON ALL MAIN SYSTEMS - RIGHT?)

best regards

The BGE does not run on Android … so any question in this direction is obsolete ;).

No - only if you want it that way. To be 100% compatible you can use the least available subset of features. E.g. multitexture mode.

It does not? Isnt the Blenderplayer using the BGE?

And i watched about a Tutorial Vid about the Gamekit some time ago.

Blenderplayer and Gamekit do not use the BGE Settings and Shader?

Reformulation - it would be great and much easier for game designers to reach many people with good quality if we had Shaders which would work on all Systems :wink: And i guess there is nothing wrong with that, cause it is enough work to create a game.

Are there Multitex Custom Shaders? (if thats not possible, sorry for my poor understanding of Graphics).
Well, Multitexture mode is nice, but…; For a graphics-beginner like me, it was much easier to get nice looking results with GLSL. And it was discussed to end multitexure support in the future, so …GLSL seems to be a good choice to be save (to have upgrades/bugfixes). Even if it will not be abadoned, i think the BGE is really hard to master and Tutorials are often outdated, or do not explain enough (for my needs) - or i just dont get them.
A Lamp, a bump map, 2-3 shader , looks alright in most cases :slight_smile:
So my “dream” is, to have a decent solution for the most used systems.

I know, it may be to much to write shaders which are right for everything, but maybe it is possible to gather shaders together in a resource-package, so that we can use them, regarding the system.
simple: one Antialiasing shader for android (?), one for ati graphiccards, one for Nvidia graphiccards (…). I dont know if this is to much effort needed, but i see some potential to make Blender more popular.
And thats only, because the potential which is there could be bundled and shown.

Anyway Monster, thank you for mentioning the Multitexture - i will check out, if i can get it to look nice on all 3 mentioned alternative Systems (maybe until new years eve - seems to be some big work for me).

My knowledge was that Blender and the BGE are running on Win, Linux and MaxOS (this is what you can download from A lot of people requested Android.

According to that page you mention there is an android blenderplayer (just not in the official distribution). I can’t tell about that. So sorry I can’t tell about android shaders as you asked.

Anyway: If shaders are not supported, the enduser gets either nothing or unwanted output. On my laptop I got black and white gibberish, on another colorful artifacts. I wished there would be an automatic fallback. Unfortunately GLSL and Multitexture mode produce different and sometime exclusive result with the same settings.

What you can do is to create a version with and a version without shaders. Either the end user needs to get the correct version, or you provide both versions and at startup you game decides which one to use.

The most indie developers do not want to put too much effort into that and decide to create a single version only. Nevertheless there are some threads dealing with configurable options. This can be useful even when using GLSL mode only as each end user can adjust the settings. E.g .disable shadows if it runs to slow, or switch screen resolution. But I can’t tell about that either. I suggest to search this forum.

here’s some information about Android and Open GL:

Of course, there’s a lot of Shaders resources around, for example:
Bye and be brave