Rust-GPU Project Now Supports SPIR-V Ray-tracing (github.com) 17
For three years Stockholm-based games studio Embark has been working on the Rust-gpu project to make Rust "a first class language and ecosystem for GPU programming." The project's latest announcement? rust-gpu now supports ray-tracing.
Their original announcement explained the rationale for this years-long dvelopment effort: Historically in games GPU programming has been done through writing either HLSL, or to a lesser extent GLSL. These are simple programming languages that have evolved along with rendering APIs over the years. However, as game engines have evolved, these languages have failed to provide mechanisms for dealing with large codebases, and have generally stayed behind the curve compared to other programming languages.
In part this is because it's a niche language for a niche market, and in part this has been because the industry as a whole has sunk quite a lot of time and effort into the status quo. While over-all better alternatives to both languages exist, none of them are in a place to replace HLSL or GLSL. Either because they are vendor locked, or because they don't support the traditional graphics pipeline. Examples of this include CUDA and OpenCL. And while attempts have been made to create language in this space, none of them have gained any notable traction in the gamedev community.
Our hope with this project is that we push the industry forward by bringing an existing, low-level, safe, and high performance language to the GPU; namely Rust. And with it come some additional benefits that can't be overlooked: a package/module system that's one of the industry's best, built in safety against race-conditions or out of bounds memory access, a wide range of tools and utilities to improve programmer workflows, and many others!
Along with ray-tracing, this week they announced plans to keep rust-gpu on the same schedule as the stable Rust release, "so you can use your favorite new language features as new stable versions of Rust are being released, by just updating your rust-gpu version."
Thanks to Slashdot reader guest reader for sharing the news!
Their original announcement explained the rationale for this years-long dvelopment effort: Historically in games GPU programming has been done through writing either HLSL, or to a lesser extent GLSL. These are simple programming languages that have evolved along with rendering APIs over the years. However, as game engines have evolved, these languages have failed to provide mechanisms for dealing with large codebases, and have generally stayed behind the curve compared to other programming languages.
In part this is because it's a niche language for a niche market, and in part this has been because the industry as a whole has sunk quite a lot of time and effort into the status quo. While over-all better alternatives to both languages exist, none of them are in a place to replace HLSL or GLSL. Either because they are vendor locked, or because they don't support the traditional graphics pipeline. Examples of this include CUDA and OpenCL. And while attempts have been made to create language in this space, none of them have gained any notable traction in the gamedev community.
Our hope with this project is that we push the industry forward by bringing an existing, low-level, safe, and high performance language to the GPU; namely Rust. And with it come some additional benefits that can't be overlooked: a package/module system that's one of the industry's best, built in safety against race-conditions or out of bounds memory access, a wide range of tools and utilities to improve programmer workflows, and many others!
Along with ray-tracing, this week they announced plans to keep rust-gpu on the same schedule as the stable Rust release, "so you can use your favorite new language features as new stable versions of Rust are being released, by just updating your rust-gpu version."
Thanks to Slashdot reader guest reader for sharing the news!
Re: (Score:2)
Re: (Score:2)
Oh no, I did not know that RAM with LEDs even existed, just looked it up. I thought it was bad enough that it was getting difficult to find fans without LEDs. I both thank you and hate you for introducing me to a new low.
Re: (Score:2)
Oh no, I did not know that RAM with LEDs even existed, just looked it up. I thought it was bad enough that it was getting difficult to find fans without LEDs. I both thank you and hate you for introducing me to a new low.
I had a co-worker who asked for advice from one of his friends as to how to build a gaming PC. The first question was "Do you want a clear side panel so you can show off the insides of your rig?"
Had to explain to him that his friend was an idiot, and that blinkenlights don't make a machine run faster. His friend claimed he could build him a decent custom gaming rig that would play all the latest games for under $1k Canadian. That's $739 US.
And what would he do for a screen? Copy this clown, who bought
Re: (Score:2)
The primary goal is to reduce the application defect rate.
Re: (Score:2)
Not a good goal, because it interferes with optimizations that rust won't allow. I don't want a graphics driver that slows down video. Neither does anyone else.
Re: (Score:2)
You're full of shit.
Re: (Score:2)
It means developers can use Rust instead of something like GLSL. Go doesn't make sense in this environment since it depends on its runtime. But GLSL is a crap language compared to Rust, and GPUs are far more capable in a general purpose way than when GLSL was first envisaged.
Re: Who is paying for these Rust promos? $$$ BIZX (Score:2)
Re: (Score:2)
Re: (Score:2)
Rust isn't the solution here. Or pretty much anywhere, but especially not in graphics card drivers.
Rust was created in 2006, and still isn't considered as much more than a hobby language.
Re: (Score:1)
Rust isn't the solution here. Or pretty much anywhere, but especially not in graphics card drivers.
Rust was created in 2006, and still isn't considered as much more than a hobby language.
Some examples of applications that have been written in Rust include:
1. Operating systems: The experimental operating system Redox is written in Rust, as is the Servo web browser engine.
2. Networking and distributed systems: The Cloudflare network infrastructure is written in Rust, as are the Apache Kafka message broker and the etcd distributed key-value store.
3. Web applications and services: The Rust programming language is used to build the frontend and backend of the Cloudflare web application
Re: (Score:2)
Who's using this "experimental operating system" day to day? Nobody. If it was so great, it had plenty of time to make inroads. "Here, use this experimental OS." "No thanks - I'll pay for something where the vendor has a financial incentive to fix it and move it forward."
Servo is absolute crap.
As for the rest, cloudflare isn't the best example of the utility of a general-purpose programming language. A couple of games? BFD. "The popular video game Terraria"? Never heard of it. Looked it
Assembly Would Make More Sense (Score:2)
Some of ID engines had inline assembly language to speed up the C.
ref: https://stackoverflow.com/ques... [stackoverflow.com]
ref: https://forums.insideqc.com/vi... [insideqc.com]
ref: https://immunant.com/blog/2020... [immunant.com]