@threlte/extras
Version:
Utilities, abstractions and plugins for your Threlte apps
3 lines (2 loc) • 901 B
TypeScript
export declare const vertexShader = "\n varying vec3 localPosition;\n varying vec4 worldPosition;\n\n uniform vec3 worldCamProjPosition;\n\tuniform vec3 worldPlanePosition;\n\tuniform float fadeDistance;\n\tuniform bool infiniteGrid;\n\tuniform bool followCamera;\n\n\tuniform int coord0;\n\tuniform int coord1;\n\tuniform int coord2;\n\n\tvoid main() {\n\t\tlocalPosition = vec3(\n\t\t position[coord0],\n\t\t\tposition[coord1],\n\t\t\tposition[coord2]\n\t\t);\n\n\t\tif (infiniteGrid) {\n\t\t localPosition *= 1.0 + fadeDistance;\n\t\t}\n\n\t\tworldPosition = modelMatrix * vec4(localPosition, 1.0);\n\t\tif (followCamera) {\n\t\t worldPosition.xyz += (worldCamProjPosition - worldPlanePosition);\n localPosition = (inverse(modelMatrix) * worldPosition).xyz;\n\t\t}\n\n\t\tgl_Position = projectionMatrix * viewMatrix * worldPosition;\n\t}\n";
export declare const fragmentShader: string;