# TypeSL **TypeSL** (**Type**script **S**hader **L**anguage) enables Typescript -> GLSL Transpile.
Table of Contents
  1. TypeSL
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
# Example ```typescript vert(attribute: RectangleAttribute, uniform: RectangleUniform): RectangleVarying { const positionVec4 = new Vec4(attribute.aPosition, 1.0); this.gl_Position = uniform.uProjectionMatrix * uniform.uModelViewMatrix * positionVec4; return { vTexCoord: attribute.aTexCoord }; } ``` transpiles to ```glsl #version 300 es precision highp float; attribute vec3 aPosition; attribute vec2 aTexCoord; varying vec2 vTexCoord; uniform mat4 uProjectionMatrix; uniform mat4 uModelViewMatrix; void main() { vec4 positionVec4 = vec4(aPosition, 1.0); gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4; vTexCoord = aTexCoord; } ``` # Getting Started ## Prerequisites 1. [NodeJS](https://nodejs.org) > NodeJS is a javascript runtime. This will enables run tslc. 2. [npm](https://www.npmjs.com/) > npm (Node Package Manager) is package manager for nodejs, you need this for install TypeSL transpiler. ## Installation ``` npm install (-g) typesl ``` or ``` yarn (global) add typesl ``` # Usage ``` tslc {target file} ``` # Roadmap - CLI support (sorry) - Fragment shader (sorry) - Geometry shader - Operator methods - Core profile # Contributing Pull request and issues always open! # License MIT License