首页/ 学科题库/ webgl/ 颜色、纹理与采样入门专题测试
webgl 模拟试卷

颜色、纹理与采样入门专题测试

21 题 45 分钟 难度:★
  • 纹理对象创建与图片上传: 使用 createTexture、texImage2D 把图片上传为纹理对象
  • 纹理坐标与 UV 映射: 设置纹理坐标并把 UV 与顶点位置对应完成贴图
  • 纹理过滤方式选择: 配置 NEAREST 与 LINEAR 过滤并理解其对像素风与平滑效果的影响
  • 纹理环绕模式配置: 设置 REPEAT、CLAMP_TO_EDGE、MIRRORED_REPEAT 处理越界采样
  • 图像跨域与纹理加载时序: 处理跨域图片的 CORS 限制并在 onload 之后再上传纹理
  • 纹理格式与颜色表示: 选择 RGBA、LUMINANCE 等纹理格式并处理颜色偏差问题

试卷习题(21 题)

参考答案在文末
判断题
1
判断题

纹理放大过滤使用 TEXTURE_MAG_FILTER,缩小过滤使用 TEXTURE_MIN_FILTER,两者需要分别设置。

A

对

B

错

2
判断题

相同尺寸的纹理,使用 RGBA 格式比使用 LUMINANCE 格式占用更多显存。

A

对

B

错

3
判断题

跨域图片要作为纹理上传,需要客户端设置 crossOrigin,同时服务端返回 CORS 响应头,两者缺一不可。

A

对

B

错

4
判断题

纹理坐标通常归一化到 0 到 1,其中 (0, 0) 对应纹理的左下角。

A

对

B

错

5
判断题

纹理上传应放在图片的 onload 回调中执行,避免图片尚未加载完成就调用 texImage2D。

A

对

B

错

6
判断题

纹理环绕模式决定 UV 超出 0 到 1 范围时的取值方式,分为 S(横向)与 T(纵向)两个方向。

A

对

B

错

单选题
7
单选题

要让一张纹理在地面或墙面上平铺重复,环绕模式应设置为?

A

CLAMP_TO_EDGE

B

REPEAT

C

NEAREST

D

LINEAR

8
单选题

纹理尚未加载完成就开始绘制,最可能看到什么现象?

A

控制台报 CORS 错误并中断渲染

B

采样到空纹理,画面表现为全黑或纯色块,且不报错

C

浏览器自动使用占位图替换

D

浏览器自动延迟绘制,直到纹理就绪

9
单选题

一张需要保留透明通道的彩色贴图,应选择哪种纹理格式?

A

RGBA

B

LUMINANCE

C

ALPHA

D

RGB

10
单选题

要让跨域图片可用于纹理上传,图片对象上需要设置哪个属性?

A

img.crossOrigin = 'anonymous'

B

img.async = true

C

img.decoding = 'sync'

D

img.loading = 'eager'

11
单选题

UV 坐标采用归一化取值的主要好处是什么?

A

可以自动提升纹理分辨率

B

与图像实际分辨率解耦,更换贴图或做图集采样时无需修改顶点数据

C

能减少纹理采样次数

D

可以自动解决跨域限制

12
单选题

希望纹理放大后呈现清晰的硬边像素块效果,应选择哪种过滤方式?

A

NEAREST

B

LINEAR

C

LINEAR_MIPMAP_LINEAR

D

任意取值效果相同

13
单选题

一张只保存灰度遮罩数据的纹理,选择哪种格式更节省显存?

A

RGBA

B

LUMINANCE

C

RGB

D

LUMINANCE_ALPHA

14
单选题

要消除远处纹理的闪烁与摩尔纹,正确的做法是什么?

A

把过滤方式改成 NEAREST

B

生成 mipmap,并在缩小过滤中使用带 mipmap 的取值

C

关闭画布的抗锯齿

D

把纹理分辨率提高到 8K

15
单选题

把图像数据写入当前绑定的二维纹理,应使用哪个接口?

A

gl.texImage2D

B

gl.texParameteri

C

gl.activeTexture

D

gl.generateMipmap

多选题
16
多选题

关于跨域图像与纹理加载时序,以下说法正确的是?

A

图片能在页面上显示,不代表它的像素可以被 WebGL 读取

B

同一 URL 若先前以非跨域方式请求并缓存,可能导致后续跨域请求失败

C

建议用 Promise 等待全部纹理就绪后再启动渲染循环

D

只要设置了 crossOrigin,服务端没有 CORS 响应头也能成功上传

17
多选题

关于纹理的创建与采样绑定,以下说法正确的是?

A

使用某个纹理单元前,应先调用 activeTexture 激活该单元并绑定纹理

B

采样器 uniform 需要设置为纹理单元的序号,才能采样到对应纹理

C

图片与纹理坐标的 Y 轴方向相反,可通过 UNPACK_FLIP_Y_WEBGL 纠正

D

纹理上传后无需设置过滤与环绕参数即可直接使用

18
多选题

关于纹理格式与颜色表示,以下说法正确的是?

A

RGBA 每像素 4 字节,适合彩色贴图

B

ALPHA 格式只保留透明度,适合透明遮罩

C

半透明边缘发黑通常与预乘 Alpha 设置不一致有关

D

纹理格式的选择不会影响显存占用

19
多选题

关于纹理环绕模式,以下说法正确的是?

A

图标、角色与图集贴图建议使用 CLAMP_TO_EDGE

B

WebGL 1.0 中非 2 的幂纹理必须使用 CLAMP_TO_EDGE

C

MIRRORED_REPEAT 会镜像平铺,接缝处过渡更连续

D

使用 REPEAT 时图集内的子图之间不会出现串色

20
多选题

关于纹理坐标与采样,以下说法正确的是?

A

顶点着色器通过 varying 把 UV 传到片元着色器,中间由硬件插值

B

片元着色器中用 texture2D 采样纹理得到颜色

C

图片的上下方向与 WebGL 纹理坐标的 Y 轴方向相反

D

UV 必须严格落在 0 到 1 之间,超出范围无法采样

21
多选题

关于纹理过滤,以下说法正确的是?

A

NEAREST 取最近的单个纹素,放大后呈现硬边像素块,适合像素风

B

LINEAR 对周围纹素做插值,过渡平滑,适合照片类贴图

C

存放数值的数据纹理应使用 NEAREST 并避免插值

D

生成 mipmap 之后就不再需要设置 MIN_FILTER 了

参考答案
1.正确 2.正确 3.正确 4.正确 5.正确 6.正确 7.B 8.B 9.A 10.A 11.B 12.A 13.B 14.B 15.A 16.A;B;C 17.A;B;C 18.A;B;C 19.A;B;C 20.A;B;C 21.A;B;C
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 顶点数据与缓冲区对象专题测试