Hallo, ich versuche OpenGL zu lernen. Ich bin mir nicht sicher, aber entweder tu ich "immer" etwas falsch oder das was ich benutze tut es nicht richtig. Ich verfolge auch ein Tutorial aber erziele nicht die selben Ergebnisse. Auch wenn ich angefangen habe sie abzuschreiben.
Ich benutze OpenGL GLFW version
http://www.glfw.org/
Das hier z.B. funktioniert bei mir:
|
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
|
#include <GL/glfw.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
int main( void )
{
int running = GL_TRUE;
// Initialise GLFW
if( !glfwInit() )
{
printf("glfw Treiber konnte nicht gestartet werden");
return 0;
}
if(!glfwOpenWindow(1440,900,0,0,0,0,32,0,GLFW_WINDOW)) {
printf("glsw Window konnte nicht gestartet werden.");
glfwTerminate();
return 0;
}
glfwSetWindowTitle( "Windowtest" );
// Main loop
float i = 0.f;
while( running )
{
int width = 1440;
int height = 900;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex3f(i,0.0f,0.0f);
glEnd();
if( glfwGetKey( GLFW_KEY_LCTRL )) {
i -= 0.01f; // Um punkt zu verschieben
std::cout << i << std::endl;
}
glfwSwapBuffers();
running = !glfwGetKey( GLFW_KEY_ESC ) &&
glfwGetWindowParam( GLFW_OPENED );
}
// Close window and terminate GLFW
glfwTerminate();
// Exit program
return 0;
}
|
Ich seh ein Punkt und kann es mit linke STRG-Taste nach links bewegen.
Nun versuchte ich ein viereck nur als linien zu zeichnen..
das wäre so
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
glBegin(GL_LINE_LOOP);
glVertex3f(-1.f, 1.0f, 0.0f);
glVertex3f(-1.f, -1.0f, 0.0f);
glVertex3f( 1.f, -1.0f, 0.0f);
glVertex3f( 1.f, 1.0f, 0.0f);
glEnd();
|
Das funktioniert nicht. auch wenn ich mit glTranslatef den Z achse auf -5 oder +5 stelle. Ich versteh das nicht. Laut Tutorial soll das gehen.
Was ist da falsch?