glEnable(GL_CULL_FACE | GL_DEPTH_TEST);出现纹理重叠现象

网友投稿 238 2022-09-23

glEnable(GL_CULL_FACE | GL_DEPTH_TEST);出现纹理重叠现象

openGL系列文章目录

文章目录

​​openGL系列文章目录​​​​前言​​​​一、问题​​​​二、问题解决​​​​主要代码​​​​源码下载​​

前言

今天遇到一个奇怪的问题,绘制圆环体。在给圆环体问题贴图的时候感觉总有问题,纹理有重叠。

如果代码是:

glEnable(GL_CULL_FACE | GL_DEPTH_TEST);

一、问题

可以看到左边的圆环纹理有扭曲

二、问题解决

glEnable(GL_CULL_FACE | GL_DEPTH_TEST);

改成

glEnable(GL_CULL_FACE);glEnable(GL_DEPTH_TEST);

主要代码

#include "glew/glew.h"#include "glfw/glfw3.h"#include "glm/glm.hpp"#include "glm/gtc/matrix_transform.hpp"#include "glm/gtc/type_ptr.hpp"#include "Utils.h"#include "Torus.h"#include "SOIL2/SOIL2.h"#include "camera.h"#include #include #include using namespace std;static const float pai = 3.1415926f;float toRadins(float degress){ return (degress * 2.f * 3.14159f / 360.f);}static const int numVAOs = 1;static const int numVBOs = 4;float cameraX = 0.f, cameraY = 0.f, cameraZ = 0.f;float torusLocX = 0.f, torusLocY = 0.f, torusLocZ = 0.f;GLuint renderingProgram = 0;GLuint vao[numVAOs] = { 0 };GLuint vbo[numVBOs] = { 0 };static const int screen_width = 1920;static const int screen_height = 1080;GLuint torusTextureId = 0;float rotAmt = 0.f; //Y轴旋转量GLuint mvLoc = 0;GLuint projLoc = 0;int width, height;float aspect = 0.f;glm::mat4 mMat(1.f), vMat(1.f), pMat(1.f), mvMat(1.f);Torus myTorus(0.5f, 0.2f, 48);Camera camera(glm::vec3(0.f, 0.f, 5.f));float deltaTime = 0.f;float lastFrame = 0.f;GLboolean keys[1024] = { GL_FALSE };GLboolean firstMouse = GL_TRUE;float lastLocX = 0.f;float lastLocY = 0.f;void processKeyInput(GLFWwindow* window);void setupVertices(void){ vector ind = myTorus.getIndices(); //获取顶点索引 vector vert = myTorus.getVertices(); //得到每个顶点,其中任一个顶点都包含(x, y, z) vector tex = myTorus.getTexCoords(); vector norm = myTorus.getNormals(); vector sTang = myTorus.getStangents(); vector tTang = myTorus.getTtangents(); vector pValues; //顶点位置 vector tValues; //纹理坐标 vector nValues; //法线坐标 for (int i=0; i

源码下载

​​源码下载地址​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:openGL中关于顶点的法线、切线、副切线
下一篇:SocialMarketing:金融界最会玩的品牌,京东金融双11又发新片了!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~