我正在關注YouTube上的一個教程,但問題是本教程的製作人員正在使用SDL 1.2和Im,使用2.00,所以我不得不根據SDL遷移指南稍微更改代碼。然而,我的代碼並沒有按照它應該繪製三角形的方式去做。就那麼簡單。我得到的只是一個白色屏幕。SDL OpenGL問題
======主============
#include "stdafx.h"
void init()
{
glClearColor(0.0, 0.0, 0.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45, 640.0/480.0, 1.0, 500.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex3f(0.0, 2.0, -5.0);
glVertex3f(-2.0, -2.0, -5.0);
glVertex3f(2.0, -2.0, -5.0);
glEnd();
}
int main(int argc, char* argv[]){
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window * window;
window = SDL_CreateWindow("OpenGLTest", 300, 300, 640, 480, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL);
init();
SDL_Event * mainEvent;
mainEvent = new SDL_Event;
while (true){
SDL_PollEvent(mainEvent);
display();
SDL_GL_SwapWindow(window);
if (mainEvent->type == SDL_QUIT){
break;
}
}
return 0;
}
===== stdafx =========
#pragma once
#include <iostream>
#include <SDL.h>
#include <Windows.h>
#include <gl/GL.h>
#include <gl/GLU.h>
#define PI 3.14159265
using namespace std;
任何想法我做錯了什麼?
嘗試設置與glColor3f或glColor4f –
但不應該畫一個白色三角形在黑色背景的顏色?由於背景用黑色清除,默認的繪製顏色是白色的? – user3161752
我試過了。它沒有工作 – user3161752