[✔️]使用renderdoc调试游戏

745 阅读1分钟

启动游戏

image.png

一般来说填写executable path后,点击launch即可启动游戏

image.png

如果一切顺利,在游戏内就会导到renderdoc的提示信息

image.png

查看使用的纹理

  • 双击capture frame

    image.png

  • 在event browser里面,我们可以看到详细的gl调用过程,在pipeline state里面的FS阶段,我们可以找到使用的纹理 image.png

  • 要查看详细的纹理,点击GO,就会跳转到Texture Viewer里面

但是这样只能看到当前使用的纹理

unity frame debug 无法查看 font texture

我们使用unity的frame debug发现font texture是一张全黑的图片

f9e8054a00713f467f259772a5f4d85.png

使用renderdoc看到的绘制命令顺序

image.png

找到绘制文本的EID,然后在FS阶段,我们看到了这个FontTexture

image.png 发现这个font texture其实是一个只有alpha通道的图片,这也就解释了为啥unity中显示的是全黑

image.png

我们的游戏画面为:

image.png

生成的文本有点多哦

image.png

image.png

这个outline竟然是用offset实现的,cocos是将字号变大后作为底,看起来像描边

就单独一个3,产生的字符纹理

image.png

unity在不同情况下的字符纹理情况

image.png

倾斜加粗字号决定了是否生成新的字符纹理

cocos creator中的字符纹理情况

是带颜色的,主要是因为描边这类的情况,无法共享shader

ff2a7b352b26ec2736461753be7aa50.jpg

godot是将不同字号的字符纹理放在了不同的大纹理里面,和cocos的思路非常类似,unity是混在了一起

image.png