При кодировании перехода на затухание, что означает следующий код? Я ищу, чтобы достичь того же эффекта, что и http://jsfiddle.net/DW9q4/85/, но у меня есть 2 сцены с 2 различными кубиками карты, которые отображаются через PerspectiveCamera
. У меня возникли проблемы с пониманием того, что происходит, что делает код?Перекрестное затухание с использованием квадранта - синтаксис 3JS
uniforms: {
tDiffuse1: {
type: "t",
value: rtTexture1
},
tDiffuse2: {
type: "t",
value: rtTexture2
},
mixRatio: {
type: "f",
value: 0.5
},
opacity: {
type: "f",
value: 1.0
}
},
vertexShader: [
"varying vec2 vUv;",
"void main() {",
"vUv = vec2(uv.x, 1.0 - uv.y);",
"gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);",
"}"
].join("\n"),
fragmentShader: [
"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);",
"}"
].join("\n")
Вся помощь очень признательна!
Я прочитал разницу и то и другое. Фрагмент/пиксельные и вершинные шейдеры для полигонов с вершинами. Как это будет работать с изображениями? Кроме того, что такое 'uniforms' и' diffuse'? – tjddizon
Вот вам хорошая стартовая точка: http://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/ –
Просто, чтобы уточнить, что я вижу с помощью jsfiddle выше, есть 2 изображения камеры сцена - две разные позиции. Третья, орфографическая камера, специально предназначена для отображения перехода от 'camera1' к' camera2' с помощью 'ShaderMaterial'? Итак, шейдерный рендеринг через OrthographicCamera действует как маска, по существу? – tjddizon