Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么opengl对象上使用的纹理看起来质量很差且拉伸?_Opengl_Textures - Fatal编程技术网

为什么opengl对象上使用的纹理看起来质量很差且拉伸?

为什么opengl对象上使用的纹理看起来质量很差且拉伸?,opengl,textures,Opengl,Textures,这是我正在使用的 粘贴到opengl墙上时,纹理的分辨率低,质量差,如何改进 代码 从一个例子-它应该是什么样子 在我的实现中它看起来如何好的,发生的事情如下:球形映射基于顶点到视口向量和顶点处的法线生成纹理坐标,以将其映射到球形反射方向,映射到一种鱼眼图像中。因为你的几何体看起来很平坦,所以用这种方法生成的纹理坐标变化很小,这意味着你在很大程度上放大了你的图像。如果现在将纹理过滤模式设置为“最近的过滤”,则会发生这种情况 解决方案:不要使用球形纹理贴图。如果要模拟反射,请使用立方体贴图(对于

这是我正在使用的

粘贴到opengl墙上时,纹理的分辨率低,质量差,如何改进

代码

从一个例子-它应该是什么样子


在我的实现中它看起来如何

好的,发生的事情如下:球形映射基于顶点到视口向量和顶点处的法线生成纹理坐标,以将其映射到球形反射方向,映射到一种鱼眼图像中。因为你的几何体看起来很平坦,所以用这种方法生成的纹理坐标变化很小,这意味着你在很大程度上放大了你的图像。如果现在将纹理过滤模式设置为“最近的过滤”,则会发生这种情况


解决方案:不要使用球形纹理贴图。如果要模拟反射,请使用立方体贴图(对于反射向量中的小偏差,立方体贴图的表现要好得多),然后切换到线性过滤模式。

什么是。。。它们看起来很不一样……那个模型提供了uv坐标吗,以至于OpenGL甚至知道把纹理放在哪里?
ground->m_texture = new cTexture2D();
fileload = ground->m_texture->loadFromFile(RESOURCE_PATH("resources/images/shadow.bmp"));
ground->setUseTexture(true);
ground->m_texture->setSphericalMappingEnabled(true);//this line is for circular objects, but without it texture doesnt even show up