-
-
Notifications
You must be signed in to change notification settings - Fork 21.3k
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
base: master
Are you sure you want to change the base?
Conversation
If the translations are going to be broken anyway, we should go over the changed docs for all the 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.) |
49866a1
to
dd9444c
Compare
Addressed changes on Shader description and reverted editor name. |
I searched through the |
Found one more:
|
There was a problem hiding this 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.
dd9444c
to
8144edb
Compare
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:
An alternative set of official terminology, if "GDShader" can mean both the language and a file in the language:
Footnotes |
We discussed this in the rendering meeting this week. Most attendees were indifferent, but Bastiaan and I started to lean towards the following:
We discussed a few aspects, but most importantly, a shader is a specific type of resource consumed by graphics APIs, calling our language GDShader is going to create confusion. There is some history of languages in the wider programming world doing this (e.g. javascript being the name of the language, so you end up writing javascript scripts), but there isn't really in the shader world, so its not the same situation with GDScript. There is also a risk of confusion since the file type is .gdshader. Again, that is referring to a specific type of resource. By re-using the name for the language, we are furthering the risk of confusion. Overall, I don't think we gain anything by removing the word "language" when we are referring to the language. However, I do think that consistency across our documentation is a worthwhile goal |
Seems perfectly reasonable to not call the language itself "GDShader". I do think the two guidelines you laid out might need a bit more tweaking. To reiterate the reasoning for making this change in the first place:
In #47336, Any specific reason for the longform name being "GD Shader Language" and not "Godot Shader Language"? Both can reasonably be shortened to "GDSL". Any specific reason for the longform name being "GD Shader Language" and not "GD Shading Language"? I think using "Shading Language" instead of "Shader Language" will reduce ambiguity with using GDShader for the resource type, and it also matches GLSL. I would prefer that the longform name use Title Case in the official docs. Draft table of terminology, based on Clay's comment:
Example usages: It's possible that all we end up doing is standardizing a bit on the existing usages of "Godot Shading Language". |
Why not "GDShader resource", "GDShader language" and " IMHO adding (capitalized) "Language" to the official name of a language is redundant. And since Just thought I'd add my 2 cents. Whatever has been decided goes. |
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