vec2 Optics_SphereCoord2(in vec3 dir){\r
float dzplus1 = dir.z + 1.0;\r
float m = 2.0 * sqrt(dir.x * dir.x + dir.y * dir.y + dzplus1 * dzplus1);\r
- return vec2(dir.x / m + 0.5, dir.y / m + 0.5);\r
+ return vec2(dir.x / m + 0.5, 0.5 - dir.y / m);\r
}\r
\r
void main(){\r
// SpecularSum2 * specularColor * light.y ) * 0.8;\r
vec4 output_color = (((AmbientSum + DiffuseSum) * diffuseColor) +\r
SpecularSum2 * specularColor * light.y );\r
-// output_color=vec4(0);\r
#ifdef SPHERE_MAP_A\r
vec2 v2 = Optics_SphereCoord(normalize(refVec.xyz));\r
- v2.y = 1.0 - v2.y;\r
output_color.xyz += (texture2D(m_SphereMap_A, v2).xyz);\r
- // output_color.xyz = vec3(normalize(refVec.xyz).x);\r
#endif\r
#ifdef SPHERE_MAP_H\r
vec2 v2 = Optics_SphereCoord(normalize(refVec.xyz));\r
- v2.y = 1.0 - v2.y;\r
output_color.xyz *= (texture2D(m_SphereMap_H, v2).xyz);\r
#endif\r
\r
#endif\r
#ifdef SPHERE_MAP_A\r
- vec2 v2 = Optics_SphereCoord(normalize(refVec.xyz));\r
- v2.y = 1.0 - v2.y;\r
+ vec2 v2 = Optics_SphereCoord(refVec.xyz);\r
output_color.xyz += (texture2D(m_SphereMap_A, v2).xyz);\r
- // output_color.xyz = vec3(normalize(refVec.xyz).x);\r
#endif\r
#ifdef SPHERE_MAP_H\r
- vec2 v2 = Optics_SphereCoord(normalize(refVec.xyz));\r
- v2.y = 1.0 - v2.y;\r
+ vec2 v2 = Optics_SphereCoord(refVec.xyz);\r
output_color.xyz *= (texture2D(m_SphereMap_H, v2).xyz);\r
+\r
#endif\r
output_color.a = alpha;\r
gl_FragColor = output_color;\r
* varying refVec\r
*/\r
void computeRef(in vec4 position, in vec4 normal){\r
- vec3 worldPos = (g_WorldMatrix * vec4(normalize(position.xyz),1.0)).xyz;\r
+ vec3 worldPos = (g_WorldMatrix * position).xyz;\r
\r
- vec3 I = normalize( g_CameraPosition - worldPos ).xyz;\r
- vec3 N = normalize( (g_WorldMatrix * vec4(normalize(normal.xyz), 0.0)).xyz );\r
+ vec3 I = normalize( worldPos - g_CameraPosition ).xyz;\r
+ vec3 N = normalize( (g_WorldMatrix * normal).xyz );\r
\r
refVec.xyz = reflect(I, N);\r
refVec.w = 1.0;//m_FresnelParams.x + m_FresnelParams.y * pow(1.0 + dot(I, N), m_FresnelParams.z);\r