SEUS PTGI E13 Dev News2
SEUS PTGI E13 开发新闻2
Hey all! Sorry it's been a while, I've been wanting to share the progress I've made with E13, but I needed to really make sure that I didn't accidentally promise something that would turn out not to be possible. The pieces of the puzzle are finally coming together, so I can announce confirmed new features!
大家好!很抱歉有一段时间了,我一直想要分享我在E13上取得的进展,但是我需要确保我没有意外承诺了一些不可能实现的事情。拼图的碎片最终拼合在一起了,所以我可以宣布确认的新特性!
So, if you haven't read the last Dev News post, I've been working on a completely new approach to voxelization and representation of block shapes for ray tracing. This is definitely the most complicated system I've ever built! E13 will be the biggest update PTGI has ever seen, and here's what I can confirm will be working!
所以,如果你还没有阅读上一篇开发新闻贴,我正在研究一种全新的方法来为光线追踪体素化并显示方块模型。这绝对是我构建过的最复杂的系统!E13将是PTGI有史以来最大的更新,以下是我可以确认的将能工作的东西!

Voxelization based on a Resource Pack
基于资源包的体素化
In order for PTGI to get information about what blocks are in the world for ray tracing, you will now need to have a specific resource pack loaded. For the first E13 release, I will include a resource pack--that you should always have enabled when using PTGI--that will provide the necessary information for vanilla block models.
为了让PTGI获得关于世界上有哪些方块用于光线追踪的信息,你现在将要加载特定的资源包。对于第一个E13版本,我将附带一个资源包(在使用PTGI的时候应该总是加载它),它将为原版方块模型提供必要的信息。
With this new method, geometry shaders are no longer needed for voxelization! AMD graphics cards are quite slow with geometry shaders, so this is good news for AMD GPU owners! Though, I can't state anything certain about what performance will be like when everything is put together.
有了这个新方法,体素化不再需要任何几何着色器了!AMD显卡的几何着色器很慢,所以这对A卡用户来说是个好消息!不过,我无法确认当所有东西都放在一起时的性能会是什么样子。
You will be able to use resource packs that contain custom textures along with this just fine (loading the PTGI resource pack first, and ** with the textures you want at the top of the list). Any custom block models defined in the resource pack, however, will cause that block not to be voxelized (thus, not be visible in ray tracing). But, there's a solution for this!
你也可以一起使用带有自定义材质的资源包(先载入PTGI资源包,然后在列表顶部加载你想要的材质)。但是,资源包内定义的任何自定义方块模型都会导致这个方块不会被体素化(因此在光线追踪中不可见)。不过,有一个解决方案!
Resource pack conversion tool
资源包转换工具
Since PTGI will now need a special resource pack, I'm working on a tool that will convert any resource pack to this special format. This means that resource packs with custom models will now be able to provide the correct models for PTGI to use for ray tracing! This tool will go through all of the models defined in the resource pack and convert them to a format that PTGI can use.
由于PTGI现在需要一个特殊的资源包,所以我正在开发一种工具,可以将任何资源包转换成这种特殊的格式。这意味着带有自定义模型的资源包将能够为PTGI提供用于光线追踪的正确模型!这个工具将遍历资源包所定义的所有模型,并将它们转换成PTGI可以使用的格式。
It will also bake an associated "shape data" file that will need to be placed inside SEUS PTGI's .zip file. This data is baked for the specific resource pack being converted, so it'll be important not to mix and match these! Eventually I'll have the tool do this for you.
它还将烘焙一个相关的“形状数据”文件,需要放在SEUS PTGI的.zip文件中。这些数据是为了要转换的特定资源包而准备的,因此不混淆和匹配它们是很重要的!最终我会让工具帮你做这件事。
You'll need to be careful not to feed it something that has many models with lots of elements in them, as it could slow down the shader, and the "shape data" file may potentially not be able to contain all of the model shape data.
你需要小心,不要给它一些有很多包含了无数元素的模型的东西,因为它会减慢着色器的运行速度,并且“形状数据”文件可能不能包含所有的模型形状数据。
Any block model properly ray traced!
任何方块模型的正确光线追踪!
Any block model in the world (that isn't a tile entity like chests, armor stands, signs, etc.) will now properly show up in ray traced reflections and lighting! That means stairs, slabs, fences, doors, trapdoors, torches, crops, levers--pretty much anything can be properly represented in the ray tracing now! And none of this is hand-coded, it's all automatically figured out by the Resource Pack conversion tool and PTGI! This means that there is the potential that blocks (that aren't tile entities) added by mods could work as well!
世界上的任何方块模型(不是像箱子、盔甲架、告示牌之类的实体型方块)现在将正确地显示在光线追踪反射和照明中!这意味着楼梯、台阶、栅栏、门、活板门、火把、作物、拉杆——几乎任何东西现在都可以在光线追踪中正确地表现出来!所有这些都不是手工编码的,都是通过资源包转换工具和PTGI自动计算出来的!这意味着mods添加的方块(不是实体型方块)也可以工作!
Sadly, we still have the limitation that only one texture can be rendered on a block seen inside ray tracing. So, block models that use multiple textures like grass block (dirt on the sides, grass on top), logs, grindstone, etc. will only map one texture to all of the geometry. Right now, the texture that PTGI uses is the particle texture. I don't think it's likely that I can overcome this limitation. But there are potential workarounds, like fusing these textures together into one .png and then editing the block model .json file to work with this little mini atlas texture.
遗憾的是,我们仍然有限制,在光线追踪时一个方块只能有一种材质被渲染。因此,使用多个材质的方块模型,例如草方块(侧面的泥土和顶面的草)、原木、砂轮等,将只会向所有的几何形状映射一个贴图。目前,PTGI使用的材质是粒子贴图(译者注:方块模型中的”particle”贴图,用于生成方块被破坏后的粒子的图像文件)。我想我不太可能克服这个限制,但是有一些潜在的解决方法,比如把所有的材质融合到一个.png图像中,然后编辑方块模型.json文件来处理这个小集合材质。
Per-pixel emissive light sources
逐像素发光光源
I'm migrating away from blocks either being light sources and fully glowing or not in favor of per-pixel light emission. That means that any block being a light or not will simply be based on textures. So, any block can give off any amount, color, or intensity of light!
我正在远离作为光源并完全发光或者不喜欢逐像素发光的方块。这意味着任何一个方块是否成为光源将简单地基于材质。所以,任何物体都可以发出任何数量、颜色或者强度的光!
Alpha testing in ray tracing
光线追踪中的Alpha测试
Blocks seen in ray traced lighting and reflections will now properly handle cutout transparency. That means that leaf blocks, doors, glass, grass, crops, etc. will now render properly! Stained glass will eventually properly show up and tint reflections and lighting, but that's not quite working yet.
在光线追踪照明和反射中看到的方块现在将正确处理透明边缘。这意味着树叶、门、玻璃、草、作物等现在将正确渲染!彩色玻璃最终会适当显示出来并为反射和光照着色,但是现在工作还不是很正常。
Ray traced contact shadows
光线追踪衔接阴影
With how reliably PTGI can ray trace properly shaped blocks, I've added ray traced contact shadows. These are quite cheap, since they only need to trace a few blocks just to get that crisp contact shadow, but they make quite a difference!
伴随着PTGI如何可靠地对正确形状的方块进行光线追踪,我添加了光线追踪衔接阴影。这都是相当不吃性能的,因为它们只需要追踪几个方块,仅仅为了获得干脆的衔接阴影,但他们有很好的效果!
Now, there are definitely some things to work out! A few blocks are not rendering properly, the resource pack conversion tool is still just a C# script in Unity, and the whole thing is young and unoptimized. This means you'll definitely see a performance drop. But, these new features bring a level of detail and complexity to your world as seen through the reflection of an iron block that I never thought would be possible!
现在,肯定有一些事情要解决!有几个方块没有正确渲染,资源包转换工具仍然只是Unity中的一个C#脚本,整个东西还很年轻,没有被优化。但是,这些新功能给你的世界带来了一定的细节和丰富度,就像从一个铁块的反射中看到的那样,我从未想过这是可能的!
Thank you for hanging in there while I've been working on this! I didn't post sooner, again, because I wanted to be sure that I could happily and proudly announce these features and be confident they're going to work. I'm incredibly excited for this new tech, and I hope you are too!
谢谢你在我做这个的时候的耐心等待!我没有更早地发布这些特性,因为我想确保我可以愉快地、自豪地宣布这些特性,并对它们能正常工作充满信心。我对这项新技术感到无比兴奋,我希望你也一样!
And, of course, thank you for your support!! As always, and especially when it's been a while since there's been an update, I wanted to remind you that you'll only be charged if you're a patron during the turn of a new month. If you'd rather just pledge when there's an update, download the update, and then unpledge, that's totally fine, I have charge up-front disabled for this reason! For more information on how this works, take a look at this page.
当然,还要感谢你们的支持!和以往一样,特别是当已经有一段时间没有更新的时候,我想提醒你,你只有在新的一个月的时候才需要付费。如果你想在有更新时订阅,下载更新,然后取消订阅,那完全可以,我为此禁用了预付!有关这些如何运作的更多信息,请查看此页面。
终于!要出e13了!我等不及了!
安逸An_Yi 发表于 2020-4-7 22:59
终于!要出e13了!我等不及了!
目前估计还有比较长一段时间。
根据Sonic Ether的描述,可能几乎整个PTGI的方块渲染系统都会被重写,这种工作量恐怕不是短时间可以完成的。
但是可以预料到的是PTGI E13的渲染会有质的飞跃。
PTGI挺不错的,就是太吃配置
作者能否对其进行优化呢?
作者能否对其进行优化呢?
小孩孩 发表于 2020-4-7 23:11
PTGI挺不错的,就是太吃配置
作者能否对其进行优化呢?
E13重写了很多东西,删除了几何着色器,并且通过一些特殊手段使方块模型体素化之后再参与光追,据说A卡用户会有很大的性能提升,N卡用户就不清楚了
之前好像发了一个E13后来又删了