| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd.
- CCEffect %{
- hideInEditor: true
- techniques:
- - name: transparent
- passes:
- - vert: terrain-brush-vs:vert
- frag: terrain-brush-fs:frag
- depthStencilState:
- depthTest: true
- depthWrite: false
- blendState:
- targets:
- - blend: true
- blendSrc: src_alpha
- blendDst: one_minus_src_alpha
- blendDstAlpha: one_minus_src_alpha
- properties:
- BrushDepthOffset: { value: 0.05 }
- }%
- CCProgram terrain-brush-vs %{
- precision mediump float;
- #include <builtin/uniforms/cc-global>
- #include <builtin/uniforms/cc-local>
- in vec3 a_position;
- uniform Constant {
- float BrushDepthOffset;
- };
- vec4 vert () {
- vec3 worldPos;
- worldPos.x = cc_matWorld[3][0] + a_position.x;
- worldPos.y = cc_matWorld[3][1] + a_position.y;
- worldPos.z = cc_matWorld[3][2] + a_position.z;
- worldPos.y += BrushDepthOffset; // depth increment for terrain brushes
- vec4 pos = vec4(worldPos, 1);
- pos = cc_matViewProj * pos;
- return pos;
- }
- }%
- CCProgram terrain-brush-fs %{
- precision mediump float;
- #include <legacy/output>
- vec4 frag () {
- vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
- color.rgb = vec3(100, 100, 135) / 255.0;
- color.a = 0.5;
- return CCFragOutput(color);
- }
- }%
|