进度报告2022年4月
由...所写GoldenX86和CaptV0rt3x2022年5月11日
你好,yuz-ers,四月真是太棒了!我们将讨论CPU和内核性能的改进,几个GPU仿真的变化,用户界面的调整,等等!
再次拯救桃子公主
继续他的工作以更好地支持正式的GameCube/Wii和任天堂64模拟器(代号Hagi和Hovercraft分别),字节[]引入了几个新的PRs,以进一步提高中包含的标题的兼容性Super Mario 3D All-Stars.
byte[]第一次实现对GLSL的支持是在Super Mario Sunshine,因为不是每个人都能运行Vulkan。这是通过添加以下内容实现的支持间接寻址在OpenGL中。
https://github.com/yuzu-emu/yuzu/pull/8133
这一变化目前不包括对GLASM的支持,因为我们的开发人员不太喜欢处理NVIDIA汇编着色器代码。想象一下,你被要求修理一个汽车引擎的问题,而唯一给你的工具是一块石头和一根棍子。
然而,这只是成功的一半。正确的OpenGL支持Super Mario Sunshine和Super Mario Galaxy需要解决老化API的一个老限制:破碎的Z标度反转。
大多数Switch游戏要么使用流行的免费图形OpenGL,要么使用游戏机专有的NVIDIA API。可以说,NVN在操作方式上比Vulkan更接近OpenGL。
交换机上的Tegra X1 GPU足够灵活,允许游戏开发人员随意更改坐标系。虽然大多数游戏的行为更接近OpenGL的预期,但Z轴背向相机,Hagi和Hovercraft仿真游戏(使用Vulkan渲染,并且只在Switch上的少数游戏中使用)的坐标是反向的,Z轴面向相机,这是Vulkan游戏原本期望的渲染方式。
byte[]的Z轴图
如果你想玩,这不是问题Super Mario Galaxy或者Super Mario Sunshine在yuzu和yuzu的Vulkan后端,因为行为符合游戏的预期。但是如果你尝试使用OpenGL来玩,yuzu将不会正确地解释由于Z比例反转而翻转的面,因此只渲染物体的背面。
解决方案非常简单,翻转正面当Z轴反转时。
https://github.com/yuzu-emu/yuzu/pull/8149
欢迎来到影子王国度假村(超级马里奥阳光)
由...所写GoldenX86和CaptV0rt3x2022年5月11日
你好,yuz-ers,四月真是太棒了!我们将讨论CPU和内核性能的改进,几个GPU仿真的变化,用户界面的调整,等等!
再次拯救桃子公主
继续他的工作以更好地支持正式的GameCube/Wii和任天堂64模拟器(代号Hagi和Hovercraft分别),字节[]引入了几个新的PRs,以进一步提高中包含的标题的兼容性Super Mario 3D All-Stars.
byte[]第一次实现对GLSL的支持是在Super Mario Sunshine,因为不是每个人都能运行Vulkan。这是通过添加以下内容实现的支持间接寻址在OpenGL中。
https://github.com/yuzu-emu/yuzu/pull/8133
这一变化目前不包括对GLASM的支持,因为我们的开发人员不太喜欢处理NVIDIA汇编着色器代码。想象一下,你被要求修理一个汽车引擎的问题,而唯一给你的工具是一块石头和一根棍子。
然而,这只是成功的一半。正确的OpenGL支持Super Mario Sunshine和Super Mario Galaxy需要解决老化API的一个老限制:破碎的Z标度反转。
大多数Switch游戏要么使用流行的免费图形OpenGL,要么使用游戏机专有的NVIDIA API。可以说,NVN在操作方式上比Vulkan更接近OpenGL。
交换机上的Tegra X1 GPU足够灵活,允许游戏开发人员随意更改坐标系。虽然大多数游戏的行为更接近OpenGL的预期,但Z轴背向相机,Hagi和Hovercraft仿真游戏(使用Vulkan渲染,并且只在Switch上的少数游戏中使用)的坐标是反向的,Z轴面向相机,这是Vulkan游戏原本期望的渲染方式。
byte[]的Z轴图
如果你想玩,这不是问题Super Mario Galaxy或者Super Mario Sunshine在yuzu和yuzu的Vulkan后端,因为行为符合游戏的预期。但是如果你尝试使用OpenGL来玩,yuzu将不会正确地解释由于Z比例反转而翻转的面,因此只渲染物体的背面。
解决方案非常简单,翻转正面当Z轴反转时。
https://github.com/yuzu-emu/yuzu/pull/8149
欢迎来到影子王国度假村(超级马里奥阳光)