摘要: 之前的最长的一帧系列,我们主要集中在地形和影像服务方面。简单说,之前我们都集中在地球是怎么造出来的,从这一系列开始,我们的目光从GLOBE上解放出来,看看球面上的地物是如何渲染的。本篇也是先开一个头,讲一下涉及到的类结构和整体的流程,有一个系统的,概括的理解。 我们先看看Cesium的渲染队列: var Pass = { // 环境,比如大气层,月亮,天空盒等 ... 阅读全文
posted @ 2016-11-28 09:23 fu*k 阅读(19145) 评论(2) 推荐(7) 编辑
摘要: 最近研究Cesium的实例化,尽管该技术需要在WebGL2.0,也就是OpenGL ES3.0才支持。调试源码的时候眼前一亮,发现VAO和glDrawBuffers都不是WebGL1.0的标准函数,都是扩展功能,看来WebGL2.0标准的推广势在必行啊。同时发现,通过ANGLE_instanced_arrays的扩展,也可以在WebGL1.0下实现实例化,创建实例化方法的代码如下: ... 阅读全文
posted @ 2016-11-04 16:34 fu*k 阅读(9363) 评论(2) 推荐(3) 编辑
摘要: VAO VAO(Vertext Array Object),中文是顶点数组对象。之前在《Buffer》一文中,我们介绍了Cesium如何创建VBO的过程,而VAO可以简单的认为是基于VBO的一个封装,为顶点属性数组和VBO中的顶点数据之间建立了关联。我们来看一下使用示例: var indexBuffer = Buffer.createIndexBuffer({ co... 阅读全文
posted @ 2016-10-31 15:52 fu*k 阅读(9738) 评论(4) 推荐(5) 编辑
摘要: Cesium不仅仅提供了FBO,也就是Framebuffer类,而且整个渲染过程都是在FBO中进行的。FBO,中文就是帧缓冲区,通常都属于高级用法,但其实,如果你了解了它的基本原理后,用起来还是很简单的,关键在于理解。比如你盖楼,地基没打好,盖第一层楼,还可以,盖第二层楼,有点挫了,盖第三层楼,塌了。你会认为第三层楼(FBO)太难了,其实根本原因还是出在地基上。 窗口系... 阅读全文
posted @ 2016-10-27 09:01 fu*k 阅读(9808) 评论(4) 推荐(8) 编辑
摘要: 在介绍Renderer的第一篇,我就提到WebGL1.0对应的是OpenGL ES2.0,也就是可编程渲染管线。之所以单独强调这一点,算是为本篇埋下一个伏笔。通过前两篇,我们介绍了VBO和Texture两个比较核心的WebGL概念。假设生产一辆汽车,VBO就相当于这个车的骨架,纹理相当这个车漆,但有 阅读全文
posted @ 2016-10-24 08:50 fu*k 阅读(16539) 评论(9) 推荐(6) 编辑
摘要: 作为一位英语爱好者,百词斩是我每天都会用的一款APP,这款应用可以自测词汇量,并巩固你的单词量,确实是一款用心的产品。作为一名雅思7分选手,个人觉得里面的发音和例句,对于口语还是有很大的帮助,可以边听边读,做到碎片化的学习。总言而之,推荐大家都体验一下。 再完美的产品也会有瑕疵,我的词汇量在1.3万左右,大多数单词都能比较熟悉,直接斩掉,但也会有零星的生僻词,我会... 阅读全文
posted @ 2016-10-21 10:21 fu*k 阅读(12686) 评论(30) 推荐(11) 编辑
摘要: 有这样一个数列:1、1、2、3、5、8、13、21、34……前两个元素为1,其他元素均为前两个元素和。在数学上以如下递归的方法定义: 这就是斐波那契数列的数学定义。那数学家是如何发现(或创造)出这个这个数列,它又有什么意义呢?莫着急,我们先从斐波那契的生平说起。 斐波那契是一位数学家,生于公元1170年,籍贯大概是比萨,卒于1240... 阅读全文
posted @ 2016-10-19 10:15 fu*k 阅读(9470) 评论(12) 推荐(14) 编辑
摘要: Texture也是WebGL中重要的概念,使用起来也很简单。但有句话叫大道至简,如果真的想要用好纹理,里面的水其实也是很深的。下面我们来一探究竟。 下面是WebGL中创建一个纹理的最简过程: var canvas = document.getElementById("canvas"); var gl = canvas.getContext("webgl"); ... 阅读全文
posted @ 2016-10-18 21:49 fu*k 阅读(11301) 评论(3) 推荐(3) 编辑
摘要: 刚刚结束完地球切片的渲染调度后,打算介绍一下目前大家都很关注的3D Tiles方面的内容,但发现要讲3D Tiles,或者充分理解它,需要对DataSource,Primitive要有基础,而这要求对最底层的渲染模块,也就是Render有一个了解,真的是书到用时方恨少的代入感,索性从头到尾的说清楚。所以,下面几篇(估算四篇)先把Render模块介绍清楚。 Render... 阅读全文
posted @ 2016-10-16 22:38 fu*k 阅读(10481) 评论(5) 推荐(4) 编辑
摘要: 如果把地球比做一个人,地形就相当于这个人的骨骼,而影像就相当于这个人的外表了。之前的几个系列,我们全面的介绍了Cesium的地形内容,详见: Cesium原理篇:1最长的一帧之渲染调度 Cesium原理篇:2最长的一帧之网格划分 Cesium原理篇:3最长的一帧之地形(1) Cesium原理篇:3最长的一帧之地形(2:高度图) Cesium原理篇:3最长的一帧之地形(3:STK)... 阅读全文
posted @ 2016-09-28 16:43 fu*k 阅读(9823) 评论(0) 推荐(4) 编辑