begin process at 2012 05 28 04:50:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

3Dexplorateur : Comment utiliser les .cpp OpenGL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

3Dexplorateur : Comment utiliser les .cpp OpenGL

lundi 19 avril 2004 à 12:21:57 | 3Dexplorateur : Comment utiliser les .cpp OpenGL

Amanobuo

Membre Club

Bonjours.

J'ai fait un cube 100cm avec 3D studio max 6 et j ai enregistre en .3ds

J ai ouvert ce .3ds avec 3D explorateur pour l' enregistre sous .cpp en opengl.

J ai enfin ouvert ce .cpp avec visual studio pour constater que le carre a bien ete traduit en openGL.

J ai essaye d'integre ce .cpp poiur afficher le carre dans une fenetre mais je n'y arrive pas. voici le code, qui dois-je metre dans draw ? ou bien comment l afficher depuis le .cpp principale en laissant ces code dans le fichier d origine ?

/*
This file was produced by 3D Exploration Plugin: CPP Export filter.

3D Exploration

Copyright (c) 1999-2000 X Dimension Software

WWW http://www.xdsoft.com/explorer/
eMail info@xdsoft.com
*/
#include <windows.h>
#include <GL\gl.h>
#include <GL\glu.h>


struct sample_MATERIAL{
GLfloat ambient[3];
GLfloat diffuse[3];
GLfloat specular[3];
GLfloat emission[3];
GLfloat alpha;
GLfloat phExp;
int texture;
};

static sample_MATERIAL materials [1] = {
{{0.117647f,0.117647f,0.117647f}, {0.776471f,0.878431f,0.341176f}, {0.752941f,0.752941f,0.752941f}, {0.0f,0.0f,0.0f}, 1.0f,8.0f,-1} //DefMat for Boîte01
};

// 8 Verticies
// 6 Texture Coordinates
// 6 Normals
// 12 Triangles

static BYTE face_indicies[12][9] = {
// Boîte01
{0,2,3 ,0,0,0 ,0,1,1 }, {3,1,0 ,0,0,0 ,1,0,0 }, {4,5,7 ,1,1,1 ,2,3,4 },
{7,6,4 ,1,1,1 ,4,5,2 }, {0,1,5 ,2,2,2 ,2,2,5 }, {5,4,0 ,2,2,2 ,5,5,2 },
{1,3,7 ,3,3,3 ,2,3,4 }, {7,5,1 ,3,3,3 ,4,5,2 }, {3,2,6 ,4,4,4 ,2,3,4 },
{6,7,3 ,4,4,4 ,4,5,2 }, {2,0,4 ,5,5,5 ,2,2,5 }, {4,6,2 ,5,5,5 ,5,5,2 }
};
static GLfloat vertices [8][3] = {
{-0.5f,-0.5f,-0.5f},{0.5f,-0.5f,-0.5f},{-0.5f,0.5f,-0.5f},
{0.5f,0.5f,-0.5f},{-0.5f,-0.5f,0.5f},{0.5f,-0.5f,0.5f},
{-0.5f,0.5f,0.5f},{0.5f,0.5f,0.5f}
};
static GLfloat normals [6][3] = {
{0.0f,0.0f,-1.0f},{0.0f,0.0f,1.0f},{0.0f,-1.0f,0.0f},
{1.0f,0.0f,0.0f},{0.0f,1.0f,0.0f},{-1.0f,0.0f,0.0f}
};
static GLfloat textures [6][2] = {
{0.0f,0.0f},{1.0f,0.0f},{0.0f,2.0f},
{1.0f,2.0f},{1.0f,1.0f},{0.0f,1.0f}
};
/*Material indicies*/
/*{material index,face count}*/
static int material_ref [1][2] = {
{0,12}
};
void MyMaterial(GLenum mode,GLfloat *f,GLfloat alpha)
{
GLfloat d[4];
d[0]=f[0];
d[1]=f[1];
d[2]=f[2];
d[3]=alpha;
glMaterialfv (GL_FRONT_AND_BACK,mode,d);
}
/*
* SelectMaterial uses OpenGL commands to define facet colors.
*
* Returns:
* Nothing
*/

void SelectMaterial(int i)
{
//
// Define the reflective properties of the 3D Object faces.
//
glEnd();
GLfloat alpha=materials[i].alpha;
MyMaterial (GL_AMBIENT, materials[i].ambient,alpha);
MyMaterial (GL_DIFFUSE, materials[i].diffuse,alpha);
MyMaterial (GL_SPECULAR, materials[i].specular,alpha);
MyMaterial (GL_EMISSION, materials[i].emission,alpha);
glMaterialf (GL_FRONT_AND_BACK,GL_SHININESS,materials[i].phExp);
glBegin(GL_TRIANGLES);

};

GLint Gen3DObjectList()
{
int i;
int j;

GLint lid=glGenLists(1);
int mcount=0;
int mindex=0;
glNewList(lid, GL_COMPILE);

glBegin (GL_TRIANGLES);
for(i=0;i<sizeof(face_indicies)/sizeof(face_indicies[0]);i++)
{
if(!mcount)
{
SelectMaterial(material_ref[mindex][0]);
mcount=material_ref[mindex][1];
mindex++;
}
mcount--;
for(j=0;j<3;j++)
{
int vi=face_indicies[i][j];
int ni=face_indicies[i][j+3];//Normal index
int ti=face_indicies[i][j+6];//Texture index
glNormal3f (normals[ni][0],normals[ni][1],normals[ni][2]);
glTexCoord2f(textures[ti][0],textures[ti][1]);
glVertex3f (vertices[vi][0],vertices[vi][1],vertices[vi][2]);
}
}
glEnd ();

glEndList();
return lid;
};
lundi 19 avril 2004 à 13:38:06 | Re : 3Dexplorateur : Comment utiliser les .cpp OpenGL

boulfrite



Heuuu...
En fait tu n'arrive pas a compiler, on rien ne s'affiche ?
Parce que si rien ne s'affiche, c'est peut etre que les parametres de ton viewport (matrices et visee) ne sont pas corrects ?
Sinon, ta fonction GLint Gen3DObjectList() te renvoie l'id d'une liste d'affichage.
Tu as donc simplement a lancer cette fonction une fois dans ton programme, recuperer le GLint qu'elle te donne, et dans la fonction Draw() de ta scene, a demander l'affichage de cette liste avec un glCallList ayant en parametre ledit GLint.

Je ne sais pas si je suis tres clair, j'en suis dsl...
lundi 19 avril 2004 à 20:06:10 | Re : 3Dexplorateur : Comment utiliser les .cpp OpenGL

djl


pourquoi tu te fait chier? regarde bien dans les options 3dexplorer te propose aussi de generer le main de test
mardi 20 avril 2004 à 20:10:50 | Re : 3Dexplorateur : Comment utiliser les .cpp OpenGL

Amanobuo

Membre Club

comment tu fais, je n'ai pas vu comment dans tools/option...
j ai la version 1.833 non enregistre...
mardi 20 avril 2004 à 20:45:18 | Re : 3Dexplorateur : Comment utiliser les .cpp OpenGL

djl


t'aurai un link ou le d/l ?

g le retrouve plus
jeudi 22 avril 2004 à 17:25:33 | Re : 3Dexplorateur : Comment utiliser les .cpp OpenGL

Amanobuo

Membre Club

con bon j ai trouve comment faire (en fait j avais pas la bonne version), grace a la version 2 il y a une liste deroulante juste apres save as/cpp (choisir Sample app et generate project dans export type)

merci quand meme pour l astuce, je t'appelle si je bloque dans les projets cree, j ai pas encore ouvert a plus
jeudi 22 avril 2004 à 17:26:42 | Re : 3Dexplorateur : Comment utiliser les .cpp OpenGL

Amanobuo

Membre Club

C'EST bon, pas con, on peut pas editer ces message :?
mardi 27 juin 2006 à 15:23:33 | Re : 3Dexplorateur : Comment utiliser les .cpp OpenGL

jerome86600

ou trouver ce 3D Explorateur s'il vous plait. impossible avec google


Cette discussion est classée dans : int, gl, 0f, glfloat, 5f


Répondre à ce message

Sujets en rapport avec ce message

Eclairage en OpenGL ? IMPORTANT ! [ par bubbless ] Bonjour à tous ! Je réalise actuellement un programme avec une interface en OpenGL, et, j'ai un problème ! Je voudrais mettre des images en fond d'écr Fond d'écran en OpenGl (entre autres...) [ par bubbless ] Bonjour à tous ! Je réalise actuellement un programme avec une interface en OpenGL, et, j'ai un problème ! Je voudrais mettre des images en fond d'écr les sous fenetres en glut n'en font qu'a leurs tetes [ par whikie ] Bonjour,je voudrais comprendre le placement des glutSubWindow.Voici les infos que j'ai :glutCreateSubWindow La fonction glutCreateSubWindow crée une wxGLCanvas --> dessiner un point !!!!!! [ par satellite34 ] salut,ca va peut etre paraitre ridicule mais ca fait maintenant 3 longues heures que j'essaie de dessiner un point aux coordonnées (x, y) avec openGL, GL_POINTS--> au bord du suicide [ par satellite34 ] bon voila, je reposte car je pense avoir ciblé le probleme, et c'est du coté d'openGL qui a un truc qui m'echappe et non du wxGLCanvas;En fait j'arriv PB POUR LA GESTION MULTIFENETRES [ par algeros ] Voici un code ://////////////////////////////////////////////////////////////////                                                          //   Name: pikcing opengl [ par znb ] J 'ai fait un code et ça marche très bien; il détecte les couleurs des objets. Mais je veux que, pour une valeur particulière de la couleur, dessiner gestion de la lumiere en openGL [ par malbackt ] Bonsoir à tous;J'ai un tout petit code en opengl et je voudrais bien comprendre la gestion de la lumière:GLfloat LightAmbient[]=  { 0.5f, 0.5f, 0.5f, transparence en OpenGl [ par F0ra ] Bonjour, J'ai un problème en OpenGl Je voudrais rendre uniquement la couleur rose<


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,030 sec (3)

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