minecraft吧 关注:2,569,751贴子:32,097,674

成功在渲染龙实现区块显示

只看楼主收藏回复

或许着色器的末日还没到



IP属地:北京来自Android客户端1楼2022-04-13 19:35回复
    可以看到左上角的RENDERDRAGON


    IP属地:北京来自Android客户端2楼2022-04-13 19:37
    回复
      2026-01-28 05:55:48
      广告
      不感兴趣
      开通SVIP免广告
      自基岩版换用渲染龙后,着色器都被存到了renderer/materials文件夹下的那堆bin文件里去了


      IP属地:北京来自Android客户端3楼2022-04-13 19:38
      回复
        如果直接打开是这样的


        IP属地:北京来自Android客户端4楼2022-04-13 19:39
        回复
          虽然还是能找到glsl的代码,但显然直接改是不行的


          IP属地:北京来自Android客户端5楼2022-04-13 19:40
          回复
            从Minecraft的网站上可以看到使用了bgfx这个开源项目


            IP属地:北京来自Android客户端6楼2022-04-13 19:41
            回复
              这个bgfx是一个跨平台的渲染库,是不是想到了邪恶的render dragon


              IP属地:北京来自Android客户端7楼2022-04-13 19:43
              回复
                这个库自造了一种类似glsl的着色器语言,之后可以编译成各个平台对应的着色器语言


                IP属地:北京来自Android客户端9楼2022-04-13 19:45
                回复
                  2026-01-28 05:49:48
                  广告
                  不感兴趣
                  开通SVIP免广告
                  而他编译出的二进制文件是VSH/FSH/CSH开头的,对应vertex,fragment,compute三种着色器


                  IP属地:北京来自Android客户端10楼2022-04-13 19:47
                  回复
                    而如果你在这个material.bin的文件里翻一翻就会找到FSH或者VSH,就可以提取出着色器文件了


                    IP属地:北京来自Android客户端11楼2022-04-13 19:48
                    回复
                      这么多着色器全写一个文件里肯定得记录其长度,在这个VSH或者FSH前面的四个字节就是以小端字节序储存的长度


                      IP属地:北京来自Android客户端12楼2022-04-13 19:51
                      回复
                        不过提取出来的还是二进制文件,不过接下来可以翻bgfx的源码确定其格式了


                        IP属地:北京来自Android客户端13楼2022-04-13 19:53
                        回复
                          首先是4个字节的magic number,前3个是VSH/FSH/CSH来表明其类型,之后的1个字节是版本号,现在从Minecraft里解包出来的版本号是5


                          IP属地:北京来自Android客户端14楼2022-04-13 19:55
                          回复
                            然而这个版本在现在的bgfx已经11了


                            IP属地:北京来自Android客户端15楼2022-04-13 19:57
                            回复
                              2026-01-28 05:43:48
                              广告
                              不感兴趣
                              开通SVIP免广告
                              而从GitHub的记录来看,这个版本号是5的时候好像是2018年


                              IP属地:北京来自Android客户端16楼2022-04-13 20:00
                              收起回复