fix shaders, so that shadowed and non-shadowed are matching fix registerGraphicsUnitSphereShape API (level of detail), support textured sphere too add support for textured cube add start for a Tutorial.cpp
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
//this file is autogenerated using stringify.bat (premake --stringify) in the build folder of this project
|
|
static const char* useShadowMapInstancingFragmentShader= \
|
|
"#version 330 core\n"
|
|
"//precision highp float;\n"
|
|
"in Fragment\n"
|
|
"{\n"
|
|
" vec4 color;\n"
|
|
"} fragment;\n"
|
|
"in Vert\n"
|
|
"{\n"
|
|
" vec2 texcoord;\n"
|
|
"} vert;\n"
|
|
"uniform sampler2D Diffuse;\n"
|
|
"uniform sampler2DShadow shadowMap;\n"
|
|
"in vec3 lightDir,normal,ambient;\n"
|
|
"in vec4 ShadowCoord;\n"
|
|
"out vec4 color;\n"
|
|
"void main(void)\n"
|
|
"{\n"
|
|
" vec4 texel = fragment.color*texture(Diffuse,vert.texcoord);\n"
|
|
" vec3 ct,cf;\n"
|
|
" float intensity,at,af;\n"
|
|
" \n"
|
|
" intensity = clamp( dot( normalize(normal),lightDir ), 0,1 );\n"
|
|
" \n"
|
|
" \n"
|
|
" af = 1.0;\n"
|
|
" \n"
|
|
" ct = texel.rgb;\n"
|
|
" at = texel.a;\n"
|
|
" \n"
|
|
" //float bias = 0.005f;\n"
|
|
" \n"
|
|
" float bias = 0.0001*tan(acos(intensity));\n"
|
|
" bias = clamp(bias, 0,0.01);\n"
|
|
" float visibility = texture(shadowMap, vec3(ShadowCoord.xy,(ShadowCoord.z-bias)/ShadowCoord.w));\n"
|
|
" \n"
|
|
" intensity = 0.7*intensity + 0.3*intensity*visibility;\n"
|
|
" \n"
|
|
" cf = intensity*(vec3(1.0,1.0,1.0)-ambient)+ambient;\n"
|
|
" \n"
|
|
" color = vec4(ct * cf, fragment.color.w);\n"
|
|
"}\n"
|
|
;
|