小编wup*_*367的帖子

启用 DEPTH_TEST 时 OpenGL 屏幕闪烁

我的 OpenGL 应用程序出现问题。当我没有启用 DEPTH_TEST 时,它绘制得很好(除了错误的绘制顺序),但如果我启用它,一切都会开始闪烁。OpenGL 不会给出任何错误。我也没有忘记glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);。我对导致我的问题的原因一无所知。任何帮助,将不胜感激。

闪烁的矩形

主程序

#include <iostream>

#include <SDL2\SDL.h>
#include <GL\glew.h>

#include <glm\glm.hpp>
#include <glm\gtc\matrix_transform.hpp>

#include <fstream>
#include <string>

#include "vertexdata.h"

#define WIDTH 800
#define HEIGHT 600

std::string filetobuf(const char*);

int main(int, char**) {

    // Init the window with an OpenGL context
    SDL_Window *window;
    SDL_Init(SDL_INIT_EVERYTHING);
    window = SDL_CreateWindow("SDL window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WIDTH, HEIGHT, SDL_WINDOW_OPENGL);
    SDL_GLContext context = SDL_GL_CreateContext(window);
    glewInit();

    // Create the shaders
    std::string vertexsourceString = filetobuf("tutorial2.vert");
    std::string fragmentsourceString = filetobuf("tutorial2.frag");
    const char* vertexsource …
Run Code Online (Sandbox Code Playgroud)

c++ opengl sdl-2

2
推荐指数
1
解决办法
1120
查看次数

标签 统计

c++ ×1

opengl ×1

sdl-2 ×1