level 11
1.10.11版标志着1.10系列的最终版本发布并且揭开了1.11版开发周期的序幕,这也让我们得以对API进行大幅度修改。如中期报告(见上一个【News】帖子)所公布的,我们将以此跨入C++11并且抛弃一些功能(原文有链接)。
不过1.10.11版也有自己的一些新特性:
2017年12月31日 03点12分
3
level 11
基于物理渲染(PBR)
一个基于glTF2.0 reference implementation的PBR演示被加入此版本。该演示作为原始版本可运行在桌面GL和GLES2上,但由于HLSL着色器的缺失该demo还不能运行在D3D上。
该glTF2几何体使用blender和blender2ogre exporter转换。albedo/ emissive/ metallic maps可照常使用。注意这只是对WebGL demo的直接移植,还未整合至RTSS。这意味着你不能不经过拓展shader就使用FFP fog settings或者基于硬件的变形/骨骼动画。另一方面,如果不能直接加载glTF2模型,你也不能使用现有的HLMS演示。
2017年12月31日 03点12分
4
level 11
Android SDK (beta)
因为由源代码为安卓交叉编译Ogre是对那些希望只用Java绑定的用户的一大障碍,我们现提供一个支持JNI绑定的预编译SDK。目标架构是“armeabi-v7a with NEON”,需要level 16(及以上)的API。这意味着该SDK支持几乎所有近期的包括64位ARMv8的性能合适的ARM设备。
注意Java组件本身仍被标记为beta版,仍有部分组件和API没有被验证。
2017年12月31日 03点12分
5
level 11
改进过的RTSS组件
我们的原计划是用我们的实时着色系统(我们在GLES2和GL3Plus上用来模拟固定功能光照的自动连接的shader blocks)来移植PBR shaders的。不幸的是PBR的方法对FFP的照明/纹理分离很适合,that is consequently present in the RTSS(这句话不清楚怎么翻译能衔接上文,所以没翻译)。所以我们需要让RTSS在这方面更加灵活。
虽然RTSS的一些重要改进已经落实。最值得注意的应该是 the improved documentation(一个文档,原文有链接),因为这是最弱的点。你现在可以在这里(指的是另一份文档,原文有链接)找到支持的材料脚本选项(例如normal-mapping, triplanar texturing)。是的,事实上这些是RTSS一开始就支持的。
2017年12月31日 03点12分
6
level 11
(接上段)
如果你使用的是GLES2、GL3Plus或者D3D11,我们强烈推荐你浏览一下RTSS系统概览(还是一个文档,原文有链接)来理解底层发生了什么。
此外,我们也改进了内部API——在以前如果你需要写一些简单的类似“a=b”的赋值,你需要这么写:
curFuncInvocation = OGRE_NEW FunctionInvocation(FFP_FUNC_ASSIGN, FFP_VS_COLOUR);
curFuncInvocation->pushOperand(vsDiffuse, Operand::OPS_IN);
curFuncInvocation->pushOperand(mVSOutputDiffuse, Operand::OPS_OUT);
vsMain->addAtomInstance(curFuncInvocation);
现在你可以直接这样:
vsMain->addAtomAssign(mVSOutputDiffuse, vsDiffuse, FFP_VS_COLOUR);
并且可以直接得到“vsOutputDiffuse = vsDiffuse;”这样的结果而不是 “FFP_Assign(vsDiffuse, vsOutputDiffuse);”这样的结果。
2017年12月31日 03点12分
7
level 11
(继续接RTSS部分)
RTSS现在还可以为一个允许你用自定义shader创建multi-pass的技术的single passes生成shader,但你仍可以为剩下的passes自动生成你的shader。
最后我们的RTSS现在完全支持point sprites——包括纹理和衰减。
2017年12月31日 03点12分
8
level 11
改进的日志
ogre的日志系统是由在xterm兼容终端上的彩色输出拓展的(包括我们的CI server output)。虽然听起来只是一个小变化,但这极大地改进了ogre生成的warning和error的可见性。为此还有新的LML_WARNING等级的日志产生黄色的输出(error的颜色是红色)。
2017年12月31日 03点12分
9