UNPKG

ogl

Version:
41 lines (31 loc) 840 B
import { Program } from '../core/Program.js'; const vertex = /* glsl */ ` precision highp float; precision highp int; attribute vec3 position; attribute vec3 normal; uniform mat3 normalMatrix; uniform mat4 modelViewMatrix; uniform mat4 projectionMatrix; varying vec3 vNormal; void main() { vNormal = normalize(normalMatrix * normal); gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); } `; const fragment = /* glsl */ ` precision highp float; precision highp int; varying vec3 vNormal; void main() { gl_FragColor.rgb = normalize(vNormal); gl_FragColor.a = 1.0; } `; export function NormalProgram(gl) { return new Program(gl, { vertex: vertex, fragment: fragment, cullFace: false, }); }