Modéliser des objets pour OpenGL

wiskywisky Membre
12:07 modifié dans API AppKit #1
Bonjour à  tous,

Je m'intéresse en ce moment à  openGL. Je cherche à  faire des objets qui seront rendu par openGL. Mais je ne sais pas comment les modéliser. Mis à  part les tests continues pour modéliser au fur et à  mesure.

C'est parfois des simples rectangles ayant une texture ou des boutons habillé par une image etc...
Je cherche aussi à  afficher comme un plateau tv genre question pour un champion.
Par dessus, il y aura des éléments graphiques avec du texte, ou des images.

Je souhaite utiliser openGL pour avoir accès à  la carte graphique et surtout améliorer les effets graphiques. Pour le moment j'utilise deux transitions gérées par quartz au niveau des vues. Mais dès que l'ordi est un peux occupé ça rame et on voie plus l'effet.

Mais j'aimerais arriver à  faire un effet d'écriture du texte et des effets sur l'arriver et sortie de certain objet (menu, boutons etc...).
Je suis novice dans ce domaine donc toute aide est la bienvenue !

Réponses

  • DrakenDraken Membre
    mars 2011 modifié #2
    J'ai appris pas mal de choses en lisant "OpenGL 1.2 - Guide Officiel", mais il est assez ancien. Je te conseille d'acheter la version la plus récente, "OpenGL 2.0 - Guide Officiel". Il est assez cher, mais on le trouve d'occasion dans les 20 euros dans les bibliothèques spécialisées comme Gibert Jeune.

    Attention, la non compatibilité OpenGL 1.xx peut poser des problèmes pour la distribution d'applications, comme beaucoup de personnes s'en sont aperçus de l'ouverture du Mac AppStore. Angry Birds Mac, conçu pour OpenGL 2.0, plantait sur les Mac un peu anciens dotés de cartes vidéo OpenGL 1.x, le mien par exemple !  :(.

    Une MAJ corrective est sortie en moins d'une semaine, mais les premières pages de commentaires sont emplis de messages "J'ai dépensé 4 euros pour ce jeu qui plante sans cesse sur ma machine !".

  • wiskywisky Membre
    12:07 modifié #3
    Ha ok ! Merci pour l'info ;)

    Ce que je cherche est assez banal pour un début. C'est faire arriver des boutons et autre textes avec un effet sur le fond. J'ai vue qu'il était possible de faire ce genre d'effet avec Core Animation.

    Mais là  aussi quid de la compatibilité ?
  • DrakenDraken Membre
    mars 2011 modifié #4
    Ce que tu veux faire ne pose pas de problème en OpenGL 1.x. Par contre, il faut renoncer aux facilités de CoreAnimation, et calculer manuellement la trajectoire des objets.

    Pas moyen de dire à  OpenGL : "déplace cette image de la position P1 à  la position P2 en 2.5 secondes, en allant de l'angle a1 à  a2, et de la transparence t1 à  t2".

    Tu peux juste dire "affiche à  l'instant n, la texture T à  la position (x,y), avec un angle de rotation Alpha, une déformation sur l'axe z de tant et une transparence de x%". A toi de faire tous les calculs intermédiaires pour avoir un joli affichage.

  • DrakenDraken Membre
    12:07 modifié #5
    Bonne nouvelle, avec Lion on pourra mélanger la souplesse de Core Animation et la puissance d'OpenGL.  <3 <br />
    http://www.macgeneration.com/news/voir/194612/scene-kit-une-nouvelle-api-3d-dans-lion

    J'espère que ce sera aussi dans iOS 5.0 ou une mise à  jour d'iOS 4.x.

  • wiskywisky Membre
    12:07 modifié #6
    Ha ok, bon je vais me pencher plus précisément sur Core Animation.

    J'ai déja fait quelques tests et il arrive parfois que ça plante sans trop savoir pourquoi. Mais bon je développe sur un mac mini ! Donc très limité côté carte graphique mais au moins j'en met pas trop ;)
  • DrakenDraken Membre
    12:07 modifié #7
    Un Mac Mini est largement suffisant, du moins pour Xcode 3. Ma machine de développement est un Mac Mini de 2007 avec seulement 1 Go de RAM.

  • NseaProtectorNseaProtector Membre
    12:07 modifié #8
    Un livre en beta sur la programmation 3D de nos bebettes:
    http://iphone-3d-programming.labs.oreilly.com/
  • wiskywisky Membre
    12:07 modifié #9
    Le problème c'est que lorsque je développe j'ai toujours 5 ou 6 app ouvertes (Xcode, IB, Terminal, Activity Monitor, Firefox, et d'autre outils...). Et même avec 2Go de RAM et un Mac Mini de 2009 ça à  du mal et même beaucoup de mal. Je tourne en moyenne avec 6 à  7 Go de swap !!!

    @NseaProtector : Merci pour le lien ! Dans mon cas c'est pas une app iPhone mais Mac.

    C'est fou ! Maintenant, dès que l'on parle 3d, animation ou autre tout le monde crois que c'est pour iOS. Il n'y a pas que ça les gars ;)
  • DrakenDraken Membre
    avril 2011 modifié #10
    dans 1302546903:

    Un livre en beta sur la programmation 3D de nos bebettes:
    http://iphone-3d-programming.labs.oreilly.com/


    Pas si bêta que ça.. Il est en vente sur l'AppStore français (en version anglaise) pour 5,49 €.

    http://itunes.apple.com/fr/app/iphone-3d-programming/id371697737?mt=8

    Merci pour le lien. Je vais probablement l'acheter, même si je ne fais pas de 3D. Pour moi OpenGL c'est plutôt un moyen de faire de la 2D optimisée.

  • CéroceCéroce Membre, Modérateur
    12:07 modifié #11
    Pour ce que tu veux faire, utilise Core Animation. C'est très performant (ça utilise OpenGL sous le capot) et plus facile à  mettre en oe“uvre avec Cocoa.

    Par exemple, pour ton jeu de questions-réponses, si tu voulais le faire avec OpenGL, tu serais obligé de recréer toute la gestion des clics sur les boutons. C'est un gros travail inutile.
  • wiskywisky Membre
    12:07 modifié #12
    Merci, c'est exactement ce que je fait.

    Par contre, je galère un peu pour les filtres et autre modifications de comportement. Par exemple j'aimerais enchainer deux translations à  la suite mais je ne vois pas comment le faire.
Connectez-vous ou Inscrivez-vous pour répondre.