├── .cargo └── config.toml ├── .github └── workflows │ └── rust.yml ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── derive ├── Cargo.toml └── src │ ├── block.rs │ ├── const.rs │ ├── fs_interface.rs │ ├── interpolant.rs │ ├── lib.rs │ ├── uniform.rs │ ├── utils.rs │ ├── value.rs │ └── vs_interface.rs ├── examples ├── deferred.rs ├── framebuffer.rs ├── hello_triangle.rs ├── instancing.rs ├── resources │ ├── smile.png │ └── teapot.csv ├── shadertoy.rs ├── shadow_map.rs ├── test_shader_nonsense.rs ├── textured_cube.rs ├── type_scratch.rs └── utils.rs ├── run-wasm ├── Cargo.toml └── src │ └── main.rs ├── src ├── gl.rs ├── gl │ ├── context.rs │ ├── element_buffer.rs │ ├── framebuffer.rs │ ├── image.rs │ ├── mat.rs │ ├── program.rs │ ├── raw.rs │ ├── raw │ │ ├── buffer.rs │ │ ├── caps.rs │ │ ├── context.rs │ │ ├── disjoint_timer_query.rs │ │ ├── error.rs │ │ ├── framebuffer.rs │ │ ├── image.rs │ │ ├── params.rs │ │ ├── program.rs │ │ ├── sampler_params.rs │ │ ├── texture.rs │ │ ├── tracing.rs │ │ ├── vertex_layout.rs │ │ └── vertex_spec.rs │ ├── texture.rs │ ├── uniform_buffer.rs │ ├── vec.rs │ ├── vertex_buffer.rs │ └── vertex_spec.rs ├── interface.rs ├── interface │ ├── block.rs │ ├── fs_interface.rs │ ├── uniform.rs │ └── vs_interface.rs ├── lib.rs ├── sl.rs └── sl │ ├── array.rs │ ├── codegen.rs │ ├── codegen │ ├── scope_form.rs │ ├── simplified_expr.rs │ ├── struct_registry.rs │ ├── tests.rs │ └── var_form.rs │ ├── dag.rs │ ├── dag │ ├── display.rs │ ├── expr.rs │ ├── trace.rs │ └── ty.rs │ ├── gen_type.rs │ ├── interpolant.rs │ ├── mat.rs │ ├── primitives.rs │ ├── program_def.rs │ ├── sampler.rs │ ├── scalar.rs │ ├── sig.rs │ ├── transpile.rs │ ├── tuple.rs │ └── vec.rs └── tests └── derive.rs /.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/.cargo/config.toml -------------------------------------------------------------------------------- /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | Cargo.lock 3 | .*.swp 4 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/README.md -------------------------------------------------------------------------------- /derive/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/Cargo.toml -------------------------------------------------------------------------------- /derive/src/block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/block.rs -------------------------------------------------------------------------------- /derive/src/const.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/const.rs -------------------------------------------------------------------------------- /derive/src/fs_interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/fs_interface.rs -------------------------------------------------------------------------------- /derive/src/interpolant.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/interpolant.rs -------------------------------------------------------------------------------- /derive/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/lib.rs -------------------------------------------------------------------------------- /derive/src/uniform.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/uniform.rs -------------------------------------------------------------------------------- /derive/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/utils.rs -------------------------------------------------------------------------------- /derive/src/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/value.rs -------------------------------------------------------------------------------- /derive/src/vs_interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/derive/src/vs_interface.rs -------------------------------------------------------------------------------- /examples/deferred.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/deferred.rs -------------------------------------------------------------------------------- /examples/framebuffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/framebuffer.rs -------------------------------------------------------------------------------- /examples/hello_triangle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/hello_triangle.rs -------------------------------------------------------------------------------- /examples/instancing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/instancing.rs -------------------------------------------------------------------------------- /examples/resources/smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/resources/smile.png -------------------------------------------------------------------------------- /examples/resources/teapot.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/resources/teapot.csv -------------------------------------------------------------------------------- /examples/shadertoy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/shadertoy.rs -------------------------------------------------------------------------------- /examples/shadow_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/shadow_map.rs -------------------------------------------------------------------------------- /examples/test_shader_nonsense.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/test_shader_nonsense.rs -------------------------------------------------------------------------------- /examples/textured_cube.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/textured_cube.rs -------------------------------------------------------------------------------- /examples/type_scratch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/type_scratch.rs -------------------------------------------------------------------------------- /examples/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/examples/utils.rs -------------------------------------------------------------------------------- /run-wasm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/run-wasm/Cargo.toml -------------------------------------------------------------------------------- /run-wasm/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/run-wasm/src/main.rs -------------------------------------------------------------------------------- /src/gl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl.rs -------------------------------------------------------------------------------- /src/gl/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/context.rs -------------------------------------------------------------------------------- /src/gl/element_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/element_buffer.rs -------------------------------------------------------------------------------- /src/gl/framebuffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/framebuffer.rs -------------------------------------------------------------------------------- /src/gl/image.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/image.rs -------------------------------------------------------------------------------- /src/gl/mat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/mat.rs -------------------------------------------------------------------------------- /src/gl/program.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/program.rs -------------------------------------------------------------------------------- /src/gl/raw.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw.rs -------------------------------------------------------------------------------- /src/gl/raw/buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/buffer.rs -------------------------------------------------------------------------------- /src/gl/raw/caps.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/caps.rs -------------------------------------------------------------------------------- /src/gl/raw/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/context.rs -------------------------------------------------------------------------------- /src/gl/raw/disjoint_timer_query.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/disjoint_timer_query.rs -------------------------------------------------------------------------------- /src/gl/raw/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/error.rs -------------------------------------------------------------------------------- /src/gl/raw/framebuffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/framebuffer.rs -------------------------------------------------------------------------------- /src/gl/raw/image.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/image.rs -------------------------------------------------------------------------------- /src/gl/raw/params.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/params.rs -------------------------------------------------------------------------------- /src/gl/raw/program.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/program.rs -------------------------------------------------------------------------------- /src/gl/raw/sampler_params.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/sampler_params.rs -------------------------------------------------------------------------------- /src/gl/raw/texture.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/texture.rs -------------------------------------------------------------------------------- /src/gl/raw/tracing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/tracing.rs -------------------------------------------------------------------------------- /src/gl/raw/vertex_layout.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/vertex_layout.rs -------------------------------------------------------------------------------- /src/gl/raw/vertex_spec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/raw/vertex_spec.rs -------------------------------------------------------------------------------- /src/gl/texture.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/texture.rs -------------------------------------------------------------------------------- /src/gl/uniform_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/uniform_buffer.rs -------------------------------------------------------------------------------- /src/gl/vec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/vec.rs -------------------------------------------------------------------------------- /src/gl/vertex_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/vertex_buffer.rs -------------------------------------------------------------------------------- /src/gl/vertex_spec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/gl/vertex_spec.rs -------------------------------------------------------------------------------- /src/interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/interface.rs -------------------------------------------------------------------------------- /src/interface/block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/interface/block.rs -------------------------------------------------------------------------------- /src/interface/fs_interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/interface/fs_interface.rs -------------------------------------------------------------------------------- /src/interface/uniform.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/interface/uniform.rs -------------------------------------------------------------------------------- /src/interface/vs_interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/interface/vs_interface.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/sl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl.rs -------------------------------------------------------------------------------- /src/sl/array.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/array.rs -------------------------------------------------------------------------------- /src/sl/codegen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/codegen.rs -------------------------------------------------------------------------------- /src/sl/codegen/scope_form.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/codegen/scope_form.rs -------------------------------------------------------------------------------- /src/sl/codegen/simplified_expr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/codegen/simplified_expr.rs -------------------------------------------------------------------------------- /src/sl/codegen/struct_registry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/codegen/struct_registry.rs -------------------------------------------------------------------------------- /src/sl/codegen/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/codegen/tests.rs -------------------------------------------------------------------------------- /src/sl/codegen/var_form.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/codegen/var_form.rs -------------------------------------------------------------------------------- /src/sl/dag.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/dag.rs -------------------------------------------------------------------------------- /src/sl/dag/display.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/dag/display.rs -------------------------------------------------------------------------------- /src/sl/dag/expr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/dag/expr.rs -------------------------------------------------------------------------------- /src/sl/dag/trace.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/dag/trace.rs -------------------------------------------------------------------------------- /src/sl/dag/ty.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/dag/ty.rs -------------------------------------------------------------------------------- /src/sl/gen_type.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/gen_type.rs -------------------------------------------------------------------------------- /src/sl/interpolant.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/interpolant.rs -------------------------------------------------------------------------------- /src/sl/mat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/mat.rs -------------------------------------------------------------------------------- /src/sl/primitives.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/primitives.rs -------------------------------------------------------------------------------- /src/sl/program_def.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/program_def.rs -------------------------------------------------------------------------------- /src/sl/sampler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/sampler.rs -------------------------------------------------------------------------------- /src/sl/scalar.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/scalar.rs -------------------------------------------------------------------------------- /src/sl/sig.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/sig.rs -------------------------------------------------------------------------------- /src/sl/transpile.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/transpile.rs -------------------------------------------------------------------------------- /src/sl/tuple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/tuple.rs -------------------------------------------------------------------------------- /src/sl/vec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/src/sl/vec.rs -------------------------------------------------------------------------------- /tests/derive.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leod/posh/HEAD/tests/derive.rs --------------------------------------------------------------------------------