Cesium 问题:Compile log: ERROR: 0:1: ‘varying‘ : Illegal use of reserved word

152 篇文章 ¥69.90 ¥99.00

文章目录

问题

在绘制雨雪天气时,出现报错如下

RuntimeError: Fragment shader failed to compile.  Compile log: ERROR: 0:1: 'varying' : Illegal use of reserved word

这个shader报错: const scanSegmentShader = ` uniform sampler2D colorTexture; uniform sampler2D depthTexture; varying vec2 v_textureCoordinates; uniform vec4 u_scanCenterEC; uniform vec3 u_scanPlaneNormalEC; uniform float u_radius; uniform vec4 u_scanColor; vec4 toEye(in vec2 uv, in float depth){ vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0)); vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); posInCamera =posInCamera / posInCamera.w; return posInCamera; } vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point){ vec3 v01 = point - planeOrigin; float d = dot(planeNormal, v01) ; return (point - planeNormal * d); } float getDepth(in vec4 depth){ float z_window = czm_unpackDepth(depth); z_window = czm_reverseLogDepth(z_window); float n_range = czm_depthRange.near; float f_range = czm_depthRange.far; return (2.0 * z_window - n_range - f_range) / (f_range - n_range); } void main(){ gl_FragColor = texture2D(colorTexture, v_textureCoordinates); float depth = getDepth(texture2D(depthTexture, v_textureCoordinates)); vec4 viewPos = toEye(v_textureCoordinates, depth); vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz); float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz); if(dis < u_radius){ float f = 1.0 - abs(u_radius - dis) / u_radius; f = pow(f, float(` + inpram + `)); gl_FragColor = mix(gl_FragColor,u_scanColor,f); } gl_FragColor.a = gl_FragColor.a / 2.0; } `; VM21404:92 [Cesium WebGL] Fragment shader compile log: ERROR: 0:2: 'varying' : Illegal use of reserved word
最新发布
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博客zhu虎康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值