webgl/public/gl/shader/SimpleShader.js

35 lines
734 B
JavaScript
Raw Normal View History

2023-01-19 19:32:58 +00:00
import { Shader } from '../core/Shader.js'
export const SimpleShader = () => {
const VertexCode = `
precision mediump float;
attribute vec3 position;
2023-01-20 02:21:17 +00:00
attribute vec3 normal;
attribute vec3 uv;
2023-01-19 19:32:58 +00:00
uniform mat4 proj;
uniform mat4 view;
uniform mat4 tran;
2023-01-20 02:21:17 +00:00
varying vec3 color;
2023-01-19 19:32:58 +00:00
void main() {
2023-01-20 02:21:17 +00:00
color.xyz = (position.xyz + 1.0) / 2.0;
2023-01-19 19:32:58 +00:00
gl_Position = proj * view * tran * vec4(position, 1.0);
}
`
const FragmentCode = `
precision mediump float;
2023-01-20 02:21:17 +00:00
varying vec3 color;
2023-01-19 19:32:58 +00:00
void main() {
2023-01-20 02:21:17 +00:00
gl_FragColor = vec4(color, 1.0);
2023-01-19 19:32:58 +00:00
}
`
return new Shader(VertexCode, FragmentCode)
}