godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Formally rename the Godot shading language to "GDShader" #10784

Open tetrapod00 opened 1 month ago

tetrapod00 commented 1 month ago

Describe the project you are working on

Writing shaders. Writing godot docs. Teaching godot shaders in community channels.

Describe the problem or limitation you are having in your project

Godot's shader language currently has no official name, being referred to variously as "the Godot Shader Language", "Godot's shading language", or colloquially as "GDShader" after the file extension.

"Godot's shader language" and "the Godot Shader langauge" are now slightly ambiguous. GLSL can now be considered one of "Godot's shader languages", since it is used for compute shaders and compositor effects.

We don't call GDScript "Godot's scripting language" . We should give it's shading language the same respect.

See the original discussion: https://github.com/godotengine/godot-proposals/discussions/4334.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

See discussion in https://github.com/godotengine/godot-proposals/discussions/4334.

Make the official name of Godot's shading lanuage "GDShader", to match the naming of "GDScript".

This already has some level of adoption in the wild since the file extension was renamed to .gdshader (see linked discussion). I personally call it "GDShader" whenever I'm describing the differences to someone who is already familiar with GLSL.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Change some core references to "Godot's shading language" or "Godot shaders" in the docs. Probably change Shading Language/Introduction, the Shader class reference, and the GLSL Migration Guide. In places like compute shaders where godot does use GLSL, we would make the distinction that "GLSL is used, not GDShader"

There's no need to wildy overstandardize right away. Existing docs can freely refer to "GDShader", "Godot's shading language", or "Godot shaders" as they currently do. But in cases where a distinction does need to be made with GLSL, a formal name is good.

(If approved, I volunteer to make the initial changes to the docs, as well as look through the engine itself to find places that may need changing.)

If this enhancement will not be used often, can it be worked around with a few lines of script?

N/A

Is there a reason why this should be core and not an add-on in the asset library?

You cannot change the official name from the asset library.

geekley commented 1 month ago

That is probably the best name indeed, as its pattern matches not just "GDScript", but also "GDNative" and "GDExtension".

Calinou commented 1 month ago

I certainly prefer "GDShader" over "GDSL" considering there's no risk of confusing it with GLSL.

Mickeon commented 1 month ago

This is kind of one of those suggestions everyone is thinking about, but no one feels like saying. The rapid number of upvotes in a short span of time should speak for itself. People interested in engine contributions heavily agree on this, but I wonder how the general userbase feels about it too. Judging by general reactions, most people assumed it was already called GDShader, perhaps?

tetrapod00 commented 1 month ago

See also https://github.com/godotengine/godot-proposals/issues/2488 and https://github.com/godotengine/godot/pull/47336 for some additional context from when the file extension was renamed from .shader to .gdshader. It seems to have had the side effect of creating an obvious name for the shading language. Note that the capitalization to "GDShader" doesn't appear anywhere in the docs, it's just the natural thing to do following the example of "GDScript".

geekley commented 1 month ago

Judging by general reactions, most people assumed it was already called GDShader, perhaps?

Note that the capitalization to "GDShader" doesn't appear anywhere in the docs, it's just the natural thing to do following the example of "GDScript".

In my case, I'll fully admit I've been using the name "GDShader" on purpose whenever I open issues or talk about it in chat, precisely to try to push towards this convention. Because I know conventions are often made bottom-up instead of top-down. "Vai que cola" mentality :laughing: (i.e. sneakily throw an idea to see if it sticks)

Btw, not trying to claim credit for it or anything, I just think it's funny that I've been doing this, and now feel like a villain (MHUAHAHAHAHA! YOU FELL FOR IT! IT'S IN YOUR SUB-CONSCIOUSNESS NOW! :smiling_imp: )

DeeJayLSP commented 1 month ago

Just opened a PR for the editor.

tetrapod00 commented 1 month ago

Opened a PR for the manual: https://github.com/godotengine/godot-docs/pull/9984.