IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

COCOA : Création d'une fenêtre avec contexte OpenGL


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut COCOA : Création d'une fenêtre avec contexte OpenGL
    Salut,

    Qu'est ce qu'il manque dans le code suivant pour avoir une fenêtre cocoa avec contexte OpenGL ? Ce code je l'ai trouvé sur internet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #import <Cocoa/Cocoa.h>
    #import  <OpenGL/OpenGL.h>
    #include <OpenGL/gl.h>
    #include <OpenGL/glu.h>
    #include <OpenGL/glext.h>
     
    @interface MyView : NSOpenGLView 
    {
     
    }
    @end
    @implementation MyView
    - (id)initWithFrame:(NSRect)frame
    {
    	const NSOpenGLPixelFormatAttribute attrs[] = { 0 };
    	return [super initWithFrame:frame pixelFormat:[[NSOpenGLPixelFormat alloc] initWithAttributes:attrs]];
    }
    - (void)drawRect:(NSRect)rect 
    {
    	// your OpenGL commands here
    }
    @end
     
    MyView *createWindow(float x, float y, float width, float height) 
    {
    	NSWindow *w = [[NSWindow alloc] initWithContentRect:NSMakeRect(x,y,width,height)
    											  styleMask:NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask|NSResizableWindowMask
    												backing:NSBackingStoreRetained
    												  defer:NO];
    	MyView *view = [[MyView alloc] initWithFrame:[w frame]];
    	[w makeKeyAndOrderFront:nil];
    	return view;
    }
     
    int main( int argc, char **argv)
    {
    	createWindow(30,40,300,400);
    }
    Si par chance, une personne ayant expérimenté avec cocoa et objective-c pourrait me dire comment faire pour ne pas avoir à utiliser obj-c à part pour initialiser la fenêtre. L'affichage opengl je voudrait le faire en pur C++ plus bas dans une boucle.

    Un grand merci

  2. #2
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Bonjour,

    c'est pour application Mac OS x ou iOS? Si c'est pour l'iOS il y a dans XCode un template pour une "OpenGL ES Application".

    Si c'est pour Mac OS là directement je ne trouve pas de template mais peut-être qu'en regardant celui pour l'iOS tu trouveras des idées.

    Sinon pourquoi ne pas utiliser Objective-C? J'ai dû recoder mon moteur de OpenGL en C++ à OpenGL ES en Objective-C alors que je n'avais jamais touché à un Mac de ma vie avant.

    C'est un coup à prendre mais c'est pas très compliqué et au final ca vaut le coup!

  3. #3
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    Bonjour et merci pour la réponse,

    Je vais effectivement partir d'un template d'exemple. Je fais les deux, iOs et Mac, débutant dans le monde macintonsh...

    Sinon quant à la question d'Obj-C au lieu de C++ : je quitterai pas mon C++

    Merci

  4. #4
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Bonjour,
    On peut mixer de l'objective C et du pur C++, il n'y a pas de problème.
    Le meilleur étant de gérer tout l'Objective C dans certains fichiers et de créer des classes C++ appellés directement depuis Objective C.
    D'ailleur il vaut mieux mixer de l'objective C++ et du C++.
    (Il suffit de renommer les fichier .m en fichier .mm (ou de le spécifier dans les propriétés du fichier))

Discussions similaires

  1. [Généralités] Création d'une fenêtre popup avec la Flat API
    Par Patrice Terrier dans le forum WinDev
    Réponses: 8
    Dernier message: 26/05/2014, 09h34
  2. Réponses: 11
    Dernier message: 05/08/2011, 11h41
  3. Problème de création d'une fenêtre avec du texte
    Par lucciana dans le forum Débuter
    Réponses: 4
    Dernier message: 08/06/2011, 15h27
  4. Réponses: 0
    Dernier message: 04/09/2008, 19h43
  5. Response.Redirect avec Création d'une fentre
    Par jerome.fortias dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/09/2007, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo