被cesium源码给坑了,它自己shader竟然写错的

Cesium源码 · jerry · 于 6年前 发布 · 17719 次阅读

共收到 9 条回复
jerry#16年前 0 个赞

初步的可视域分析,一个shader问题搞了两天才发现出错,压根没想到cesium自己代码有问题

jerry#26年前 0 个赞

锯齿还是很明显,加上normaloffset不知道会不会好点,不然要改写shadowmap了

jerry#36年前 0 个赞

思路:用shadowmap,在配合postprocessing处理下 也不用改cesium自己的源码,它提供的有postprocessing的框架

happy123456#45年前 0 个赞

请问能说具体点吗

Aimoccom#55年前 0 个赞

您好,方便的话可以加下我qq吗(1797921113)?关于可视化分析这块想请教您一下,但是找不到您的联系方式,只能在这里评论了,谢谢啦!

BobWang#65年前 0 个赞

Cesium不是不支持多光源吗?直接创建ShadowMap会找不到frameState的Context,请问你是怎么创建ShadowMap的?是拿Viewer的ShadowMap来用吗?

liyangis#75年前 0 个赞

请问下 阴影的postprocessing,这块怎么实现呢?能否提供点思路,非常感谢

liyangis#85年前 0 个赞

楼主您好,方便的话,能否说下 在配合postprocessing处理下,这个的思路呀?我知道应该是修改 阴影的receive的颜色,但是具体到PostProcessStage的fragmentShader该怎么写呢?下面拷贝glsl会报错的 uniform sampler2D shadowMap_texture; uniform mat4 shadowMap_matrix; uniform vec3 shadowMap_lightDirectionEC; uniform vec4 shadowMap_lightPositionEC; uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth;

ifdef LOG_DEPTH

varying vec3 v_logPositionEC;

endif

vec4 getPositionEC() {

return vec4(v_positionEC, 1.0); 

} vec3 getNormalEC() {

return normalize(v_normalEC); 

}

liyangis#95年前 0 个赞

貌似还需要修改 VertexShader,但PostProcessStage 只有fragmentShader,没有地方可写VertexShader

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics