Merge pull request #479 from sjfricke/master

cleaned up particlefire example
This commit is contained in:
Sascha Willems 2018-08-26 09:52:49 +02:00 committed by GitHub
commit 5206b8e4c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 15 additions and 21 deletions

View file

@ -11,8 +11,8 @@ layout (binding = 2) uniform sampler2D sNormalHeightMap;
layout (location = 0) in vec2 inUV;
layout (location = 1) in vec3 inLightVec;
layout (location = 2) in vec3 inLightVecB;
layout (location = 5) in vec3 inLightDir;
layout (location = 6) in vec3 inViewVec;
layout (location = 3) in vec3 inLightDir;
layout (location = 4) in vec3 inViewVec;
layout (location = 0) out vec4 outFragColor;
@ -41,4 +41,4 @@ void main(void)
float specular = pow(max(dot(view, reflectDir), 0.0), 4.0);
outFragColor = vec4((rgb * atten + (diffuse * rgb + 0.5 * specular * specularColor.rgb)) * atten, 1.0);
}
}

View file

@ -15,20 +15,18 @@ layout (binding = 0) uniform UBO
mat4 model;
mat4 normal;
vec4 lightPos;
vec4 cameraPos;
} ubo;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout (location = 0) out vec2 outUV;
layout (location = 1) out vec3 outLightVec;
layout (location = 2) out vec3 outLightVecB;
layout (location = 5) out vec3 outLightDir;
layout (location = 6) out vec3 outViewVec;
layout (location = 3) out vec3 outLightDir;
layout (location = 4) out vec3 outViewVec;
void main(void)
{
@ -42,18 +40,18 @@ void main(void)
tbnMatrix[1] = mat3(ubo.normal) * inBiTangent;
tbnMatrix[2] = mat3(ubo.normal) * inNormal;
outLightVec.xyz = vec3(ubo.lightPos.xyz - vertexPosition.xyz) * tbnMatrix;
outLightVec.xyz = vec3(ubo.lightPos.xyz - vertexPosition) * tbnMatrix;
vec3 lightDist = ubo.lightPos.xyz - inPos.xyz;
outLightVecB.x = dot(inTangent.xyz, lightDist);
outLightVecB.y = dot(inBiTangent.xyz, lightDist);
vec3 lightDist = ubo.lightPos.xyz - inPos;
outLightVecB.x = dot(inTangent, lightDist);
outLightVecB.y = dot(inBiTangent, lightDist);
outLightVecB.z = dot(inNormal, lightDist);
outViewVec.x = dot(inTangent, inPos.xyz);
outViewVec.y = dot(inBiTangent, inPos.xyz);
outViewVec.z = dot(inNormal, inPos.xyz);
outViewVec.x = dot(inTangent, inPos);
outViewVec.y = dot(inBiTangent, inPos);
outViewVec.z = dot(inNormal, inPos);
outUV = inUV;
gl_Position = ubo.projection * ubo.model * vec4(inPos, 1.0);
}
}

View file

@ -11,7 +11,6 @@ layout (location = 1) in float inAlpha;
layout (location = 2) in flat int inType;
layout (location = 3) in float inRotation;
layout (location = 0) out vec4 outFragColor;
void main ()
@ -43,4 +42,4 @@ void main ()
}
outFragColor.rgb = color.rgb * inColor.rgb * alpha;
}
}

View file

@ -44,6 +44,5 @@ void main ()
// Scale particle size depending on camera projection
vec4 eyePos = ubo.modelview * vec4(inPos.xyz, 1.0);
vec4 projectedCorner = ubo.projection * vec4(0.5 * spriteSize, 0.5 * spriteSize, eyePos.z, eyePos.w);
gl_PointSize = ubo.viewportDim.x * projectedCorner.x / projectedCorner.w;
gl_PointSize = ubo.viewportDim.x * projectedCorner.x / projectedCorner.w;
}