Advanced search tips: use spaces to require multiple terms (AND), | for alternatives (OR), wrap phrases in quotes (="a b"), =term for exact match, 'term to include, !term to exclude, ^term to match prefix, !^term to exclude prefix, .ext$ to match suffix, and !.ext$ to exclude suffix.

game_of_life.wgsl

Bindings

input

#
@group(0)
@binding(0)
var input: texture_storage_2d<r32float, read>

output

#
@group(0)
@binding(1)
var output: texture_storage_2d<r32float, write>

Functions

hash

#
fn hash (
value: u32
) -> u32

randomFloat

#
fn randomFloat (
value: u32
) -> f32

init

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(8, 8, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
fn init (
@builtin(global_invocation_id)
invocation_id: vec3<u32>
@builtin(num_workgroups)
num_workgroups: vec3<u32>
)

is_alive

#
fn is_alive (
location: vec2<i32>
offset_x: i32
offset_y: i32
) -> i32

count_alive

#
fn count_alive (
location: vec2<i32>
) -> i32

update

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(8, 8, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
fn update (
@builtin(global_invocation_id)
invocation_id: vec3<u32>
)