OpenGL ES 面试高频知识点(二)

说说纹理常用的采样方式?

最邻近点采样(GL_NEAREST)和双线性采样(GL_LINEAR)。

GL_NEAREST 采样是 OpenGL 默认的纹理采样方式,OpenGL 会选择中心点最接近纹理坐标的那个像素,纹理放大的时候会有锯齿感或者颗粒感。

**GL_LINEAR 采样会基于纹理坐标附近的纹理像素,计算出一个插值,近似出这些纹理像素之间的颜色。**一个纹理像素的中心距离纹理坐标越近,那么这个纹理像素的颜色对最终的样本颜色的贡献越大。因为与周围的像素做加权平均了,纹理放大的时候会变模糊。

当进行放大(Magnify)和缩小(Minify)操作的时候可以设置纹理过滤的选项,比如你可以在纹理被缩小的时候使用邻近过滤,被放大时使用线性过滤。

我们需要使用glTexParameter*函数为放大和缩小指定过滤方式。这段代码看起来会和纹理环绕方式的设置很相似:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

什么是 EGL ?

EGL 是 OpenGL ES 和本地窗口系统(Native Window System)之间的通信接口,它的主要作用:

  • 与设备的原生窗口系统通信;
  • 查询绘图表面的可用类型和配置;
  • 创建绘图表面

相关推荐

  1. OpenGL ES 面试高频知识

    2024-05-12 10:08:02       31 阅读
  2. 【手撕面试题】Vue(高频知识四)

    2024-05-12 10:08:02       24 阅读
  3. 【手撕面试题】Vue(高频知识五)

    2024-05-12 10:08:02       35 阅读
  4. 音视频高频知识

    2024-05-12 10:08:02       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 10:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 10:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 10:08:02       87 阅读
  4. Python语言-面向对象

    2024-05-12 10:08:02       96 阅读

热门阅读

  1. python把png转成jpg

    2024-05-12 10:08:02       27 阅读
  2. 根据指标体系数重排序算法

    2024-05-12 10:08:02       33 阅读
  3. gap意识

    2024-05-12 10:08:02       32 阅读
  4. 什么是ts?

    2024-05-12 10:08:02       36 阅读
  5. CTF-reverse逆向分析解题可能用上的脚本

    2024-05-12 10:08:02       33 阅读
  6. android 预加载进程

    2024-05-12 10:08:02       29 阅读
  7. 技术骨干向管理人才转变的全面策略

    2024-05-12 10:08:02       33 阅读
  8. 等保测评技术方案(六)

    2024-05-12 10:08:02       27 阅读
  9. Spring 使用 Groovy 实现动态server

    2024-05-12 10:08:02       35 阅读
  10. C++面向对象学习笔记五

    2024-05-12 10:08:02       30 阅读