Si le paramètre data de la fonction n’est pas un buffer object, alors glTextSubImage2D doit bloquer pendant que le pilote OpenGL copie les données dans la mémoire du GPU (à la manière d’un memcpy). C'est nécessaire car OpenGL n’a aucun moyen de vous forcer à conserver les données en mémoire en attendant que la fonction se termine.
Les buffer objects permettent un transfert asynchrone (à la discrétion du pilote), car le pilote peut les conserver jusqu’à ce que les données soient transférés.
J’espère que vous avez passé de bonnes fêtes! Bonne année à tous! (Oui, je sais, ce n'est pas encore passé mais il est 2h du matin et on est le 31 donc vu qu'a priori aujourd'hui tout le monde va préparer sa soirée, personne ne verra ce billet avant 2012... A part, peut être, les GoogleBots... )
Avant de continuer, je vous prévient de suite, c'est un billet complètement osef.
J'avais juste envie de vous faire partager ce que j'ai reçu pour Noël!
Ici, vous allez écrire l'architecture global de votre programme, qui concerne surtout le système de fenêtrage.
Prenez le temps de configurer votre environnement de développement, il ne faut pas que la compilation soit une procédure rébarbative, vous allez le faire un grand nombre de fois...
Ce n'est pas la partie la plus intéressante mais rassurez vous, ce tutorial est assez court et vous aurez bien assez le temps de vous casser les dents sur les suivants!
Aujourd'hui je vous propose une traduction d'un article très intéressant écrit par Joe Groff sur l'utilisation d'OpenGL de manière "moderne": An intro to modern OpenGL. Comme vous le savez peut être, depuis OpenGL 3.1, beaucoup de fonctions ont été supprimé de l'API. La façon de coder n'est, ducoup, plus la même et tout les tutos que l'on peut trouver sur internet deviennent obsolètes... Celui ci est un des rares premier tuto "OpenGL 3 Compliant" d'internet . Il explique et applique très bien la nouvelles approche. Je m'arrête là, tout est dit dans ce qui suit... Bonne lecture!
Hahaaa! Ayé, je suis un vrai développeur! (ironie inside ) En effet, je viens de me faire accepter mon second patch pour le projet mupen64plus. Pour ceux qui ne connaissent pas, c'est un émulateur de Nintendo 64 (console sur laquelle j'ai passé mes plus belles années de jeux vidéo ) qui est, depuis peu, multiplateforme.
This post is a english translation of this post. I'd wrote it after post this on CGTalk. Great thanks to Daisy C. Lyle. She translate all the french version to english and make a great work! She save me hours doing this! . Hope that this tutorial will be usefull.
Comme je vous le disais, je commence à utiliser le binding Python de l'API Maya. J'ai donc regardé les codes sources de Rob Bateman (que je trouvais incompréhensibles il y a un an) et les ai "traduit" (non sans mal) en Python... J'ai donc créé un petit script avec un locator personnalisé. Ce n'est clairement pas le plus simple pour commencer (J'avais quand mêmes des bases grâce à d'autres tutos, aux "plugins" Python déjà intégré à Maya et a des tutos OpenGL que j'avais fait) mais une fois le code fonctionnel, c'est assez drôle de le modifier pour fabriquer son propre locator...