美文网首页
立方体贴图

立方体贴图

作者: 龙遁流 | 来源:发表于2017-01-20 21:10 被阅读0次

将多个纹理组合起来映射到一个单一纹理,立方体贴图含有6个2D纹理对应每个面。

特点:立方体贴图可使用方向向量对其索引和采样,其中心位于远点(对于立方体的顶点定义而言)

立方体贴图采样

方向向量触及到的面的位置就是纹理坐标。

创建立方体贴图

glBindTexture的贴图类型参数为GL_TEXTURE_CUBE_MAP

依次调用glTexImage2D 6次创建,类型参数按右左上下后前依次使用:

参数

定义环绕方式和过滤方式,环绕方式需设置S,T,R三个方向。

片段着色器中采样器的类型是samplerCube,同样使用texture函数采样,此时纹理坐标为vec3类型。

天空盒

使用立方体贴图实现天空盒

天空盒

天空盒是包裹整个场景的立方体

天空盒

注意:

1,绘制天空盒需要关闭深度写入,使其可以作为其他物体的背景而绘制出来。

2,为了使天空盒不会随着物体的移动而出现变近或远的现象,需要移除天空盒视图矩阵的平移部分。

环境映射

立方体贴图可能带有场景环境,物体可以反射或折射场景环境

反射reflection

反射原理

观察者最后看到物体的颜色包含由物体反射的立方体贴图的一部分。

折射refraction

折射原理

观察者最后看到物体的颜色包含由物体折射的立方体贴图的一部分。

折射指数决定了一个材质上光线扭曲的数量,每个材质都有自己的折射指数。下表是常见的折射指数:

不同材质的折射指数

图片和一些文字来源于https://learnopengl-cn.github.io,本人收集作为笔记,如有侵权,望告知


相关文章

  • 18.opengl高级-立方体贴图

    一、原理 立方体贴图在《视觉计算基础》一书中,第14章的环境贴图中有讲到,常见的环境贴图有立方体环境贴图和球体环境...

  • 计算机图形学(OPENGL):天空盒

    本文同时发布在我的个人博客上:https://dragon_boy.gitee.io 立方体贴图   立方体贴图是...

  • OpenGL学习20——立方体贴图

    立方体贴图(Cubemaps) 立方体贴图(cubemap)是一种纹理,包含来自立方体每个平面的6个独立的2D纹理...

  • OpenGL ES入门3-立方体纹理贴图

    概述 给立方体6个面进行纹理贴图,首先要能绘制立方体,然后对立方体每对表面进行纹理贴图。这里使用glDrawArr...

  • NDK OpenGL ES 3.0 开发(十五):立方体贴图(天

    该原创文章首发于微信公众号:字节流动 OpenGL ES 立方体贴图 OpenGL ES 立方体贴图本质上还是纹理...

  • 2022-10-14 天空盒

    一、原理 1.创建一个立方体贴图,代码见3.1 2.关闭深度写入,先绘制一个盒子,纹理为立方体贴图 shader:...

  • three.js给一个立方体贴图片

    three.js给一个立方体贴图片

  • opengl学习-立方体贴图

    立方体贴图通过方向向量来进行索引/采样。 创建立方体贴图 优化天空盒 将观察矩阵转换为3x3矩阵再将其转换回4x4...

  • 天空盒

    天空盒Get知识点: 1、立方体贴图是和其它纹理一样的,所以如果想创建一个立方体贴图的话,我们需要生成一个纹理,并...

  • 立方体贴图

    将多个纹理组合起来映射到一个单一纹理,立方体贴图含有6个2D纹理对应每个面。 特点:立方体贴图可使用方向向量对其索...

网友评论

      本文标题:立方体贴图

      本文链接:https://www.haomeiwen.com/subject/oukgbttx.html