如何在球体上进行立方体贴图纹理?

时间:2015-11-13 12:47:30

标签: c++ qt opengl mapping textures

我正在使用OpenGL在QT工作,我在项目中有一个球体。我需要的是在球体上做一个立方体贴图纹理。

是否有人有任何材料或任何可以帮助我做到这一点的事情?我在互联网上找不到这样的东西可以帮助我:(。如果你有任何方向,那将是非常有帮助的

Sphere是通过代码创建的,通过创建三角形然后着色。

1 个答案:

答案 0 :(得分:0)

对于以p为中心的球体表面上的点c,请使用normalised(p - c)作为p的纹理坐标。

从概念上讲,想象一下立方体贴图纹理以球体的中心为中心。将纹理映射到球体上的点对应于从球体的中心穿过表面点投射光线,并使用该光线击中的纹理像素。这正是您使用c->p向量(a.k.a。p - c)作为立方体贴图纹理坐标所获得的。