| export default ` |
| uniform vec3 diffuse; |
| uniform float opacity; |
| |
| #ifndef FLAT_SHADED |
| |
| varying vec3 vNormal; |
| |
| #endif |
| |
| #include <common> |
| #include <color_pars_fragment> |
| #include <uv_pars_fragment> |
| #include <uv2_pars_fragment> |
| #include <map_pars_fragment> |
| #include <alphamap_pars_fragment> |
| #include <aomap_pars_fragment> |
| #include <lightmap_pars_fragment> |
| #include <envmap_pars_fragment> |
| #include <fog_pars_fragment> |
| #include <specularmap_pars_fragment> |
| #include <logdepthbuf_pars_fragment> |
| #include <clipping_planes_pars_fragment> |
| |
| void main() { |
| |
| #include <clipping_planes_fragment> |
| |
| vec4 diffuseColor = vec4( diffuse, opacity ); |
| |
| #include <logdepthbuf_fragment> |
| #include <map_fragment> |
| #include <color_fragment> |
| #include <alphamap_fragment> |
| #include <alphatest_fragment> |
| #include <specularmap_fragment> |
| |
| ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
| |
| // accumulation (baked indirect lighting only) |
| #ifdef USE_LIGHTMAP |
| |
| reflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity; |
| |
| #else |
| |
| reflectedLight.indirectDiffuse += vec3( 1.0 ); |
| |
| #endif |
| |
| // modulation |
| #include <aomap_fragment> |
| |
| reflectedLight.indirectDiffuse *= diffuseColor.rgb; |
| |
| vec3 outgoingLight = reflectedLight.indirectDiffuse; |
| |
| #include <envmap_fragment> |
| |
| gl_FragColor = vec4( outgoingLight, diffuseColor.a ); |
| |
| #include <premultiplied_alpha_fragment> |
| #include <tonemapping_fragment> |
| #include <encodings_fragment> |
| #include <fog_fragment> |
| |
| } |
| `; |
|
|