webgl 模拟试卷
基础图元绘制与交互专题测试
- 绘制类型与 drawArrays: 使用 TRIANGLES、TRIANGLE_STRIP、LINES、POINTS 绘制基础图元
- 索引组网与顶点缠绕顺序: 使用索引组织复杂网格并理解顶点缠绕顺序对朝向的影响
- 面剔除与可见性控制: 配置 CULL_FACE 与 frontFace 剔除背面三角形提升绘制效率
- 参数化图形顶点生成: 通过循环生成矩形、圆环、网格等参数化图形顶点数据
- 鼠标与触摸交互映射: 把鼠标与触摸事件坐标转换为 WebGL 坐标实现基础交互
试卷习题(19 题)
参考答案在文末判断题
1
判断题
面剔除发生在图元装配之后、光栅化之前,可以省掉封闭网格约一半三角形的后续计算。
2
判断题
WebGL 裁剪坐标的 Y 轴向上,而浏览器鼠标事件的 Y 轴向下,因此映射时需要翻转 Y。
3
判断题
用参数化方式生成的规则几何,在形状不变时只需生成并上传一次缓冲,不需要每帧重建。
4
判断题
WebGL 默认把屏幕空间下按逆时针方向排列的三角形判定为正面。
5
判断题
使用 POINTS 模式绘制时,每个顶点会被绘制成一个点,点的大小由顶点着色器中的 gl_PointSize 决定。
单选题
6
单选题
开启面剔除后模型整体消失,最可能的原因是什么?
7
单选题
索引缓冲中存放的数据表示什么?
8
单选题
需要看到物体内壁(背面)时,应如何设置面剔除?
9
单选题
把画布内的像素坐标 x 映射为 WebGL 裁剪坐标,正确的计算方式是?
10
单选题
参数化生成圆、网格等规则几何,主要依靠什么方式得到顶点?
11
单选题
用循环生成圆形顶点时,决定边缘平滑程度的关键参数是什么?
12
单选题
开启面剔除需要调用哪个接口?
13
单选题
要用 n 个顶点绘制连续的三角形条带,应选择哪种绘制类型?
14
单选题
把鼠标事件坐标换算成画布内的像素坐标时,应使用哪个方式获取画布位置与尺寸?
多选题
15
多选题
关于鼠标与触摸交互的实现,以下说法正确的是?
16
多选题
关于索引组网与顶点缠绕顺序,以下说法正确的是?
17
多选题
关于参数化图形顶点生成,以下说法正确的是?
18
多选题
关于 drawArrays 的绘制类型,以下说法正确的是?
19
多选题
关于面剔除的配置与使用场景,以下说法正确的是?
参考答案
1.正确
2.正确
3.正确
4.正确
5.正确
6.B
7.B
8.A
9.B
10.B
11.B
12.A
13.B
14.A
15.A;B;C
16.A;B;C
17.A;B;C
18.A;B;C
19.A;B;C
