Kyte is a shader language and compiler.
sample.ky
import "stl.ky";
expose namespace stl;
vertex_main :: (pos : vec3) $ ky_position : vec4 {
return vec4(pos, 1.0f);
}
fragment_main :: () $ ky_color : vec4 {
return vec4(1.0f, 0.0f, 0.0f, 1.0f);
}
- SPIR-V Binary
- SPIR-V ASM
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- CMake >= 3.15
- Python >= 3 (Because SPIRV-Tools has it marked as required even with tests disabled for some reason)
git clone https://github.com/MissingBitStudios/kyte.git
cd kyte
git submodule update --init --recursive
The following options are available to control which targets are generated by CMake.
Option | Description | Default |
---|---|---|
KYTE_COMPILER | Generate kytec target | ON |
KYTE_DOCS | Generate documentation target (Requires Sphynx) | OFF |
KYTE_GEN_STL | Generate STL files (Requires Python) | OFF |
KYTE_GRAMMAR | Build gammar (Requires Bison and re2c) | OFF |
KYTE_INSTALL | Generate install targets | OFF |
KYTE_TESTS | Generate test target | OFF |
mkdir build
cd build
cmake ..
cmake --build .
git pull
git submodule sync
git submodule update --init --recursive
Run cmake with the KYTE_INSTALL
option enabled, then run the following command.
cmake --install
The language syntax, API reference, and kytec command-line options are available on https://kyte.readthedocs.io.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
All notable changes to this project will be documented in CHANGELOG.md. The changelog format is based on Keep a Changelog and adheres to Semantic Versioning.
We use SemVer for versioning. For the versions available, see the releases page.
See also the list of contributors who participated in this project.
This project is licensed under the Creative Commons Attribution 4.0 International Public License (CC-BY-4.0) - see the LICENSE.md file for details.