| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd.
- CCEffect %{
- techniques:
- - name: default
- passes:
- - vert: splash-screen-vs:vert
- frag: splash-screen-fs:frag
- properties:
- mainTexture: { value: grey }
- resolution: { value: [640, 960], target: u_buffer0.xy }
- percent: { value: 0.5, target: u_percent }
- scale: { value: [200, 500], target: u_buffer1.xy }
- translate: { value: [320, 480], target: u_buffer1.zw }
- depthStencilState:
- depthTest: false
- depthWrite: false
- blendState:
- targets:
- - blend: true
- blendSrc: src_alpha
- blendDst: one_minus_src_alpha
- blendDstAlpha: one_minus_src_alpha
- rasterizerState:
- cullMode: none
- }%
- CCProgram splash-screen-vs %{
- precision mediump float;
- #pragma define u_resolution u_buffer0.xy
- #pragma define u_worldScale u_buffer1.xy
- #pragma define u_worldTranslate u_buffer1.zw
- in vec2 a_position;
- in vec2 a_texCoord;
- out vec2 v_uv;
- uniform Constant {
- vec4 u_buffer0;
- vec4 u_buffer1;
- mat4 u_projection;
- };
- vec4 vert () {
- vec2 worldPos = a_position * u_worldScale + u_worldTranslate;
- vec2 clipSpace = worldPos / u_resolution * 2.0 - 1.0;
- vec4 screenPos = u_projection * vec4(clipSpace, 0.0, 1.0);
- v_uv = a_texCoord;
- return screenPos;
- }
- }%
- CCProgram splash-screen-fs %{
- precision mediump float;
- in vec2 v_uv;
- uniform Factor {
- float u_percent;
- };
- uniform sampler2D mainTexture;
- vec4 frag () {
- vec4 color = texture(mainTexture, v_uv);
- float percent = clamp(u_percent, 0.0, 1.0);
- color.xyz *= percent;
- return color;
- }
- }%
|