forked from aya/aya
Initial commit
This commit is contained in:
33
client/common/shaders/bgfx_source/shadow.sc
Normal file
33
client/common/shaders/bgfx_source/shadow.sc
Normal file
@@ -0,0 +1,33 @@
|
||||
$input a_position, a_color1
|
||||
$output v_texcoord0
|
||||
|
||||
#include "common.sh"
|
||||
|
||||
void ShadowVS()
|
||||
{
|
||||
// Transform position to world space
|
||||
#ifdef PIN_SKINNED
|
||||
int boneIndex = int(a_color1.r);
|
||||
|
||||
vec4 worldRow0 = u_worldMatrixArray[boneIndex * 3 + 0];
|
||||
vec4 worldRow1 = u_worldMatrixArray[boneIndex * 3 + 1];
|
||||
vec4 worldRow2 = u_worldMatrixArray[boneIndex * 3 + 2];
|
||||
|
||||
vec3 posWorld = vec3(dot(worldRow0, vec4(a_position, 1.0)),
|
||||
dot(worldRow1, vec4(a_position, 1.0)),
|
||||
dot(worldRow2, vec4(a_position, 1.0)));
|
||||
#else
|
||||
vec3 posWorld = a_position;
|
||||
#endif
|
||||
|
||||
gl_Position = mul(u_viewProjection, vec4(posWorld, 1.0));
|
||||
|
||||
v_texcoord0 = shadowPrepareSample(posWorld);
|
||||
}
|
||||
|
||||
void ShadowPS()
|
||||
{
|
||||
float depth = shadowDepth(v_texcoord0);
|
||||
|
||||
gl_FragColor = vec4(depth, 1.0, 0.0, 0.0);
|
||||
}
|
||||
Reference in New Issue
Block a user