begin process at 2012 02 10 11:07:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > 3DCONTROLS - INTERFACE UTILISATEUR 3D, GUI 3D, FRAMEWORK 3D

3DCONTROLS - INTERFACE UTILISATEUR 3D, GUI 3D, FRAMEWORK 3D


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Initié Date de création :29/03/2004 Date de mise à jour :14/12/2004 11:38:01 Vu / téléchargé :12 243 / 453

Auteur : basted

Ecrire un message privé
Site perso
Commentaire sur cette source (23)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Version BETA (v0.7) de mon interface utilisateur 3D. (/OpenGL)

Un descriptif plus complet ce trouver sur mon site:
http://3DControls.free.fr

Elle a pour vocation de placer le GUI 2D classique comme un cas particulier de 3DControls.

Cela redefinis les concepts d'une interface homme/machine, vu que cela est plus naturel qu'un desktop 2D classique.

J'espere que vous aurez de idée a me proposé, sujestion, si pas aventure, d'autre developpeur veullent ce joindre a moi je serais ravie !! ;-)

PS.: Le source etant trop gros a present, le ZIP a just les EXE et data.
Pour le source complet telecharger sur:
http://sourceforge.net/project/showfiles.php? group_id=104100&package_id=112599

Source

  • //Pour avoir une idée de type d'utilisation des controls voici un petit example:
  • // la variable "engine" est la varaible global du moteur de rendu (cf doc)
  • class Application : public CtrlWindow // l'application est une fenetre
  • {
  • // control boutton
  • CtrlButton btnOk;
  • // control zone de text
  • CtrlText txtInfo;
  • Application ()
  • {
  • // bind de l'evenement sur click du boutton
  • btnOk.onButton.click.connect(this,OnClose);
  • btnOk="Ok";
  • txtInfo="Parle toujours beau merle !!\nNon mais !!";
  • // placement
  • client.Bind(face_front,&btnOk);
  • client.Bind(face_front,&txtInfo);
  • // positionement en X au centre de sont conteneur et de 50 pixel
  • btnOk.XDockCenter(50);
  • // positionnement en Y a partir du bas a 2 pixel sur 25 pixel de haut
  • btnOk.YDockBottom(2,25);
  • // positionnement dans les X a 2 pixel de la a gauche et 2 pixel de la droite
  • txtInfo.XDockCenter(2,2);
  • // positionement par rapport au haut a 2 pixel sur 50 pixel de haut
  • txtInfo.YDockTop(2,50);
  • }
  • // sur appuis du boutton lancement de cette methode
  • int OnClose()
  • {
  • //fin du moteur 3D
  • engine.Stop();
  • //l'evenement est herité si =1
  • return 1;
  • }
  • };
//Pour avoir une idée de type d'utilisation des controls voici un petit example:
// la variable "engine" est la varaible global du moteur de rendu (cf doc)

class Application : public CtrlWindow // l'application est une fenetre
{
   // control boutton
   CtrlButton btnOk; 
   // control zone de text
   CtrlText txtInfo; 

  Application ()
  {
      // bind de l'evenement sur click du boutton
      btnOk.onButton.click.connect(this,OnClose); 
      btnOk="Ok";
      txtInfo="Parle toujours beau merle !!\nNon mais !!";

      // placement
      client.Bind(face_front,&btnOk);
      client.Bind(face_front,&txtInfo);
    // positionement en X au centre de sont conteneur et de 50 pixel
     btnOk.XDockCenter(50); 
     // positionnement en Y a partir du bas a 2 pixel sur 25 pixel de haut
     btnOk.YDockBottom(2,25); 

     // positionnement dans les X a 2 pixel de la a gauche et 2 pixel de la droite
     txtInfo.XDockCenter(2,2); 
     // positionement par rapport au haut a 2 pixel sur 50 pixel de haut
     txtInfo.YDockTop(2,50); 
  }

   // sur appuis du boutton lancement de cette methode
   int OnClose() 
   {
       //fin du moteur 3D
       engine.Stop(); 
       //l'evenement est herité si =1
       return 1; 
   }
};

 Conclusion

Pour plus d'information, voir sur mon site:
http://3DControls.free.fr

Cette source est sous licnece GNU, elle ne peut donc etre utiisé a des fin commercials.

Compilable pour VS.6 & VS .NET

Le source etant netement trop grand, vous pouvez tout telecharger a partir:
http://3DControls.free.fr/download.shtml
o u sur
http://sourceforge.net/project/showfiles.php?g roup_id=104100&package_id=112599

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

20 août 2004 23:54:07 :
v0.7 disponible Ajout: * nouveau controls: - TreeView - TreeDirectory - Slider - Tip - TrackButton rotation,resize,translate d'un conteneur * dans class Texture: utilisation de la lib "freeimage" pour chargement * class interface ResizeAndRotateControl * gestion du Background a l'interieur d'une sphere texturé * class Cursor + gestion de hotSpot * dans class Face, childRecorder affichage un objet 3D quelquonque * dans class Control: - Methode GetCorners et GetLocalPos - {X,Y}Dock{Left,Right,Top,Bottom} remplace les LayoutToTopCenter2 etc ... - ajout de la gestion des parent - Event "click" * class MasterContainer ,gestion des element en "premier plan" * dans class ControlEngine: - ajout stack pour la hierarchie des controls en cours - gestion de la qualité d'anti-aliasing et application * dans class Screen, reecritrure complet du systeme de fenetrage * dans class Material, ajout de methode As(materialType) ex.:mat_cuivre * dans class Title et Univers racoursis clavier * dans class Button ajout mode pushLike et allButton * class Text3D (encienement AlignText3D) - ajout des mode de wrapping (ligne,mots,letter) - ajout de la gestion des maximult de justification en X et Y * class Effect et EffectApparition: transition des controls * Debugeur: - gestion de fonte - mode face ou control * class PerfMon pour enregistrer un fichier des prerformances * principe: le plein ecrant du title place l'element dans le MasterContainer * dans class Timer peur utiliser une reference ex.:GetDeltaTime(FALSE,referenceTime) Modification / Correction Bug * dans Title, le caption est dans un Tip * resolution du pb pour utiliser les fonttexture dans la FTGL * resolution du probleme du fullScreen * pour de comodité d'ecriture - Text3D ==> BasicText3D - AlignText3D ==> Text3D * dans Control, les detections OnOver son deplace dans le picking * dans debuger: - on peut a present selectionner les conteneur de boite - ajout de scale dans les faces * remise en adequation des numero de face * class Timer, Macros BindTimer(timer,methode,frec) * class MyList: - remaniment de GetNewElem en AddNewFirst, AddNewLast, AddNewCurrent - class MyListIterator pour utilisation imbriqué - class MyListItem pour gestion des items - gestion des numCurrent (optimisation) - ajout de Move{First,Last,After,Before} * supression de 90% des warning a la compilation * changement du system de message par la lib sigslot (crossplatformme)
23 octobre 2004 10:59:24 :
MAJ de l'example
14 décembre 2004 11:38:01 :
Le projet est trop gros ==> MAJ de la source (html de redirect sur le site de download du site officiel)

 Sources du même auteur

Source avec Zip Source avec une capture MYGLSAVER - SCREEN SAVER 3D TRANSFORMANT LE BUREAU OU DES IM...
Source avec Zip Source avec une capture DLLDEPENDANCY - AFFICHE A CHAQUE DLL LA LIST DE PROCESS L'UT...
Source avec Zip Source avec une capture MYDEBUGSERVER - SIMPLE PETITE FENETRE DE MUTLI-DEBUGAGE
Source avec Zip Source avec une capture FREEZSAVER - SCREEN SAVER QUI "GELE" L'ECRANT
Source avec Zip Source avec une capture SHORTCUTKEY - PROG QUI FAIT UN HOOK DU CLAVIER POUR AUTOMATI...

 Sources de la même categorie

Source avec Zip APPLICATION DE DESSIN DE QUELQUES FIGURES par laguchori
Source avec Zip Source avec une capture HDR EXPOSURE FUSION par mecrosoft
Source avec Zip Source avec une capture IRC CLIENT MULTISERVEUR EN MFC (TXIRC) par TeniX
Source avec Zip ENTETE DU FICHIER BMP (BIPMAP) par k.Lutchi
Source avec Zip Source avec une capture XCOUPE : COUPE 2D par pop70

Commentaires et avis

Commentaire de MoDDiB le 29/03/2004 19:37:03

C'est sympa mais je ne crois pas que coté utilité ca soit réellement plus naturel...

Commentaire de basted le 29/03/2004 20:16:57

Disons que c'est une version franchement BETA !!

Question utilisation je partage ton septisisme, mais dans ce genre de truc, je crois que l'experimentation est la meilleur chose pour voir.

De plus je n'est pas fait le 1/20 du projet que j'ai projeté de faire, donc faudra voir un peut plus tard ! Mias bon c'est original ;-)

Commentaire de MoDDiB le 30/03/2004 07:14:48

Ok ben je te mets un ptit 9 et je te souhaite bonne chance :)

Commentaire de Funto66 le 01/04/2004 21:18:06

Ca a l'air sympa mais ça peut pas marcher chez moi, il me manque des extensions OpenGL :(
Tu utilises quoi comme extension particulière là-dedans?
Au fait, chapeau, 645 Ko de sources O_o Le projet doit commencer à être un peu vieux là ;)

Commentaire de basted le 02/04/2004 00:06:04

Et oui ca fait 7 mois que bosse la dessus, ca me bote grave comme projet.

Ceci dis on peut retirer 286 Ko de glext.h que j'ai pas ecrit.

Concernant les extenssion utilisé, j'en utilise qu'une, pour l'anti-aliasing. La fonction InitMultisample  utilise WGL_ARB_multisample, mais elle detect avans si c'est supporté par ta carte, sinon ca plante pas le prog. Donc pas de pb a ce niveau.

J'imagine que ton driver OpenGL ne dois pas etre a jour, je ne peut que te conseiller de le telecharger.

Commentaire de basted le 08/04/2004 12:10:11

v0.6a disponible

Ajout d'une petite application "calculator"

Commentaire de Lightness1024! le 09/04/2004 21:49:12

putain trop classe, si tu arrives a faire qqch de fonctionnel faudra ke je te parle pour que je m'en serve pour ma GUI de mon jeu

(serhum.fr.st)

t'inkete ta le temps parce ke je suis TRES LOIN d'en etre a la GUI :)

Commentaire de basted le 12/04/2004 23:26:29

Ok pas de pb ;-)

En fait 3D Control semble etre mieux adapté au jeux video dans un premier temp: les joueurs sont moin rebuté par la nouveauté.

En tout cas pour ton projet ca me botte vraiment !


Commentaire de Lightness1024! le 13/04/2004 00:18:28

pas moyen de t'envoyer un message:
Erreur du serveur dans l'application '/'.

IIS c vraiment de la saloperie...


bon, c t juste pour savoir comment je pourrais te contacter dans 1 an quand faudra ke je GUIse tout ca :)

en fait meme peut etre avant histoire d'avoir qqch de présentable au lieu de ma fenetre windows toute kk

Commentaire de basted le 13/04/2004 09:00:48

Si ta access a une messagerie quelconque, mon eMail: sebastien.bloc@free.fr (tu poura toujours utilisé du hotmail en extreme urgence ;-) , haaa IIS quant tu nous tien)

Commentaire de basted le 25/04/2004 14:29:39

v0.6b disponible

Ajout:
* class Text3D Utilisation FTGL pour la gestion de text: http://homepages.paradise.net.nz/henryj/code/index.html#FTGL
Basée sur la freetype: http://www.freetype.org/index2.html
* class Texture ajout de Methode Begin(), End() , SetPixel, GetPixel
Modification
* le zBuffer est passé a 24 bits, c'est netement mieux (evite les escaliser sur carte ATI)
* Par defaut dx=500 et dy=400, inertia desactivé (trop mal regler pour le moment)
* Les Button utilise la class Text3D

Bugs:
#2, Le blending d'une face fait une trainé horible sur sont contenant
#0, Bouton droit => tres net augmenation de CPU
#0, l'affichage du CPU ajout 40%CPU pourkoi ? piste: Text3D avec fonte Pixmap lente ?
#?, texture fontTexture bug pkoi ?

Commentaire de Funto66 le 27/04/2004 21:39:49

Merci pour m'avoir fait découvrir FTGL :)

Commentaire de fredcl le 14/12/2004 14:35:21

Bonjour,

c'est rigolo comme interface, pas obligatoirement pratique, mais c'est vrai que pour des jeu c'est trés trés fun.

Un petit détail, tu dis : "Cette source est sous licnece GNU, elle ne peut donc etre utiisé a des fin commercials."

si c'est la GPL que tu utilise ce que tu dis est entièreent faux. ON peut parfaitement commercialisé un logiciel sous GPL il faut juste que les sources soient disponible. L'exemple typique les distributions Linux, elle sont presque toutes vendues pourtant la majeures parties des logiciels de ses distributions sont sous GPL.

Voilà pour mes deux centimes ;-)

Bonne continuation

FredCL

Commentaire de basted le 14/12/2004 14:41:25

Merci de ton intervention, je suis pas forcement a jour au niveau licence (mais va faloire mi metre), et puis pour le moment disons que je pense pas que microsoft va me copier le code en l'etat !

En effet je crois que la GPL me donne just la paternité (c'est deja ca, et encors pas difficil de passer outre) mais c'est vrai que l'utilsation commercial d'un produit gratuit me gene.

Je suis ouvert a toute info sur le sujet. Tu connais une licence gratuite qui me protege des utilisations commercial ? (pas sur que ca existe)

Commentaire de fredcl le 14/12/2004 17:01:08

A part une licence que tu définirais spécifiquement pour interdire l'usage commercial de ton oeuvre, mais je suppose que n'est pas juriste donc bien difficile pour toi d'établir ce type de document (t'inquiéte pas moi non plus j'en suis pas capable )
La GPL est un choix qui est plutôt bien dans le sens ou même si qq peut vendre ton oeuvre de toute façon s'il la modifie il doit founir les source car la version modifiée doit impérativement être sous GPL aussi (c'est bien pour celà que Microsoft détéste la GPL) Donc en fait se qui est vendu n'est pas vraiment le produit mais plutôt par exemple le binaire (l'utilisateur n'à pas a faire la compilation lui même), la boite, le manuel utilisateur sur papier, la hotline etc...
Si tu fait le rapprochement avec un distribution GNU/Linux c'est exactement ça. Si tu veux pas payer la boite ben tu te tapes plusieurs heures de download, tu te grave tes petits CD (si les iso sont fourni ce qui n'est pas le cas de toutes les distribs) puis tu lis le manuel sur ton écran (si il est founi ce qui n'est pas toujours le cas)
Il faudrait que tu vois du coté des licence Creative Commons. Certe elles ne sont pas faite au départ pour du soft mais bon un logiciel c'est du code et du code c'est du texte donc je pense que ce type de licence peut tout a fait être valable. Voici un lien pour y voir un peu plus clair car ce type de licence est adaptable à ce que veut l'auteur.
http://www.framasoft.net/article2185.html

A+

FredCL

Commentaire de Mattpbem le 13/12/2005 13:56:56

c'est interessant mais je pense qu'il faut mieux exploiter ca parce que retourner une fenêtre en 2D pour voir la tranche ou l'arriére n'a aucun intêret ^^, le principe de la boite retractable est original ^^

Commentaire de Mattpbem le 13/12/2005 13:57:08

c'est interessant mais je pense qu'il faut mieux exploiter ca parce que retourner une fenêtre en 2D pour voir la tranche ou l'arriére n'a aucun intêret ^^, le principe de la boite retractable est original ^^

Commentaire de basted le 13/12/2005 14:30:00

En effet, le system est prevu pour que chaque face d'un objet 3D puissend avoir un nouveau context (qui lui meme peut etre une context etc ...) Pour le moment c'est mal exploité mais ca va venir (il faut que je me degage pas mal de temps pour finir la version sur l'aquel je bosse)

Je dois avouer que l'arrivé d'avalon/winFx(MS) et looking glass(sun) m'a pas mal decouragé a poursuivre ce code, mais je vais tout de meme le finir et on vera bien.

Merci pour le petit mots.

Commentaire de rivsc le 26/01/2007 18:51:16

Salut

Moi je trouve ca super, j'ai pas regardé le code mais bon.
Par contre ton programme gere ses propres fenetres de cette facon !?
Les autres programmes peuvent-ils etre affiché de cette maniere ?
(puisque que tu a mis pour la derniere capture tout en bas sur ton site que c'était une texture et non pas une fenetre)

En tout tu te débrouilles super bien !

Commentaire de basted le 27/01/2007 04:46:40

Merci pour le petit mots.

Oui le porgramme gere ces propre fenetre, il a son API pour ca, mais ne permet de simlement prendre ne applicarion Win32 et de la pluger dedans, il faudra reprogrammer l'applis pour qu'elle utilise mon API. En fait il n'y a pas trop d'autre solution car le concept en 3D et ergonomie n'est pas identique a Win32 et 2D.

PS.: La derniere capture en bas de mon site etait sur la premiere version, apres cela etait geré normalement

Commentaire de aerith le 13/08/2007 14:49:12

Coucou,
Tu travail toujour dessus ?
Les liens sont morts...

Commentaire de basted le 24/08/2007 17:15:50

Oui, je vais m y consacré a plein temps a partir de la semaine prochaine.
J'ouvrirais un nouveau site, car tout ca est bien vieux a present.

Commentaire de basted le 02/04/2010 20:04:48

J'ai crée ma boite sur la suite de ce projet
vous pourrez en savoir plus sur
http://www.modddjo.com

Ca a légèrement changé ...

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,669 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales