mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-16 19:19:56 +00:00
fixes for glsles2
This commit is contained in:
parent
5e2839977b
commit
4c57cfc2d3
9 changed files with 11 additions and 11 deletions
|
@ -11,7 +11,7 @@
|
||||||
SH_START_PROGRAM
|
SH_START_PROGRAM
|
||||||
{
|
{
|
||||||
float4x4 viewFixed = view;
|
float4x4 viewFixed = view;
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
viewFixed[0][3] = 0.0;
|
viewFixed[0][3] = 0.0;
|
||||||
viewFixed[1][3] = 0.0;
|
viewFixed[1][3] = 0.0;
|
||||||
viewFixed[2][3] = 0.0;
|
viewFixed[2][3] = 0.0;
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
{
|
{
|
||||||
float4x4 worldviewFixed = worldview;
|
float4x4 worldviewFixed = worldview;
|
||||||
|
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
worldviewFixed[0][3] = 0.0;
|
worldviewFixed[0][3] = 0.0;
|
||||||
worldviewFixed[1][3] = 0.0;
|
worldviewFixed[1][3] = 0.0;
|
||||||
worldviewFixed[2][3] = 0.0;
|
worldviewFixed[2][3] = 0.0;
|
||||||
|
|
|
@ -12,7 +12,7 @@ shUniform(float4x4, projection) @shAutoConstant(projection, projection_matrix)
|
||||||
SH_START_PROGRAM
|
SH_START_PROGRAM
|
||||||
{
|
{
|
||||||
float4x4 viewFixed = view;
|
float4x4 viewFixed = view;
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
viewFixed[0][3] = 0.0;
|
viewFixed[0][3] = 0.0;
|
||||||
viewFixed[1][3] = 0.0;
|
viewFixed[1][3] = 0.0;
|
||||||
viewFixed[2][3] = 0.0;
|
viewFixed[2][3] = 0.0;
|
||||||
|
|
|
@ -166,7 +166,7 @@
|
||||||
|
|
||||||
#if VIEWPROJ_FIX
|
#if VIEWPROJ_FIX
|
||||||
float4x4 vpFixed = vpMatrix;
|
float4x4 vpFixed = vpMatrix;
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
vpFixed[2] = vpRow2Fix;
|
vpFixed[2] = vpRow2Fix;
|
||||||
#else
|
#else
|
||||||
vpFixed[0][2] = vpRow2Fix.x;
|
vpFixed[0][2] = vpRow2Fix.x;
|
||||||
|
@ -384,7 +384,7 @@
|
||||||
|
|
||||||
float4 normalTex = shSample(normalMap, UV.xy);
|
float4 normalTex = shSample(normalMap, UV.xy);
|
||||||
|
|
||||||
normal = normalize (shMatrixMult( transpose(tbn), normalTex.xyz * 2.0 - float3 (1.0,1.0,1.0) ));
|
normal = normalize (shMatrixMult( transpose(tbn), normalTex.xyz * 2.0 - 1.0 ));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENV_MAP || SPECULAR || PARALLAX
|
#if ENV_MAP || SPECULAR || PARALLAX
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
SH_START_PROGRAM
|
SH_START_PROGRAM
|
||||||
{
|
{
|
||||||
float4x4 worldviewFixed = worldview;
|
float4x4 worldviewFixed = worldview;
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
worldviewFixed[0][3] = 0.0;
|
worldviewFixed[0][3] = 0.0;
|
||||||
worldviewFixed[1][3] = 0.0;
|
worldviewFixed[1][3] = 0.0;
|
||||||
worldviewFixed[2][3] = 0.0;
|
worldviewFixed[2][3] = 0.0;
|
||||||
|
|
|
@ -12,7 +12,7 @@ shUniform(float4x4, projection) @shAutoConstant(projection, projection_matrix)
|
||||||
SH_START_PROGRAM
|
SH_START_PROGRAM
|
||||||
{
|
{
|
||||||
float4x4 viewFixed = view;
|
float4x4 viewFixed = view;
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
viewFixed[0][3] = 0.0;
|
viewFixed[0][3] = 0.0;
|
||||||
viewFixed[1][3] = 0.0;
|
viewFixed[1][3] = 0.0;
|
||||||
viewFixed[2][3] = 0.0;
|
viewFixed[2][3] = 0.0;
|
||||||
|
|
|
@ -136,7 +136,7 @@
|
||||||
#if NEED_DEPTH
|
#if NEED_DEPTH
|
||||||
#if VIEWPROJ_FIX
|
#if VIEWPROJ_FIX
|
||||||
float4x4 vpFixed = viewProjMatrix;
|
float4x4 vpFixed = viewProjMatrix;
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
vpFixed[2] = vpRow2Fix;
|
vpFixed[2] = vpRow2Fix;
|
||||||
#else
|
#else
|
||||||
vpFixed[0][2] = vpRow2Fix.x;
|
vpFixed[0][2] = vpRow2Fix.x;
|
||||||
|
|
|
@ -93,7 +93,7 @@ float3 getCaustics (shTexture2D causticMap, float3 worldPos, float3 waterEyePos,
|
||||||
// NOTE: the original shader calculated a tangent space basis here,
|
// NOTE: the original shader calculated a tangent space basis here,
|
||||||
// but using only the world normal is cheaper and i couldn't see a visual difference
|
// but using only the world normal is cheaper and i couldn't see a visual difference
|
||||||
// also, if this effect gets moved to screen-space some day, it's unlikely to have tangent information
|
// also, if this effect gets moved to screen-space some day, it's unlikely to have tangent information
|
||||||
float3 causticNorm = worldNormal.xyz * perturb(causticMap, causticPos.xy, causticdepth, windDir_windSpeed.xy, windDir_windSpeed.z, waterTimer).xyz * 2 - 1;
|
float3 causticNorm = worldNormal.xyz * perturb(causticMap, causticPos.xy, causticdepth, windDir_windSpeed.xy, windDir_windSpeed.z, waterTimer).xyz * 2.0 - 1.0;
|
||||||
causticNorm = float3(causticNorm.x, causticNorm.y, -causticNorm.z);
|
causticNorm = float3(causticNorm.x, causticNorm.y, -causticNorm.z);
|
||||||
|
|
||||||
//float fresnel = pow(clamp(dot(LV,causticnorm),0.0,1.0),2.0);
|
//float fresnel = pow(clamp(dot(LV,causticnorm),0.0,1.0),2.0);
|
||||||
|
@ -111,7 +111,7 @@ float3 getCaustics (shTexture2D causticMap, float3 worldPos, float3 waterEyePos,
|
||||||
//caustics = shSaturate(pow(float3(causticR,causticG,causticB)*5.5,float3(5.5*causticdepth)))*NdotL*sunFade*causticdepth;
|
//caustics = shSaturate(pow(float3(causticR,causticG,causticB)*5.5,float3(5.5*causticdepth)))*NdotL*sunFade*causticdepth;
|
||||||
caustics = shSaturate(pow(float3(causticR,causticG,causticB)*5.5,float3(5.5*causticdepth,5.5*causticdepth,5.5*causticdepth)))*NdotL*causticdepth;
|
caustics = shSaturate(pow(float3(causticR,causticG,causticB)*5.5,float3(5.5*causticdepth,5.5*causticdepth,5.5*causticdepth)))*NdotL*causticdepth;
|
||||||
|
|
||||||
caustics *= 3;
|
caustics *= 3.0;
|
||||||
|
|
||||||
// shore transition
|
// shore transition
|
||||||
caustics = shLerp (float3(1,1,1), caustics, waterDepth);
|
caustics = shLerp (float3(1,1,1), caustics, waterDepth);
|
||||||
|
|
|
@ -97,7 +97,7 @@
|
||||||
shOutputPosition = shMatrixMult(wvp, shInputPosition);
|
shOutputPosition = shMatrixMult(wvp, shInputPosition);
|
||||||
|
|
||||||
|
|
||||||
#if !SH_GLSL
|
#if !SH_GLSL && !SH_GLSLES
|
||||||
float4x4 scalemat = float4x4( 0.5, 0.0, 0.0, 0.5,
|
float4x4 scalemat = float4x4( 0.5, 0.0, 0.0, 0.5,
|
||||||
0.0, -0.5, 0.0, 0.5,
|
0.0, -0.5, 0.0, 0.5,
|
||||||
0.0, 0.0, 0.5, 0.5,
|
0.0, 0.0, 0.5, 0.5,
|
||||||
|
|
Loading…
Reference in a new issue