0.4.0 • Published 2 years ago

typesl v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

TypeSL

TypeSL (Typescript Shader Language) enables Typescript -> GLSL Transpile.

Example

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

#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

NodeJS is a javascript runtime. This will enables run tslc.

  1. npm

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

0.4.0

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago