uniform vec3 diffuse; uniform float opacity; #include common #include color_pars_fragment #include map_pars_fragment #include alphamap_pars_fragment #include lightmap_pars_fragment #include envmap_pars_fragment #include fog_pars_fragment #include shadowmap_pars_fragment #include specularmap_pars_fragment #include logdepthbuf_pars_fragment void main() { vec3 outgoingLight = vec3( 0.0 ); // outgoing light does not have an alpha, the surface does vec4 diffuseColor = vec4( diffuse, opacity ); #include logdepthbuf_fragment #include map_fragment #include color_fragment #include alphamap_fragment #include alphatest_fragment #include specularmap_fragment outgoingLight = diffuseColor.rgb; // simple shader #include lightmap_fragment // TODO: Light map on an otherwise unlit surface doesn't make sense. #include envmap_fragment #include shadowmap_fragment // TODO: Shadows on an otherwise unlit surface doesn't make sense. #include linear_to_gamma_fragment #include fog_fragment fragColor = vec4( outgoingLight, diffuseColor.a ); // TODO, this should be pre-multiplied to allow for bright highlights on very transparent objects }