c++ - 圆柱纹理映射opengl

标签 c++ opengl texture-mapping cylindrical

我正在尝试在opengl中进行纹理映射,使用圆柱体作为中间表面,即

theta =(atan2(z1,x1)) + M_PI ; h = (y1); 这里,x1、y1、z1 是顶点的 x、y、z。

u = θ,v = h Here is the texture I am using

这就是杯子的纹理:

为什么纹理贴图中会有不连续的补丁?

最佳答案

Why is there a discontinuous patch in the texture map?

因为您将纹理坐标从接近 1 的值包装回 0。“间隙”就在那里,因为您没有在几何体中添加间隙。您必须分割几何体并添加一条接缝,使您的角度纹理坐标变为 1。

关于c++ - 圆柱纹理映射opengl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36295536/

相关文章:

java - JOGL:如何更改现有 GLCanvas 的 GLCapability?

opengl - glCompileShader 是可选的吗?

c++ - 使用 UV 贴图 OpenGL 纹理化 3d 对象

c - OpenGL - 如何让这个程序适用于大于 1x1 的纹理?

c++ - 在应用程序中包含所有头文件

c++ - 读取目录中的所有文件名

c++ - 在不重新编译主程序的情况下分析共享对象

opengl - GLSL 中的(无符号)字节

ios - XCode 没有启用纹理图集生成的选项

c++ - 内存中相邻声明的两个公共(public)字段必须为 "next to each other"吗?