Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Volker_Neff

Treue Seele

  • »Volker_Neff« ist der Autor dieses Themas

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

21

22.05.2013, 21:40

Wie baue ich den die Zeilen Code um das ich auf GLEW verzichten kann, ich habe dazu nicht wirklich etwas gefunden.


Hier der Ausgangs Code:

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
GLenum error = glewInit(); // Enable GLEW  
    if (error != GLEW_OK) // If GLEW fails  
    {
        return false;  
    }

    int attributes[] = {  
    0x2091, 3, // Set the MAJOR version of OpenGL to 3  
    0x2092, 2, // Set the MINOR version of OpenGL to 2  
    0x2094, 0x0002, // Set our OpenGL context to be forward compatible  
    0  
    };  

    if (glewIsSupported("WGL_ARB_create_context") == 1) // If the OpenGL 3.x context creation extension is available 
    { 
    hrc = wglCreateContextAttribsARB(hdc, NULL, attributes); // Create and OpenGL 3.x context based on the given attributes  
    wglMakeCurrent(NULL, NULL); // Remove the temporary context from being active  
    wglDeleteContext(tempOpenGLContext); // Delete the temporary OpenGL 2.1 context  
    wglMakeCurrent(hdc, hrc); // Make our OpenGL 3.0 context current  
    }  
    else {  
    hrc = tempOpenGLContext; // If we didn't have support for OpenGL 3.x and up, use the OpenGL 2.1 context  
    } 

        int glVersion[2] = {-1, -1}; // Set some default values for the version  
    glGetIntegerv(GL_MAJOR_VERSION, &glVersion[0]); // Get back the OpenGL MAJOR version we are using  
    glGetIntegerv(GL_MINOR_VERSION, &glVersion[1]); // Get back the OpenGL MAJOR version we are using

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

22

22.05.2013, 21:44

Und, da bin ich mir jetzt aber nicht sicher, warum OpenGL.h? Ich denke mal das ist die OpenGL implementierung von Windoof.

Windoof? Wie kindisch. Und nein, das ist kein Header von Microsoft. Der findet sich unter anderem auf OpenGL.org.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Tobiking

1x Rätselkönig

  • Private Nachricht senden

23

22.05.2013, 23:43

Wie baue ich den die Zeilen Code um das ich auf GLEW verzichten kann, ich habe dazu nicht wirklich etwas gefunden.

Das Tutorial unter https://sites.google.com/site/opengltuto…2---tutorial-01 zeigt in Step 4 wie das ginge. Ist aber von abzuraten, da es schon eine ganze Reihe an Funktionen sind die man insgesamt benötigt. Und der dort gezeigte Code ist ohne die Überprüfung ob die gewünschten Funktionen auch unterstützt werden.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

24

23.05.2013, 15:52

Zitat

Windoof? Wie kindisch.

Ja so bin ich :love:

Volker_Neff

Treue Seele

  • »Volker_Neff« ist der Autor dieses Themas

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

25

25.05.2013, 21:26

Ich habe jetzt lange herumprobiert und getestet, doch so richtig bin ich nicht zufrieden. Giebt es ein gutes Tutorial für OpenGl >3.0 am besten mit OOP Prinzip, was ich als Anfänger auch verstehe? Am Besten ohne Glut ich würde gerne wissen was passiert.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

Volker_Neff

Treue Seele

  • »Volker_Neff« ist der Autor dieses Themas

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

27

26.05.2013, 18:09

Danke für deine Antwort, die verwenden aber alle Glut gibt es auch welche ohne?

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

28

26.05.2013, 19:14

Im Prinzip ist das egal, das ändert ja nichts an den Funktionen.
Du kannst ja auch gl3w oder sonst einen Wrapper nehmen, oder eben deinen eigenen.

Volker_Neff

Treue Seele

  • »Volker_Neff« ist der Autor dieses Themas

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

29

30.05.2013, 15:40

Ich habe mich jetzt hingesetzt und eine Anwendung geschrieben, es sah auch so aus als ob sie funktioniren würde aber dann habe ich diesen Fehler bekommen:

Quellcode

1
2
Game.h(18): error C2143: Syntaxfehler: Es fehlt ';' vor '*'
Game.h(18): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.


Die Klasse siht so aus:

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
#include "player.h"
#include "openglclass.h"
#include "graphicsclass.h"
#include "inputclass.h"

class Game:
    OpenGLClass
{
public:
    Game(void);
    ~Game(void);
    void GameMain ();
    LRESULT CALLBACK MessageHandler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam);

private:
    Player* Playertest;
    GraphicsClass* Grafik;
    InputClass* Input;

private:
    LPCWSTR m_applicationName;
    HINSTANCE m_hinstance;
    HWND m_hwnd;

private:
    bool Frame ();
    bool InitializeWindows(int& screenWidth, int& screenHeight);
};

static Game* ApplicationHandle = 0;
static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);


Warum erkennt er das nicht als Zeiger?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

30

31.05.2013, 02:03

Ich tippe mal auf den Standardfehler: Header inkludieren sich gegenseitig...

Werbeanzeige