April 3, 2025
Shader - template
import vertexShader from "./shaders/vertex.glsl";
import fragmentShader from "./shaders/fragment.glsl";
const waterMaterial = new THREE.ShaderMaterial({
vertexShader: vertexShader,
fragmentShader: fragmentShader,
});
// vertex.glsl
void main(){
vec4 modelPosition = modelMatrix * vec4(position, 1.0);
// 基本圍繞著 modelPosition 去做操作
vec4 viewPosition = viewMatrix * modelPosition;
vec4 projectedPosition = projectionMatrix * viewPosition;
gl_Position = projectedPosition;
}
// fragment.glsl
void main(){
gl_FragColor = vec4(1,0, 1.0, 1.0, 1.0);
// 確保顏色渲染正確
#include <colorspace_fragment>
}