OpenGL et menu

mphmph Membre
12:47 modifié dans API UIKit #1
Bonjour a tous, je debute en programmation mac (cocoa, objective c, ...) et j'ai commencé un petit jeu sur l'iphone avec opengl.

Il fonctionne bien et maintenant j'aimerai rajouter des menus mais graphiquement proche de mon jeu.

Je pense que je dois utiliser interface builder pour construire les menus mais je ne sais pas si c'est compatible avec opengl.

Dois je afficher les menus puis une fois le jeu lancé, initialiser opengl pour le jeu et liberer opengl des que je rentre dans un menu ou est ce que je peux integrer les menus (basé sur des UIViews pour faciliter la recuperation des evenements) dans la surface opengl ?

Merci

Réponses

  • CéroceCéroce Membre, Modérateur
    12:47 modifié #2
    Je précise que je programme sur Mac, pas sur l'iPhone, mais j'ai une petite expérience avec OpenGL avec Cocoa.

    Je commence par une question: utilises-tu la glut pour avoir le plein écran et gérer les événements ? ça va beaucoup orienter la réponse.

    Cependant, glut ou pas, le rendu se fait dans une NSOpenGLView. Il me semble que quand tu n'est PAS en plein écran, tu peux placer des boutons par dessus (la carte graphique rend dans un tampon mémoire avant de rendre à  l'écran, mais attention, les performances deviennent médiocres), mais que quand tu passes en plein écran, la vue dessine par dessus (incrustation directe par la carte graphique).

    Maintenant, imaginons que tu veuilles changer le look des boutons, ce n'est pas forcément trivial à  faire avec Cocoa. Je ne suis pas sûr que tu t'y retrouverais au niveau temps de développement, comparé à  réécrire le code pour afficher les boutons avec OpenGL et gérer toi-même les clics. De plus, tu perds la portabilité de ton code.
  • mphmph Membre
    12:47 modifié #3
    Merci pour ta réponse, je n'utilise pas la glut mais les fonctions d'opengl pour l'initialisation, création de la surface principal qui prend tout l'écran et la libération des ressources, tout ca dans une classe derivée de NSView.

    Pour les evenements j'utilise les messages touchesBegin, moved, ... de la NSView.

    J'ai essayé d'utiliser des boutons dans cette vue ou des alertview et ca fonctionne niquel meme si dans la doc d'opengl pour iphone il est deconseillé d'utiliser des sous vue dans celle d'opengl.

    Je pense que je vais faire comme tu m'as dit, de réecrire le code pour creer et gerer des boutons dans une surface opengl meme si ca m'embete vu que cocoa propose plein de classes pour gerer ca.

    Merci
  • CéroceCéroce Membre, Modérateur
    12:47 modifié #4
    Fais comme tu veux, mais comme ton code n'est déjà  plus portable, utiliser les boutons standard est une solution rapide.
  • Eddy58Eddy58 Membre
    12:47 modifié #5
    En parlant de Glut, il n'y a pas (pour l'instant) de Glut ES sur iPhone OS, donc ça complique les choses.
Connectez-vous ou Inscrivez-vous pour répondre.