
计算机图形学
文章平均质量分 89
计算机图形学开发相关
李煎饼
这个作者很懒,什么都没留下…
展开
-
【THREE.js源码系列】初级篇01:Object3D
例如,对于一个旋转臂,包括了大臂和小臂,当我们转动大臂的时候,大臂和小臂会一起绕着大臂关节旋转,而转动小臂的时候,大臂不动,小臂绕着肘关节旋转。如果没有父子间关系,那我们实现这一功能的时候,在旋转大臂的时候,还要去找其对应的小臂,然后根据旋转点去计算小臂的旋转角度,才能完成这一操作。而有了父子间关系后,我们将小臂视为大臂的子节点,当大臂(父节点)旋转的时候,旋转操作会同时传递给小臂(子节点),从而完成一系列操作。一般情况下,矩阵的变换是自动的,每当物体有变换时,都会执行更新操作,计算最新的矩阵。原创 2023-09-21 20:07:44 · 1035 阅读 · 0 评论 -
【WebGL系列】5.使用颜色和纹理
在片元着色器中,有一个内置变量gl_FragColor,这个变量可以控制片元的颜色。但是在片元着色器中,我们只能使用uniform类型的变量,所谓uniform,就是一致变量,表示这个值适用于所有的片元。如果想绘制一个渐变颜色的图形,那么使用一致变量就不合适了。此时可以想到,片元着色器中attribute变量可以单独对每个顶点进行赋值,varying变量可以进行顶点着色器和片元着色器之间的通信。我们可以以下方式创建一个颜色不同的图形。原创 2023-09-20 17:52:49 · 448 阅读 · 0 评论 -
【WebGL系列】2.创建Program对象
program对象由和构成,因此,创建program对象包含了两部分,一个是着色器对象的创建,一个是program对象的创建。原创 2023-09-20 11:05:57 · 173 阅读 · 0 评论 -
【WebGL系列】1. 获取WebGL上下文
WebGL上下文是从标签中获取到的,通过canvas对象的函数可以获取WebGLRenderingContext。跟据参数的不同,getContext()函数可以获取不同种类的渲染上下文。'2d'WebGL1WebGL2canvas当为2dalpha当使用webglalphacanvasantialiasdepth"default"stencil当要获取一个上下文对象的时,可以使用接口来获取返回值"webgl""webgl2"原创 2023-09-20 11:05:17 · 993 阅读 · 0 评论 -
【Cesium源码系列】Cesium地形数据格式解析
Cesium地形数据采用了一种扩展名为.terrain的二进制文件结构,该结构为格式的、简单多重采样的四叉树金字塔结构。每个瓦片的地形数据包含了当前瓦片的顶点信息、三角网信息、索引信息以及扩展信息等。瓦片金字塔的两个根文件的范围及服务地址为这两个根瓦片的八个子瓦片的范围以及服务地址为请求瓦片时,要确保在HTTP头文件中包含以下信息否则可能会返回一个奇怪的瓦片。原创 2023-09-20 11:09:23 · 2326 阅读 · 0 评论 -
【WebGL系列】4.清除缓冲区并绘制
前文中已经准备好了webgl程序和绘制所用的数据,但是在绘制图像之前,还要对画布进行处理。原创 2023-09-20 11:07:48 · 395 阅读 · 0 评论 -
【WebGL系列】3.获取shader变量地址及赋值
传输的是。原创 2023-09-20 11:07:03 · 285 阅读 · 0 评论