Bonjour
Je suis actuellement en train d'essayer de faire une sorte de kaléidoscope 3D, dans lequel, je souhaite créer une sorte de possibilité de dessiné, j'avais eu un problème avec les FBO, résolu depuis (je suis un peut noob), et ayant fait quelques recherche sur la chose, j'ai trouvé ^^
La c'est un autre problème qui se dessine: je cherche a créer des classes qui s'activent en fonction d'un evenement (genre une touche pressée, ou autre), et cette classe s'activant, on pourrait par exemple, dessiner avec des vecteurs ('ai utiliser l'exemple cameraRibbon pour faire un essai), sauf que j'ai l'impression de mal m'y prendre... Vus que ça ne marche pas, j'ai fais plusieurs essais genre avec Keypressed qui lançait la classe de dessin dans 3Dobject... Mais ça marche pô...
... Je vous joint mon code, et continu mes recherches, vos messages m'ont toujours beaucoup aidé, j'espère que vous avez une solution, car je voudrais créer une infinité de manière de dessiner dans ce kaléidoscope.
Je vous mes le fichier du code en pièce jointe
Merci a vous tous quelque soit votre réponse
Dernière modification par Malleat (2013-03-27 18:58:14)
Hors ligne
la pièce jointe n'est pas passé
Hors ligne
Voilaaaa !
Je continus diverse solutions... Mais je pense que je me plante.
Hors ligne
Salut,
c'est un peu compliqué d'expliquer ça comme ça mais...
Le plus simple est de rester dans ton appli principale pour gérer les évenements( elle est censée tout bien recevoir..)
De ton testapp, tu peux appeler des fonctions issus de classes que tu as généré. Seulement, tes classes n'ont pas d'héritage, donc tu risque pas de recevoir les évents comme ça parce que tu as recopié le nom de la fonction dans un autre fichier...
lquand tu crée tes fonctions, tu lui assigne des paramètres que tu dois gérer dans l'appel de celle ci;
Je m'explique: dans ton testApp tu as mouseMoved(int x, int y ); tu utilise ces param pour appeler une autre fonction, comme monObjet.draw(x,y)...
Sinon il y as quelques tutos, je pense que tu devrais commencer par ça, sinon tu risques de tatoner longtemps avant de trouver les solutions... (site du zéro, site d'of...)
Allez, bon courage!
Hors ligne
J'avais lus de long en large "programming interactivity, mais je n'avais pas trouvé, merci en tout cas, je vais continuer dans ce sens.
Dsl pour tout ces messages mais mes demandes sont souvent assez spécifique et je ne trouve pas forcément d'aide autour de moi "^^
Merci encore!
Hors ligne
J'ai donc modifier mon code de base et ai essayé de regroupé la vue principale en un seul FBO afin de mieux gérer tout cela, sauf que je pense qu'il n'aime pas beaucoup quand on balance un fbo dans un autre fbo....
Je vous envois le truc et je continus de chercher... et je viens de m'appercevoir que un pointeur sur int ecran serait le bienvenus... >.<"
Hors ligne
ton int, pas besoin de pointeur, juste de le déclarer dans ton testApp.h et de l'initialiser dans le setup.
Pour ce qui est des fbon ,en gros, c'est une capture d'écran, donc faut faire attention à l'ordre de tes captures sinon ça risque de faire la gueule.
Après le code me parrait un peu farfelu, tu peux montrer le .h?
Hors ligne
Yep, je vous le mes de suite, avec un schéma (je pense que ça aidera) pour comprendre mon idée
Le schéma (les FBO1 et 3 corresponde aux faces droite et gauche de la 3D):
Et le code (j'ai d'ores et dejà intégré le int écran):
#pragma once #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void drawFbo(); void drawFbo1(); // draws some test graphics into the two fbos void drawFbo2(); void drawFbo3(); void keyPressed (int key); void keyReleased(int key); void mouseMoved(int x, int y ); void mouseDragged(int x, int y, int button); void mousePressed(int x, int y, int button); void mouseReleased(int x, int y, int button); void windowResized(int w, int h); void dragEvent(ofDragInfo dragInfo); void gotMessage(ofMessage msg); ofFbo fbo; ofFbo fbo1; ofFbo fbo2; ofFbo fbo3; int fadeAmnt; int testbox = 200; int ecran = (ofGetWidth()/2); };
Dernière modification par Malleat (2013-03-29 15:47:41)
Hors ligne
J'étais en train d'essayer différentes solutions, et ça mène toujours au même point: je galère!
Finalement, je crois que je vais potasser les notions d'héritage, je suis a la première partie sur le site du zéro: ça semble assez simple, faut juste pas trop s'arracher les cheveux en fait...
Dernière modification par Malleat (2013-03-29 16:45:21)
Hors ligne
Ha oui question: peut on hériter de la classe "testApp" histoire de récupérer les keypressed etc... ?
Parce que dans ce cas la, ça va être un peut chaud...
Hors ligne
oui ca ne me semble pas problematique.
testApp hérite déja de BaseApp
class testApp : public ofBaseApp{...}
Dernière modification par Marty (2013-03-30 10:27:02)
Hors ligne
ok, donc si je veux permettre des actions clavier, je peux tout aussi bien faire hériter ma classe de ofBaseApp, ce sera d'autant plus simple.
Hors ligne
Salut salut!
En fait, j'ai juste modifier le code, plus simple, plus rapide et lisible
Maintenant, le problème, c'est plus... Les affichages: j'ai afficher des FBO mais en fait, je ne les ai pas lier a des mesh.
C'est moi ou la fonction "bind()" ne marche pas avec les FBO????
Je vous sort le nouveau code (j'étais en train de faire des cameras avec des coordonnées de changer les vues des fbo 1 et 2):
le .h
#pragma once #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void customDraw3d(); void drawMainFbo(); void drawFbo1(); void drawFbo2(); void keyPressed (int key); void keyReleased(int key); void mouseMoved(int x, int y ); void mouseDragged(int x, int y, int button); void mousePressed(int x, int y, int button); void mouseReleased(int x, int y, int button); void windowResized(int w, int h); void dragEvent(ofDragInfo dragInfo); void gotMessage(ofMessage msg); int ecran = (ofGetWidth()/2); ofFbo Mainfbo; ofFbo fbo1; ofFbo fbo2; int MX = false; ofCamera cam; //this holds all of our points vector<ofVec3f> points; //this keeps track of the center of all the points ofVec3f center; ofMesh MainMesh; ofMesh mesh1; ofMesh mesh2; };
le .cpp
Dernière modification par Malleat (2013-04-03 16:09:40)
Hors ligne
Je viens de modifier le code en haut, je n'arrive pas a afficher sur les mesh... C'est bizarre... >.<
Dernière modification par Malleat (2013-04-03 16:31:37)
Hors ligne
re, tu as regardé dans gl fboTrailsExample?Je pense que ça pourra t'aider...
Hors ligne