Das einfachste, minimalistische OpenGL 3.2-Kakaoprojekt

8

Ich habe die Legacy-openGL mit Kakao seit Jahren verwendet, aber ich habe jetzt Schwierigkeiten, den Übergang zu openGL 3.2 zu machen. Es gibt einige Beispiele im Internet, aber sie sind alle zu komplex (und viele kompilieren nicht mehr unter XCode 5.1). Könnte jemand ein Beispiel für den einfachsten minimalistischen Kakaocode schreiben, nur um ein Lese-Dreieck in eine NSOpenGLView zu zeichnen? (keine ausgefallenen Shader, keine DisplayCallbacks, je weniger Codezeilen, desto besser).

    
roberto 15.03.2014, 18:12
quelle

2 Antworten

6

Ссылка

In xcode 6.3.2 wurde das Beispiel nach dem Ersetzen von

ausgeführt

(id)initWithFrame:(NSRect)frame
mit
(void)awakeFromNib

und Ersetzen von

self = [super initWithFrame:frame pixelFormat:pixelFormat];
mit
super.pixelFormat=pixelFormat;

und Löschen von
return self;

oder im Detail geschrieben:

%Vor%     
nik 06.06.2015 23:43
quelle
5

Hier ist eine Antwort basierend auf dem Code in Ссылка Ich habe diese Dinge geändert: (1) Der openGL-Kontext wird in einer benutzerdefinierten NSOpenGLView erstellt und nicht direkt an das Fenster angehängt. (2) I die ganze Initialisierung in einer einzigen Funktion. (3) Ich habe den gesamten Fehlerprüfcode gelöscht. Dies ist nichts, was Sie für ein Produkt tun sollten, aber ich finde es einfacher, den Code mit weniger Unordnung zu verstehen ... (schauen Sie sich das Cocoa-GL-Tutorial für die richtige Fehlerbehandlung an).

Die Schritte (getestet mit Xcode 5.1):

  1. Machen Sie eine neue Kakaoanwendung
  2. Fügen Sie dem App-Fenster im Interface Builder eine benutzerdefinierte Ansicht hinzu
  3. Fügen Sie eine Objective-C-Klasse hinzu, die NSOpenGLView unterklassifiziert, ich habe sie MyOpenGLView
  4. genannt
  5. Wählen Sie im Schnittstellen-Generator CustomView aus, wählen Sie den Identity Inspector (eines der Symbole oben rechts) und in der benutzerdefinierten Klasse MyOpenGLView
  6. aus
  7. Nun, das ist der Code für MyOpenGLView.h :
%Vor%

Und das ist der Code für MyOpenGLView.m :

%Vor%     
roberto 19.03.2014 10:33
quelle

Tags und Links