Sha256: 96be485bb16dac7875150a3385e39dcd3fb42f094aa141dc792b724e043d6cd9

Contents?: true

Size: 1.68 KB

Versions: 21

Compression:

Stored size: 1.68 KB

Contents

#ifdef USE_ENVMAP

	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )

		vec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );

		// Transforming Normal Vectors with the Inverse Transformation
		vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );

		#ifdef ENVMAP_MODE_REFLECTION

			vec3 reflectVec = reflect( cameraToVertex, worldNormal );

		#else

			vec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );

		#endif

	#else

		vec3 reflectVec = vReflect;

	#endif

	#ifdef DOUBLE_SIDED
		float flipNormal = ( -1.0 + 2.0 * float( gl_FrontFacing ) );
	#else
		float flipNormal = 1.0;
	#endif

	#ifdef ENVMAP_TYPE_CUBE
		vec4 envColor = texture( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );

	#elif defined( ENVMAP_TYPE_EQUIREC )
		vec2 sampleUV;
		sampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );
		sampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;
		vec4 envColor = texture( envMap, sampleUV );

	#elif defined( ENVMAP_TYPE_SPHERE )
		vec3 reflectView = flipNormal * normalize((viewMatrix * vec4( reflectVec, 0.0 )).xyz + vec3(0.0,0.0,1.0));
		vec4 envColor = texture( envMap, reflectView.xy * 0.5 + 0.5 );
	#endif

	envColor.xyz = inputToLinear( envColor.xyz );

	#ifdef ENVMAP_BLENDING_MULTIPLY

		outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );

	#elif defined( ENVMAP_BLENDING_MIX )

		outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );

	#elif defined( ENVMAP_BLENDING_ADD )

		outgoingLight += envColor.xyz * specularStrength * reflectivity;

	#endif

#endif

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
mittsu-opengl-0.5.1 lib/mittsu/opengl/shader/chunks/envmap_fragment.glsl
mittsu-0.4.1 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-opengl-0.5.0 lib/mittsu/opengl/shader/chunks/envmap_fragment.glsl
mittsu-0.4.0 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.3.3 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.3.2 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.3.1 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.3.0 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.2.4 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.2.3 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.2.2 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.2.1 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.2.0 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.1.7 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.1.6 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.1.5 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.1.4 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.1.3 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.1.2 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
mittsu-0.1.1 lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl