第 07 课倾向于给我一个想法,即我们可以在许多渲染器中加载一个对象,以便从不同的视图中查看它。但是我有很多问题:属性dirty是对象及其属性的属性,而不是渲染器的功能:所以当第一个渲染器完成时,他将所有属性都设置为true,下面的渲染器什么都没有去做。
例如,如果我的对象(根)是具有 2 个子对象(child1,child2)的空对象,其中不包含空对象: - 第一个渲染器工作正常(即它添加根、child1 和 child2),但其他渲染器只添加空对象对象,因为 root.dirty==false(参见 renderer3D.hs,第 591 行) - 第一个渲染器计算适合场景的边界框,另一个不计算,因为 root/child1/child2.points.dirty==false(参见 renderer3D .js 在第 793 行)
所以我的问题是:是否有可能拥有 1 个复杂对象并在不同的渲染器中管理它(而每个对象都有一个取决于渲染器的属性:脏)?或者我应该复制它并链接事件,以便在其他渲染中报告 1 个渲染中的转换?还是我应该做更多的修改?