    type: "f",
                        value: type || 0
                    },
                    num: {
                        type: "f",
                        value: 4
                    }
                },
                vertexShaderSource: `
                    varying vec2 vUv;
                    void main(){
                            vUv = uv;
                            gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
                    }`,
                fragmentSh