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

Position: Blessing a single human-writable shading language #41

Closed
litherum opened this issue Nov 29, 2017 · 1 comment
Closed

Position: Blessing a single human-writable shading language #41

litherum opened this issue Nov 29, 2017 · 1 comment

Comments

@litherum
Copy link
Contributor

We should bless a single human-writable shading language. This is because of the community and ecosystem that is possible when most authors are writing in the same language. We’ve seen this in many places, the most visible of which is probably sites like Shadertoy, which is no the de-facto place where graphics programmers share new ideas and algorithms, including academic research and published papers. Widespread adoption of WebGPU will be hampered if teachers and influencers don’t have a language to spread.

This doesn’t mean that other languages will be forbidden. Instead, this is about the idea that one language will be promoted for documentation, teaching, marketing, etc.

The blessed language should be Secure HLSL. This is for a few reasons:

  • Compatibility: The majority of shaders in the world are written in HLSL, and almost all of them will be compatible with Secure HLSL. This will decrease the burden of porting an application to WebGPU.
  • Security: Secure HLSL has as strong, or stronger, security guarantees than already exist on the Web. The WebGPU Community Group is pursuing efforts to prove this with a static proof solver.
  • Expressivity: Secure HLSL includes facilities for generics and limited pointers, which makes it more suitable for GPGPU algorithms and CPU algorithms ported to the GPU.
  • Portability: The WebGPU Community Group is authoring a full specification which defines every operation. This includes full rules about variable scoping, every standard library function, overload priority resolution, among others.
@litherum
Copy link
Contributor Author

There was consensus on the call today (Nov. 29, 2017) that the recommended/promoted human-writable shading language for WebGPU be (raw) HLSL.

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

No branches or pull requests

1 participant