- 博客(10)
- 收藏
- 关注
原创 【THREE.js源码系列】初级篇01:Object3D
例如,对于一个旋转臂,包括了大臂和小臂,当我们转动大臂的时候,大臂和小臂会一起绕着大臂关节旋转,而转动小臂的时候,大臂不动,小臂绕着肘关节旋转。如果没有父子间关系,那我们实现这一功能的时候,在旋转大臂的时候,还要去找其对应的小臂,然后根据旋转点去计算小臂的旋转角度,才能完成这一操作。而有了父子间关系后,我们将小臂视为大臂的子节点,当大臂(父节点)旋转的时候,旋转操作会同时传递给小臂(子节点),从而完成一系列操作。一般情况下,矩阵的变换是自动的,每当物体有变换时,都会执行更新操作,计算最新的矩阵。
2023-09-21 20:07:44 934
原创 【WebGL系列】5.使用颜色和纹理
在片元着色器中,有一个内置变量gl_FragColor,这个变量可以控制片元的颜色。但是在片元着色器中,我们只能使用uniform类型的变量,所谓uniform,就是一致变量,表示这个值适用于所有的片元。如果想绘制一个渐变颜色的图形,那么使用一致变量就不合适了。此时可以想到,片元着色器中attribute变量可以单独对每个顶点进行赋值,varying变量可以进行顶点着色器和片元着色器之间的通信。我们可以以下方式创建一个颜色不同的图形。
2023-09-20 17:52:49 333
原创 【Cesium源码系列】Cesium地形数据格式解析
Cesium地形数据采用了一种扩展名为.terrain的二进制文件结构,该结构为格式的、简单多重采样的四叉树金字塔结构。每个瓦片的地形数据包含了当前瓦片的顶点信息、三角网信息、索引信息以及扩展信息等。瓦片金字塔的两个根文件的范围及服务地址为这两个根瓦片的八个子瓦片的范围以及服务地址为请求瓦片时,要确保在HTTP头文件中包含以下信息否则可能会返回一个奇怪的瓦片。
2023-09-20 11:09:23 1936
原创 【WebGL系列】2.创建Program对象
program对象由和构成,因此,创建program对象包含了两部分,一个是着色器对象的创建,一个是program对象的创建。
2023-09-20 11:05:57 131
原创 【WebGL系列】1. 获取WebGL上下文
WebGL上下文是从标签中获取到的,通过canvas对象的函数可以获取WebGLRenderingContext。跟据参数的不同,getContext()函数可以获取不同种类的渲染上下文。'2d'WebGL1WebGL2canvas当为2dalpha当使用webglalphacanvasantialiasdepth"default"stencil当要获取一个上下文对象的时,可以使用接口来获取返回值"webgl""webgl2"
2023-09-20 11:05:17 769
原创 位操作的一些技巧详解
基本位操作与操作&每一位进行比较,两位都为1,结果为1,否则为0即1 & 1 = 1;0 & 1 = 0;1 & 0 = 0;0 & 0 = 0;(19)10&(25)10=(17)10(19)_{10}\&(25)_{10}=(17)_{10}(19)10&(25)10=(17)10KaTeX parse error: No such environment: align at position 8: \beg
2021-06-07 16:15:05 358 1
原创 从JDBC到MyBatis—JDBC部分(1)—JDBC的介绍
从JDBC到MyBatis—JDBC部分(1)—JDBC的介绍什么是JDBCJDBC是通过Java API来访问数据库的技术,代表Java Database Connection。JDBC库中包含一系列的API,可以用于与数据库进行操作,如连接到数据库创建SQL或MySQL语句在数据库中执行SQL或MySQL语句查看和修改数据库中的记录JDBC环境的设置JDBC需要以下环境:JDK数据库系统JDBC驱动程序JDBC程序的构建创建一个JDBC应用程序需要以下几个步骤:导入
2021-06-01 16:36:53 74
原创 Cesium项目开发基础(1)——Cesium环境搭建
Cesium环境搭建本文所涉及到的内容Cesium的简介Nodejs环境的搭建git的安装Cesium的源码打包第一个Cesium程序Cesium简介CesiumJS是一个用于构建三维地球模型的基于WebGL的开源Javascript开源库。开发者可以很容易地用它来构建高性能、高精度的三维地图可视化应用。从航天领域到智慧城市,甚至无人机领域,开发者都可以用CesiumJS构建可...
2020-03-27 20:55:58 8355 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人