Dies ist das Repository meines kleinen Portfolios.
Im Hintergrund läuft eine Planetensimulation, geschrieben in JavaScript und Three.js.
Die zu sehenden Texturen stammen von:
https://www.solarsystemscope.com/textures/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
731 B
47 lines
731 B
/** |
|
* Blend two textures |
|
*/ |
|
|
|
const BlendShader = { |
|
|
|
uniforms: { |
|
|
|
'tDiffuse1': { value: null }, |
|
'tDiffuse2': { value: null }, |
|
'mixRatio': { value: 0.5 }, |
|
'opacity': { value: 1.0 } |
|
|
|
}, |
|
|
|
vertexShader: /* glsl */` |
|
|
|
varying vec2 vUv; |
|
|
|
void main() { |
|
|
|
vUv = uv; |
|
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); |
|
|
|
}`, |
|
|
|
fragmentShader: /* glsl */` |
|
|
|
uniform float opacity; |
|
uniform float mixRatio; |
|
|
|
uniform sampler2D tDiffuse1; |
|
uniform sampler2D tDiffuse2; |
|
|
|
varying vec2 vUv; |
|
|
|
void main() { |
|
|
|
vec4 texel1 = texture2D( tDiffuse1, vUv ); |
|
vec4 texel2 = texture2D( tDiffuse2, vUv ); |
|
gl_FragColor = opacity * mix( texel1, texel2, mixRatio ); |
|
|
|
}` |
|
|
|
}; |
|
|
|
export { BlendShader };
|
|
|