Pour ceux que ça intéresserait et qui ne passeraient pas par le topic Wii...
Un exemple de la façon dont fonctionne l'effet de passage 2D <-> 3D dans Paper Mario. Vous pouvez télécharger un programme de démonstration.
Vous aurez peut-être aussi besoin de la DLL de Cygwin (à installer dans le même répertoire).
En espérant que cela tourne sur votre ordinateur à vitesse acceptable (je ne contrôle pas la vitesse, c'eût été quelques lignes de plus). Les commandes :
'a' permet de passer de la 2D à la 3D
'z' permet de passer de la vue de face à la vue de côté et inversement
'e' fait les deux en même temps, ce qui est il me semble ce qui est fait dans Paper Mario
En général, non, car le Z-buffer est redimensionné en fonction des plans de clipping (et non pas depuis la disance à la caméra) : tu prends le plan avant, le plan arrière, et tu divises en 256 zones par exemple (pour un Z-buffer sur 8 bits). La conséquence, c'est que pour avoir un Z-buffer qui fonctionne bien, il faut que les plans de clippings soient très bien choisis : mets le plan arrière à des kilomètres, et le Z-buffer ne fonctionnera plus...
Dans l'exemple que que j'ai choisi, cependant, l'espace entre les deux plans croît de façon géométrique, et il y aura effectivement des problèmes. Non pas d' "explosion", mais d'imprécision si la scène devient plus compliquée. Cela dit, c'est simplement parce que j'ai été un peu vite. Il faudrait en effet écrire :
Code :
glFrustum(-6.0, 6.0, -4.5, 4.5, l+zmin, l+zmax);
avec zmin et zmax les dimensions (fixes) de la scène. La précision du Z-buffer sera alors (zmax-zmin)/2^n avec n dimension du Z-buffer, et ce de façon indépendante de la distance de vue. Je m'aperçois d'ailleurs que c'est ce que j'aurais du faire, c'eût été plus correct, d'autant que je connaissais les dimensions de la scène.
Bien vu, en tous cas, c'est une question à prendre en compte, mais ce n'est pas une limitation en pratique.
Heureux que ça ait pu en intéresser certains (ça m'amusait d'essayer, mais ça fait quand même plaisir)
C'est surtout l'installation qui peut poser problème, une fois j'ai enchaîné les bourdes et plus moyen de réinstaller cygwin et donc eclipse compilait plus avec GCC.
Mais à part ça, c'est plutôt pas mal et tout marche nickel. L'installation de la SDL pour mon serpent(faut bien commencer par quelque chose ) est très bien passée contrairement à Visual Studio 2005. (Je sais pas d'où vient le problème, j'ai pourtant suivi les divers conseils dispos sur le net)
Pour résumer, Eclipse c'est, comme tu dis, sympa car ça reste très simple à utiliser.(J'adore le debugger) Je l'ai pas encore testé pour du Java mais ça devrait pas tarder.(En théorie, ça devrait être encore mieux)
Mais à part ça, c'est plutôt pas mal et tout marche nickel. L'installation de la SDL pour mon serpent(faut bien commencer par quelque chose ) est très bien passée
L'installation de SDL s'est bien passée ? Avec Cygwin ?
T'as fait des offrande à un dieu de l'informatique, ce n'est pas possible ?
(j'aimerais bien savoir comment tu as fait, à chaque fois je merde comme pas possible parce que SDL et Cygwin sont en principe incompatibles. SDL réclame -mno-cygwin ou une compilation avec un autre compilateur que celui de cygwin, et je me paie toujours des tas de problèmes au link... Les gens de SDL ne veulent pas d'un support cygwin, et les gens de Cygwin ne veulent pas s'occuper du portage SDL sous Cygwin...
Pour résumer, Eclipse c'est, comme tu dis, sympa car ça reste très simple à utiliser.(J'adore le debugger) Je l'ai pas encore testé pour du Java mais ça devrait pas tarder.(En théorie, ça devrait être encore mieux)
Le problème, comme je disais, c'est que c'est lourd surtout si tu n'as pas la dernière bête de course (en particulier côté RAM). Du coup, je m'en suis débarassé...
Pas loin Je n'utilise pas d'IDE à proprement parler. Je suis sous SciTE (l'éditeur d'Anjuta) et éventuellement console, même si je fais beaucoup de choses directement sous Scite. Je gère les histoires de compilation et autres par Makefile, et pour le reste, avec un peu d'ordre et pas mal de macros utiles sous SciTE, je n'ai pas vraiment l'usage d'un IDE.
Je ne dis pas qu'un browser de classes ne peut pas être utile, mais dans l'ensemble, je n'en ai pas vraiment l'usage, alors je préfère quelque chose qui travaille plus vite que moi, et non quelque chose qui me ralentisse...
Oui j'ai réussi à la faire fonctionner par contre impossible de faire fonctionner les "extensions" du genre SDL_ttf.
C'est vrai qu'Eclipse est gourmand au niveau des performances. Tu sens bien un ralentissement au moment où le programme t'affiche les méthodes dispos pour un objet par exemple. (Après que t'ai fait le point dans une expression du genre objet.méthode() )
Je suis pas encore assez experimenté pour procéder comme toi. Je commence à faire des makefile mais ils sont fait pour des projets simples donc c'est pas trop compliqué.
En exclu totale, la manip qui fait fonctionner SDL sur Cygwin(Attention magie noire inside )
-Bon déjà télécharger le tar.gz de la dernière version de la SDL
Dans la ligne de commande de cygwin, j'ai tapé:
-cd /usr/src
-tar xvzf SDL-1.2.12.tar.gz
-./configure --prefix=/usr/local && make && make install
-Ajout dans la variable d'environnement PATH de ça:
"c:\cygwin\bin;c:\cygwin\usr\local\bin"(Sans les guillemets et en faisant gaffe aux points virgules, souvenir d'une installation ratée... )
Après il m'a suffit d'indiquer les bons répertoires dans les propriétés du projet dans Eclipse et c'était bon.
J'ai ajouté "C:\cygwin\usr\local\include" dans les répertoires du compilateurs, dans la section "Libraries -l" j'ai ajouté "SDL" et enfin dans le "Library search path (-L)" j'ai mis "C:\cygwin\usr\local\lib".
me semble qu'il y a un package SDL pour cygwin non ? j'ai cru le voir dans la liste à l'install .. M'enfin, à l'époque ou je devais essayer de tourner sdl avec cygwin, ca n'avait pas marché, et les Mailing-List parlaient de méthodes très compliquées pour le faire.
Sinon rien ne vaut un bon petit notepad++
Citation :
Je me demande comment ont fait les autres
je crois qu'il est facilement trouvable sur google, enfin perso j'ai cygwin installé (Bison + Flex inside )
Shadow2 : après, ça dépend de ce que tu en fais... De mémoire, ça fonctionne assez bien si tu n'utilises QUE SDL et surtout si l'éditeur s'amuse à mettre des -mno-cygwin (que sdl-config doit mettre tout seul d'ailleurs). Si tu as la ligne de commande qu'il utilise pour compiler, ça m'intéresse.
Le hic, c'est que -mno-cygwin, ben ce n'est pas compatible avec d'autres trucs...
J'ai réussi à le faire marcher à peu près, mais je pense qu'il y a encore des trucs qui clochent, et surtout je suis incapable de le refaire sans y passer deux jours... M'enfon mes codes SDL compilent, et sans mno-cygwin, c'est déjà ça.
me semble qu'il y a un package SDL pour cygwin non ? j'ai cru le voir dans la liste à l'install ..
C'est bien possible, mais ce n'est peut-être pas dans le repository officiel (le package existe, je l'ai), et surtout, ça peut être un package qui utilise le compilateur non-cygwin de cygwin (mingw)... lequel utilise ses propres includes (/usr/include/mingw) incompatibles avec les autres, et si une librairie a besoin des includes cygwin... Ouille
M'enfin, à l'époque ou je devais essayer de tourner sdl avec cygwin, ca n'avait pas marché, et les Mailing-List parlaient de méthodes très compliquées pour le faire.
SciTE et Notepad++, c'est chou vert et vert chou, Notepad++ utilise Scintilla, et SciTE est l'éditeur conçu pour démontrer les fonctionnalités de Scintilla. En pratique, Notepad++ est un peu plus complet et mieux fini de base, mais il est un poil plus lourd et surtout il n'est pas multiplate-forme. Donc je suis resté avec SciTE, et de toute façon avec les macros kivonbien la différence est minime.
Mais pour du Windows-only, c'est certainement un bon éditeur. Très bon même...
C'est sûr que j'ai pas eu le temps de faire grand chose, j'ai juste fait le jeu du serpent pour découvrir un peu le fonctionnement et j'ai donc pas exploité la bibliothèque à fond(du tout). (Juste l'affichage de rectangles et la boucle des évènements en fait)
Je suis pas encore assez experimenté pour procéder comme toi. Je commence à faire des makefile mais ils sont fait pour des projets simples donc c'est pas trop compliqué.
De toute facon... tot ou tard meme quand tu sais faire un beau Makefile compatible make, gmake et cie... tu finis par passer a automake ou cmake
De toute facon... tot ou tard meme quand tu sais faire un beau Makefile compatible make, gmake et cie... tu finis par passer a automake ou cmake
J'ai essayé de me faire à automake/autoconf, mais j'ai du mal...
Et puis j'ai rarement eu un projet où mon makefile standard ne fonctionnait pas, en fait. Par contre, je voudrais un peu travailler sur les dépendances automatiques, parce que j'ai des soucis encore (et un programme qui segfaulte parce que les structures ont été changées dans un .o et pas dans un autre, c'est parfois délicat à identifier)
C'est sûr que j'ai pas eu le temps de faire grand chose, j'ai juste fait le jeu du serpent pour découvrir un peu le fonctionnement et j'ai donc pas exploité la bibliothèque à fond(du tout). (Juste l'affichage de rectangles et la boucle des évènements en fait)
L'affichage des rectangles, ce n'est pas SDL ? Ou alors on a ajouté des trucs dedans...
Déjà que le putpixel n'était pas dedans à l'époque où j'ai commencé, ce qui est con... Par contre, le rectangle n'a pas de vraie raison d'y être, je pense, c'est plutôt du boulot pour SGE.
Si tu veux, j'ai un probleme de vtable qui fume sur fond d'heritage multiple et de templates (j'appelle une methode... quand je fais le pas a pas sur gdb... ca en appelle une autre )
J'ai essayé de me faire à automake/autoconf, mais j'ai du mal...
Et puis j'ai rarement eu un projet où mon makefile standard ne fonctionnait pas, en fait. Par contre, je voudrais un peu travailler sur les dépendances automatiques, parce que j'ai des soucis encore (et un programme qui segfaulte parce que les structures ont été changées dans un .o et pas dans un autre, c'est parfois délicat à identifier)
Je l'ai utilise sur deux projets de memoire. Un ou il etait impose (compilo tiger... le responsable du proj est un des mainteneurs d'automake) et un autre. Vu qu'en dessous c'est du shell c'est quand meme un beau bordel (fallait voir les .conf du projet du mainteneur... y'avait plus de sh que de macros dedans... on utilisait une version beta du lexeur flex qui avait pas de mk4... sans compter qu'il s'est debrouille pour melanger ca avec du python ). Depuis je suis passe a cmake... comme ca au moins ca passe aussi sous Windows sans cygwin. M'enfin ca doit pouvoir se bordelifier autant qu'automake surtout quand on joue avec les trucs dependants du compilo ou du systeme.
Mais je dois avouer que dans les deux cas... ca fait du bien niveau dependances
Message édité par Skyfighter le 18-09-2007 à 09:22:33
---------------
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d.
1f u c4n wr1t3 1t t00.
L'affichage des rectangles, ce n'est pas SDL ? Ou alors on a ajouté des trucs dedans...
Déjà que le putpixel n'était pas dedans à l'époque où j'ai commencé, ce qui est con... Par contre, le rectangle n'a pas de vraie raison d'y être, je pense, c'est plutôt du boulot pour SGE.
Euh ben je sais pas, peut-être que je me trompe mais alors le nom qui est utilisé est trompeur.
Par exemple, cette fonction affiche bien en blanc un MorceauCorps du serpent concerné qui est un rectangle, non? (Avec le SDL_FillRect)
Par exemple, cette fonction affiche bien en blanc un MorceauCorps du serpent concerné qui est un rectangle, non? (Avec le SDL_FillRect)
Ah, euh... oui, je n'avais pas pensé à ça
Disons que ce n'était pas fait pour dessiner un rectangle, à la base, mais plutôt pour effacer un bout de l'écran. Mais ça revient au même effectivement
Par contre y'a un truc qui me chiffone. Si j'ai bien compris, tu es du genre à aimer réinventer la roue en même temps que l'eau chaude alors comment ça se fait que tu connaisse une bibliothèque comme SGE qui te "mâche" quand même un peu le boulot.
Par contre y'a un truc qui me chiffone. Si j'ai bien compris, tu es du genre à aimer réinventer la roue en même temps que l'eau chaude alors comment ça se fait que tu connaisse une bibliothèque comme SGE qui te "mâche" quand même un peu le boulot.
Mon post n'a pas pour but de repondre pour Koren, mais la question souleve un probleme de methode general.
Le codeur etant un artiste ( ), nous allons donc prendre une metaphore a base de guitariste. Certains jeunes guitaristes te diront qu'ils ne veulent point apprendre les accords classiques mais simplement decouvrir des accords par l'experience. Le probleme etant que la demarche est paradoxale. Le guitariste ne peut savoir si son accord est une creation originale ou un accord classique puisqu'il ne connait pas les seconds. De fait il ne peut dire si il innove par rapport a ses peres
---------------
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d.
1f u c4n wr1t3 1t t00.
Mon post n'a pas pour but de repondre pour Koren, mais la question souleve un probleme de methode general. Le codeur etant un artiste ( ), nous allons donc prendre une metaphore a base de guitariste. Certains jeunes guitaristes te diront qu'ils ne veulent point apprendre les accords classiques mais simplement decouvrir des accords par l'experience. Le probleme etant que la demarche est paradoxale. Le guitariste ne peut savoir si son accord est une creation originale ou un accord classique puisqu'il ne connait pas les seconds. De fait il ne peut dire si il innove par rapport a ses peres
Belle réponse.
C'était juste histoire de taquiner un peu Koren.
Message édité par shadow2 le 19-09-2007 à 22:18:21
Par contre y'a un truc qui me chiffone. Si j'ai bien compris, tu es du genre à aimer réinventer la roue en même temps que l'eau chaude alors comment ça se fait que tu connaisse une bibliothèque comme SGE qui te "mâche" quand même un peu le boulot.
Ahem... Je *connais* SGE. Je ne l'ai jamais utilisée outre quelques tests au tout début, pour "voir"
Pour plusieurs raisons :
- parce que j'ai rarement besoin de primitives dans les programmes que je développe
- parce qu'effectivement, programmer un Bresenham m'amuse si j'en ai besoin (sans le top des performances)
- quand je veux vraiment faire de la géométrie, j'utilises OpenGL (plus complet et plus rapide)
- SDL est déjà une plaie à installer, pas envie de me faire ch*** avec SGE
Ca n'empêche pas que quand j'ai découvert SDL, j'ai fait le tour des librairies associées pour voir ce qui existait et pouvait être utile. En fait, de mémoire, SGE est même cité dans la FAQ de SDL (dans une question "comment tracer une ligne" ou quelque chose comme ça. Et si ton avis là-dessus n'est pas le même que le mien, c'est bon à connaître.
Ca n'empêche pas que quand j'ai découvert SDL, j'ai fait le tour des librairies associées pour voir ce qui existait et pouvait être utile. En fait, de mémoire, SGE est même cité dans la FAQ de SDL (dans une question "comment tracer une ligne" ou quelque chose comme ça. Et si ton avis là-dessus n'est pas le même que le mien, c'est bon à connaître.