mc光影吧 关注:8,602贴子:130,398
  • 7回复贴,共1

自定义遮光体积?

取消只看楼主收藏回复

shadow.vsh里面有这样一段代码
vMaterialIDs=mc_Entity.x-255.+39.;
256及以上的数字ID会被自动映射到一个区间
然后diferred.fsh里面有一段代码存储了各个vMaterialIDs的遮光体积
加就完事了
(我加了个9像素高的和一个13像素高的)
(栅栏之类的暂时不晓得怎么弄)



IP属地:湖南1楼2020-06-20 09:36回复
    vec3 r是遮光体积的起点,vec3 s是终点,同时可以多个if叠加!可以叠加!可以重复多次if并写入不同的遮光体积来让一个方块具有不规则的遮光体积!
    或者直接在一个if里面重复给r和s赋值并进行m=d(v+r,v+s,f,x,t);。也可以做到同样的效果



    IP属地:湖南4楼2020-06-20 10:08
    回复
      不过这玩意的缺点就是性能消耗明显,视野里面近距离出现几个自定义几何体就会导致帧率明显下降


      IP属地:湖南来自Android客户端5楼2020-06-20 12:04
      回复
        头大


        IP属地:湖南11楼2020-06-21 11:04
        回复
          我怀疑SE在E13第一个开发讯息里面说加自定义几何体会导致帧率严重降低只是懒
          毕竟石墙要14个方块状态(我没有考虑自然情况下不会出现的现象例如拐角处up=false,不然得更多)
          紫颂果则要64个(不计自然情况下不可能出现的情况)


          IP属地:湖南来自Android客户端12楼2020-06-21 12:21
          回复
            而且如果说性能的话,视野中出现自定义几何体确实会影响性能,但是影响性能的程度差不多和他自己加的木栅栏差不多


            IP属地:湖南来自Android客户端13楼2020-06-21 12:22
            回复
              瞎🐔儿加发现240及以上的vMaterialIDs被SE自己占了,那看来数字ID还得省着用


              IP属地:湖南来自Android客户端15楼2020-06-21 18:07
              收起回复
                如果要使新加的几何体在染色玻璃的反射中之类的情况下显示出来,似乎还需要在composite.fsh里面进行类似的修改


                IP属地:湖南来自Android客户端16楼2020-06-21 23:20
                回复