| 1234567891011121314151617 |
- {
- "ver": "1.0.25",
- "uuid": "f3720e68-2910-4fe5-a965-7eb3a9c30d57",
- "compiledShaders": [
- {
- "glsl1": {
- "vert": "\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}",
- "frag": "\nprecision highp float;\n#if USE_ALPHA_TEST\n#endif\nvarying vec4 v_color;\nvarying vec2 v_uv0;\nuniform sampler2D texture;\nuniform float sys_time;\nfloat inFlash(float angle, vec2 uv, float xLength, float interval, float beginTime, float offX, float loopTime){\n float brightness = 0.0;\n float angleInRed = 0.0174444 * angle;\n float currentTime = sys_time/interval;\n if(currentTime > beginTime)\n {\n float xBottomLeftBound;\n float xBottomRightBound;\n float xPointLeftBound;\n float xPointRightBound;\n float x0 = currentTime - beginTime;\n x0 /= loopTime;\n xBottomRightBound = x0;\n xBottomLeftBound = x0 - xLength;\n float xProjL = (uv.y)/tan(angleInRed);\n xPointLeftBound = xBottomLeftBound - xProjL;\n xPointRightBound = xBottomRightBound - xProjL;\n xPointLeftBound += offX;\n xPointRightBound += offX;\n if(uv.x > xPointLeftBound && uv.x < xPointRightBound)\n {\n float midness = (xPointLeftBound + xPointRightBound)/2.0;\n float rate = (xLength - 2.0 * abs(uv.x - midness)) / (xLength);\n brightness = rate;\n }\n }\n brightness = max(brightness, 0.0);\n return brightness;\n}\nvoid main () {\n vec4 color = v_color;\n color *= texture2D(texture, v_uv0);\nvec4 outp;\nfloat tmpBrightness;\ntmpBrightness = inFlash(60.0, v_uv0, 4.0, 0.25, 1.0, 0.15, 0.5);\nif(color.w >0.5)\n{\n outp = color + vec4(1,1,1,1) * tmpBrightness/1.5;\n}\nelse\n{\n outp = vec4(0,0,0,0);\n}\ngl_FragColor = outp;\n}"
- },
- "glsl3": {
- "vert": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}",
- "frag": "\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nin vec4 v_color;\nin vec2 v_uv0;\nuniform sampler2D texture;\nuniform Properties {\n float sys_time;\n};\nfloat inFlash(float angle, vec2 uv, float xLength, float interval, float beginTime, float offX, float loopTime){\n float brightness = 0.0;\n float angleInRed = 0.0174444 * angle;\n float currentTime = sys_time/interval;\n if(currentTime > beginTime)\n {\n float xBottomLeftBound;\n float xBottomRightBound;\n float xPointLeftBound;\n float xPointRightBound;\n float x0 = currentTime - beginTime;\n x0 /= loopTime;\n xBottomRightBound = x0;\n xBottomLeftBound = x0 - xLength;\n float xProjL = (uv.y)/tan(angleInRed);\n xPointLeftBound = xBottomLeftBound - xProjL;\n xPointRightBound = xBottomRightBound - xProjL;\n xPointLeftBound += offX;\n xPointRightBound += offX;\n if(uv.x > xPointLeftBound && uv.x < xPointRightBound)\n {\n float midness = (xPointLeftBound + xPointRightBound)/2.0;\n float rate = (xLength - 2.0 * abs(uv.x - midness)) / (xLength);\n brightness = rate;\n }\n }\n brightness = max(brightness, 0.0);\n return brightness;\n}\nvoid main () {\n vec4 color = v_color;\n color *= texture(texture, v_uv0);\nvec4 outp;\nfloat tmpBrightness;\ntmpBrightness = inFlash(60.0, v_uv0, 4.0, 0.25, 1.0, 0.15, 0.5);\nif(color.w >0.5)\n{\n outp = color + vec4(1,1,1,1) * tmpBrightness/1.5;\n}\nelse\n{\n outp = vec4(0,0,0,0);\n}\ngl_FragColor = outp;\n}"
- }
- }
- ],
- "subMetas": {}
- }
|