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).
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%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):
MyOpenGLView.h
: Und das ist der Code für MyOpenGLView.m
: