|
@@ -1,22 +1,16 @@
|
|
|
export const vertex = /* glsl */`
|
|
|
#define LAMBERT
|
|
|
|
|
|
-varying vec3 vLightFront;
|
|
|
-varying vec3 vIndirectFront;
|
|
|
-
|
|
|
-#ifdef DOUBLE_SIDED
|
|
|
- varying vec3 vLightBack;
|
|
|
- varying vec3 vIndirectBack;
|
|
|
-#endif
|
|
|
+varying vec3 vViewPosition;
|
|
|
|
|
|
#include <common>
|
|
|
#include <uv_pars_vertex>
|
|
|
#include <uv2_pars_vertex>
|
|
|
+#include <displacementmap_pars_vertex>
|
|
|
#include <envmap_pars_vertex>
|
|
|
-#include <bsdfs>
|
|
|
-#include <lights_pars_begin>
|
|
|
#include <color_pars_vertex>
|
|
|
#include <fog_pars_vertex>
|
|
|
+#include <normal_pars_vertex>
|
|
|
#include <morphtarget_pars_vertex>
|
|
|
#include <skinning_pars_vertex>
|
|
|
#include <shadowmap_pars_vertex>
|
|
@@ -35,36 +29,33 @@ void main() {
|
|
|
#include <skinbase_vertex>
|
|
|
#include <skinnormal_vertex>
|
|
|
#include <defaultnormal_vertex>
|
|
|
+ #include <normal_vertex>
|
|
|
|
|
|
#include <begin_vertex>
|
|
|
#include <morphtarget_vertex>
|
|
|
#include <skinning_vertex>
|
|
|
+ #include <displacementmap_vertex>
|
|
|
#include <project_vertex>
|
|
|
#include <logdepthbuf_vertex>
|
|
|
#include <clipping_planes_vertex>
|
|
|
|
|
|
+ vViewPosition = - mvPosition.xyz;
|
|
|
+
|
|
|
#include <worldpos_vertex>
|
|
|
#include <envmap_vertex>
|
|
|
- #include <lights_lambert_vertex>
|
|
|
#include <shadowmap_vertex>
|
|
|
#include <fog_vertex>
|
|
|
+
|
|
|
}
|
|
|
`;
|
|
|
|
|
|
export const fragment = /* glsl */`
|
|
|
+#define LAMBERT
|
|
|
+
|
|
|
uniform vec3 diffuse;
|
|
|
uniform vec3 emissive;
|
|
|
uniform float opacity;
|
|
|
|
|
|
-varying vec3 vLightFront;
|
|
|
-varying vec3 vIndirectFront;
|
|
|
-
|
|
|
-#ifdef DOUBLE_SIDED
|
|
|
- varying vec3 vLightBack;
|
|
|
- varying vec3 vIndirectBack;
|
|
|
-#endif
|
|
|
-
|
|
|
-
|
|
|
#include <common>
|
|
|
#include <packing>
|
|
|
#include <dithering_pars_fragment>
|
|
@@ -79,12 +70,14 @@ varying vec3 vIndirectFront;
|
|
|
#include <emissivemap_pars_fragment>
|
|
|
#include <envmap_common_pars_fragment>
|
|
|
#include <envmap_pars_fragment>
|
|
|
-#include <cube_uv_reflection_fragment>
|
|
|
+#include <fog_pars_fragment>
|
|
|
#include <bsdfs>
|
|
|
#include <lights_pars_begin>
|
|
|
-#include <fog_pars_fragment>
|
|
|
+#include <normal_pars_fragment>
|
|
|
+#include <lights_lambert_pars_fragment>
|
|
|
#include <shadowmap_pars_fragment>
|
|
|
-#include <shadowmask_pars_fragment>
|
|
|
+#include <bumpmap_pars_fragment>
|
|
|
+#include <normalmap_pars_fragment>
|
|
|
#include <specularmap_pars_fragment>
|
|
|
#include <logdepthbuf_pars_fragment>
|
|
|
#include <clipping_planes_pars_fragment>
|
|
@@ -103,49 +96,28 @@ void main() {
|
|
|
#include <alphamap_fragment>
|
|
|
#include <alphatest_fragment>
|
|
|
#include <specularmap_fragment>
|
|
|
+ #include <normal_fragment_begin>
|
|
|
+ #include <normal_fragment_maps>
|
|
|
#include <emissivemap_fragment>
|
|
|
|
|
|
// accumulation
|
|
|
-
|
|
|
- #ifdef DOUBLE_SIDED
|
|
|
-
|
|
|
- reflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;
|
|
|
-
|
|
|
- #else
|
|
|
-
|
|
|
- reflectedLight.indirectDiffuse += vIndirectFront;
|
|
|
-
|
|
|
- #endif
|
|
|
-
|
|
|
- #include <lightmap_fragment>
|
|
|
-
|
|
|
- reflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );
|
|
|
-
|
|
|
- #ifdef DOUBLE_SIDED
|
|
|
-
|
|
|
- reflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;
|
|
|
-
|
|
|
- #else
|
|
|
-
|
|
|
- reflectedLight.directDiffuse = vLightFront;
|
|
|
-
|
|
|
- #endif
|
|
|
-
|
|
|
- reflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();
|
|
|
+ #include <lights_lambert_fragment>
|
|
|
+ #include <lights_fragment_begin>
|
|
|
+ #include <lights_fragment_maps>
|
|
|
+ #include <lights_fragment_end>
|
|
|
|
|
|
// modulation
|
|
|
-
|
|
|
#include <aomap_fragment>
|
|
|
|
|
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
|
|
|
|
|
|
#include <envmap_fragment>
|
|
|
-
|
|
|
#include <output_fragment>
|
|
|
#include <tonemapping_fragment>
|
|
|
#include <encodings_fragment>
|
|
|
#include <fog_fragment>
|
|
|
#include <premultiplied_alpha_fragment>
|
|
|
#include <dithering_fragment>
|
|
|
+
|
|
|
}
|
|
|
`;
|