Historique des modifications - Message

Message #2865

Sujet: implementateur d'objets 3d simple


Type Date Auteur Contenu
Création du message 20-08-2007 12:13:56 gp2mv3
c'est simple comme programme mais il utilise la bibliotheque windows donc je pense que ce n'est pas gagné mais bon voici la source :
main.c
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main(int argc, char *argv[])
{
  printf("Bienvenue dans l'utilitaire d'implantation des models 3D de RoM\
");
  
  char nom[20], chemin[200], sortie[30000], sortie0[300], sortie1[300], texture[200], sortie2[300], sortie3[300];
  char sortie4[300], Z[10], sortie5[300], sortie6[300], sortie7[300], sortie8[300], sortie10[300], scale[10], X[10], Y[10], sortie9[300];
  while(1)
  {
  printf("\
Veuillez entrer le nom du model : ");
  scanf("%s", nom);
  printf("Veuillez entrer le chemin du model 3D : ");
  scanf("%s", chemin);
  printf("Veuillez entrer le chemin de la texture : ");
  scanf("%s", texture);
  printf("Veuillez entrer la position X :");
  scanf("%s", X);
  printf("Veuillez entrer la position Y :");
  scanf("%s", Y);  
  printf("Veuillez entrer la position Z :");
  scanf("%s", Z);
  printf("Veuillez entrer la valeur du scale (1 par defaut):");
  scanf("%s", scale);
  
  printf("\
Voici le code a recopier :\
");
  
  sprintf(sortie0, "// %s\
",nom);
  sprintf(sortie1, "IAnimatedMesh* %s = smgr->getMesh(\\"%s\\");\
",nom, chemin);
  sprintf(sortie2, "IAnimatedMeshSceneNode* n%s = smgr->addAnimatedMeshSceneNode(%s);\
", nom, nom);
  sprintf(sortie3, "n%s->setPosition(core::vector3df(%s,%s,%s));\
", nom, X, Z, Y);   
  sprintf(sortie4, "n%s->setMaterialTexture( 0, driver->getTexture(\\"%s\\"));\
", nom, texture); 
  sprintf(sortie5, "n%s->setMaterialFlag(EMF_LIGHTING, true);\
", nom);
  sprintf(sortie6, "n%s->setScale(core::vector3df(%s,%s,%s));\
", nom, scale, scale, scale);
  sprintf(sortie7, "n%s->setRotation(core::vector3df(0,0,0));\
", nom);
  sprintf(sortie8, "scene::ITriangleSelector* %sselect = smgr->createOctTreeTriangleSelector(%s->getMesh(0),n%s, 32);\
", nom, nom, nom);
  sprintf(sortie9, "//smgr->addLightSceneNode (0, core::vector3df(%s,%s,%s), video::SColorf(0.5,0.5,0.35,0.5f), 50.0f);", X, Z, Y);
  sprintf(sortie10, "metaselect->addTriangleSelector(%sselect);", nom); 
  sprintf(sortie, "    %s    %s    %s    %s    %s    %s    %s    %s    %s    %s\
\
    //Le metaselecteur\
    %s\
\
", sortie0, sortie1, sortie2, sortie3, sortie4, sortie5, sortie6, sortie7, sortie8, sortie9, sortie10);        
  printf("%s\
", sortie);
  
  //Copie dans le press papier
  HANDLE hGlobal; 
  hGlobal = GlobalAlloc(GHND | GMEM_SHARE, sizeof(sortie)+1); 
  char *pointeur; 
  pointeur = (char *)GlobalLock(hGlobal); 
  strcpy(pointeur, sortie); 
  GlobalUnlock(hGlobal); 

  OpenClipboard(NULL); 
  EmptyClipboard(); 
  SetClipboardData(CF_TEXT, hGlobal); 
  CloseClipboard();
  
  printf("Code copie dans le presse papier !\
");
  printf("*********************************************************************\
\
");
  }
	
  return 0;
}

Bien amicalement.

Gp2mv3

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
565 invités en ligne
membre en ligne: -
RSS Feed