html5 webgl pyhon,WebGL基础

WebGL坐标系

就像任何其他的3D系统,在WebGL中Z轴表示深x,y和z轴。在WebGL的坐标被限制为(1,1,1)和(-1,-1,- 1)。它意味着- 如果你考虑该屏幕上投影的WebGL图形为立方体,则立方体的一个角将是(1,1,1)和相对的角为(-1,-1,-1)。 WebGL将不绘制显示任何超越这些界限。

下图描述了WebGL的坐标系。 z轴表示深度。 z与正值表示该对象是在屏幕/观众近,而z的负值表示该对象远离屏幕。同样地,x的正值表示该对象是到屏幕右侧的和负值表示目的是左侧。同样地,y的正和负数值表示对象是否是在顶部或在屏幕的底部。

a752627ed54bfe849317a204ddaa7550.png

WebGL基础知识

获得画布对象的WebGL的上下文后,就可以开始使用 JavaScript 中 WebGL的API 绘制图形元素。

下面是在开始使用WebGL之前你需要知道的一些基本术语。

顶点

通常绘制对象,如多边形,我们在飞机上点和加入其中以形成所需多边形。顶点是点定义一个3D对象的边缘的结合使用。它是由每一个表示 x,y和z。分别轴3浮点值来表示。

示例

在下面的例子中,我们绘制具有以下顶点的三角形 − (0.5, 0.5), (-0.5, 0.5), (-0.5, -0.5)。

96c95e146acea32dc6c41b3edbb69836.png

注意 - 我们要存储这些顶点手动使用 JavaScript 数组,并将其传递到 WebGL 使用顶点缓冲渲染管线。

索引

在WebGL数值被用来识别的顶点。这些数值被称为索引。这些指数被用来绘制网格 WebGL。

注 - 就像顶点,我们存储索引,使用JavaScript数组,并将其传递到 WebGL 使用索引缓冲区渲染管线。

ce012971b128ad062d5bbc88cc2888cb.png

数组

不像OpenGL和JOGL,有在 WebGL 没有预定义的方法来直接呈现的顶点。我们必须将它们存储手动使用 JavaScript 数组。

示例

var vertices = [ 0.5, 0.5, 0.1,-0.5, 0.5,-0.5]

缓冲区

缓冲区是 WebGL 保存数据的存储器区域。有多种缓冲液即,绘图缓冲器,帧缓冲器,vetex 缓冲器,和索引缓冲器。顶点缓冲器和索引缓冲器被用来描述和处理模型的几何形状。

顶点缓冲区对象 − 这对应于每个顶点的数据存储(每顶点数据)

索引缓冲区对象 - 本存储有关的指标数据

帧缓冲区的图形内存持有的场景数据的一部分,这个缓冲区包含细节如宽度和表面的高度(以像素为单位),每个像素与它们的深度的颜色。

存储到顶点数组后,我们将它们传递到使用这些缓冲区对象 WegGL 图形流水线。

网格

要绘制2D或3D对象,WebGL的API提供了两种方法,即drawArrays()和drawElements()。这两种方法接受一个使用它用户可以选择想要拉拢的对象称为模式参数。通过字段提供的选项被限制为点,线和三角形。

要使用这两种方法绘制3D对象,我们必须构造采用点,线,或者三角形的一个或多个原始的多边形。然后使用这些基本多边形,就能形成一个网格。使用基本多边形绘制的3D对象被称为一个网格。 WebGL提供了几种方法来绘制3D图形对象,但用户通常更喜欢画一个网格。

示例

在下面的例子中,可以观察到,我们已经绘制使用两个三角形的正方形 → {1, 2, 3} and {4, 1, 3}.

d3a68adbca4a761ff427852837b48c69.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值