Hi an alle,
habe mich nun entschieden auf OpenGL(+SDL) umzusteigen.
Mein erstes Programm hat aber bisher einen Fehler : Wenn ich die Render-Funktion in der (fast)Endlosschleife lasse,
bekomme ich beim Programmende immer eine Fehlermeldung von Windows ("koonnko.exe hat ein Problem festgestellt und muss beendet werden.").
Wenn ich sie allerdings davor stelle (->nur einmal zeichen), funtioniert alles ohne Probleme.
Hier der Quellcode:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
// koonnko.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include "SDL.h"
#include "SDL_opengl.h"
void Init_OpenGL()
{
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1);
glClearColor(0.0f,0.0f,0.0f,0.0f);
glShadeModel(GL_SMOOTH);
}
void Render();
int main(int argc, char *argv[])
{
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO);
Uint8 * m_pKeystate;
float fx_plus=0.0f,fy_plus=0.0f;
m_pKeystate=SDL_GetKeyState(NULL);
SDL_SetVideoMode(1024,768,16,SDL_OPENGL);
SDL_WM_SetCaption("Erste OpenGL-Anwendung","...und es geht doch!");
Init_OpenGL();
while(1==1)
{
Render();
SDL_PumpEvents();
if(m_pKeystate[SDLK_SPACE]==true)
{SDL_Quit();}
}
return 0;
}
void Render()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f(0.0f,0.5f,0.0f);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-0.5f,-0.5f,0.0f);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(0.5f,0.5f,0.0f);
glEnd();
SDL_GL_SwapBuffers();
}
|
Würde mich sehr über Hilfe freuen, danke schonmal !