上午陪妹妹去听补习班试听课。
下午看了十几页JavaScript,后来在网易云课堂中看到一个JS的课程评价很高,就听了两节课。感觉Blue老师讲得很不错,实时配合实例,帮助理解。只是课程是11年录制,不知道近几年标准变化大不大。
看了Kristian剩余两篇论文的其中一篇,针对第一篇关于XML3D综述性质的论文《XML3D – Interactive 3D Graphics for the Web》写了总结笔记。
开篇展示了两个XML3D的应用实例,论证了用最大化利用现有技术支持交互3D展示的必要性。
接下来说明了已存在的相关的可以实现web3D的技术,以及存在的问题。
X3D和X3DOM并不能很好地实现目的。
SVG能以SMIL动画元素现实声明式2D动画,但这些元素并没有被很好地支持。SVG和CSS、HTML的某些元素可能会引起歧义;SVG和XML3D有相似的方式来扩展网页的图形能力,但作者要尽量离HTML近些。
对于命令式方式,利用WebGL,可以硬件加速在HTML<canvas>元素中展示3D图形;另外还有基于插件的方式。但3D图形技术应该作为网络文档的扩展被使用,命令式方式天生地不适合。
接下来对HTML和CSS技术作了简要介绍。
然后说明了实时3D的要求;
渲染器独立性,光栅算法和光线追踪技术使效果显示较为容易,方便开发。硬件发展速度快,主流硬件厂商也在新硬件上考虑光线追踪技术。
描述了当前的xml3d规范,介绍了<xml3d> <defs> <mesh> <bind> <group> <light> <view> <use>标签,将HTML中的样式转化为描述3d内容的样式,利用CSS 3D Transforms;提供两种描述表面明暗的选择。
XML3D是DOM的一部分,所以大部分附加功能能以脚本方式执行。例如利用JS内建的计时器功能可以很容易制作动画。
接下来叙述了XML3D的实现,相对基于WebGL的不完全实现,针对Mozilla和webkit的支持以全功能实现为目的,原生支持大部分特性可以实现;
以WebGL为基础的3D实现都受OpenGL ES 2.0 specification的局限。
未完待续......