Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use GDShader when referring to the Godot Shader Language #97298

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

DeeJayLSP
Copy link
Contributor

@DeeJayLSP DeeJayLSP commented Sep 21, 2024

Changes as much instances I could find of ("the") "shader language", "Godot shading language" and "Godot Shader Language" into GDShader.

The extension for its files has already been .gdshader for a good time now, so I believe most people would assume this was already the name.

Back in 3.x we had GDScript and VisualScript, so this gives us GDShader and VisualShader.

Closes godotengine/godot-proposals#4350
Closes godotengine/godot-proposals#10784

@DeeJayLSP DeeJayLSP requested review from a team as code owners September 21, 2024 21:26
@tetrapod00
Copy link
Contributor

tetrapod00 commented Sep 21, 2024

If the translations are going to be broken anyway, we should go over the changed docs for all the VIsualShaderNodes to see if there are easy improvements. I'm working on various improvements to VisualShader nodes anyway, so I don't mind doing this.

There is a PR godotengine/godot-docs#9338 to improve the text shader function descriptions that may be merged in the 4.4 cycle. If so, for all the VisualShaderNodes, we should actually link to those functions in the docs.

(We should also wait for consensus in the proposal before making this change, as it involves more than just the editor.)

doc/classes/Shader.xml Outdated Show resolved Hide resolved
editor/plugins/shader_editor_plugin.cpp Outdated Show resolved Hide resolved
editor/plugins/shader_editor_plugin.cpp Outdated Show resolved Hide resolved
doc/classes/VisualShaderNodeBooleanConstant.xml Outdated Show resolved Hide resolved
@DeeJayLSP
Copy link
Contributor Author

Addressed changes on Shader description and reverted editor name.

@tetrapod00
Copy link
Contributor

tetrapod00 commented Sep 22, 2024

I searched through the RenderingDevice and RenderingServer class ref for "shader' and did not see any cases that need a change. There are some functions related to compute shaders, but they don't currently mention GLSL or "godot shader language", and are already clear enough in their context.

@tetrapod00
Copy link
Contributor

Found one more:

Imports native GLSL shaders (not Godot shaders) as a [RDShaderFile].

Copy link
Contributor

@Mickeon Mickeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving in principle, see the proposal for reasoning.
If I may add, the localization contributors may appreciate this too, as translating "the shader language" or "Godot shader language" consistently is somewhat tricky.

@tetrapod00
Copy link
Contributor

tetrapod00 commented Sep 23, 2024

The problem with starting from an informal name and formalizing it, as we're doing here, is that not everyone has the same idea of the current usage.

When I made the proposal I definitely thought of "GDShader" as being the name of the language, similar to "GLSL". You can write a shader, in the language of GDShader, but you don't write "a GDShader". You don't talk about "GDShaders" plural. "In GDShader" is analogous to "In GDScript" or "In C#" or "In GLSL".

In my mind this is the same convention as GDScript - you write a script in the GDScript language, but you don't write a GDScript. You don't talk about "GDScripts" plural, instead you use "GDScript files" or "scripts". (Or, maybe you do refer to "GDScripts", in one or two cases. So maybe I'm just wrong about this!)

If these conventions are currently only loosely established, we can make them more firmly established by being careful with the wording used in the manual. I believe that the docs PR (godotengine/godot-docs#9984) does a good job of establishing that "GDShader" is the name of the shading language. In the docs, it would be a good idea to consistently use "a shader" for a single shader, and "GDShader" for the language.

We definitely could establish that "a GDShader" is a single shader, written in the GDShader language, and you can have multiple "GDShaders". I can only speak for myself in saying that is not what I had in mind with the proposal.

A table of official terminology that I would use:

Term Meaning
GDShader The shading language used in Godot.
Godot's shading language, GDShader Used when introducing the shading language in a few places.
The GDShader language Used to clarify wording in some cases.
A GDShader Not used officially by the docs. If referring to a single shader, use "a shader". If you must specify language, use "a shader written in GDShader". But Godot's docs usually do not need to specify.
GDShaders Not used officially by the docs. If referring to multiple shaders, use "shaders".
A GDShader file A single file1, written in GDShader.
A shader A single shader. Usually when the docs refers to a shader, it does not specify language.
Shaders Plural of "a shader".

An alternative set of official terminology, if "GDShader" can mean both the language and a file in the language:

Term Meaning
GDShader The shading language used in Godot.
Godot's shading language, GDShader Used when introducing the shading language in a few places.
The GDShader language Used to clarify wording in some cases.
A GDShader A single file1 written in the language GDShader.
GDShaders Plural of "a GDShader".
A GDShader file A single file, written in GDShader.
A shader A single shader. Usually when the docs refers to a shader, it does not specify language.
Shaders Plural of "a shader".

Footnotes

  1. Files and shaders do not technically map 1:1, but that detail shouldn't matter for the purposes of choosing between these two terminology conventions. 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Formally rename the Godot shading language to "GDShader" Give a consistent name to Godot's shading language
5 participants