Accueil > Forum > > > > A laide eclairage et texturing opengl !!Problemes!!
A laide eclairage et texturing opengl !!Problemes!!
mercredi 31 août 2005 à 02:17:56 |
A laide eclairage et texturing opengl !!Problemes!!

zerailkiller
|
Bonjour a tous, voila je suis en train de developper un petit doom like (je suis debutant sous opengl) .Jai fais un cube map et lorsque j applique ma texture sur le sol, plus moyen d avoir d éclairage,jai vraiment besoin d aide MERCI d avance voici mon code
|
|
mercredi 31 août 2005 à 02:19:15 |
Re : A laide eclairage et texturing opengl !!Problemes!!

zerailkiller
|
#include <gl/glut.h> #include "loadppm.c"
char texFileName[] = "sol.ppm"; PPMImage *image;
GLfloat minX=0.0,maxX=1.0;
void Reshape (int w, int h) { glMatrixMode( GL_PROJECTION ); //on veut définir la projection glLoadIdentity(); glFrustum( -1., 1., -1., 1., 1.5, 300); gluLookAt(0,0,10,0,0,0,0,1,1); glMatrixMode( GL_MODELVIEW ); //retour modélisation - visualisation glViewport( 0, 0, 640 , 480 ); }
void InitGL() { image = LoadPPM(texFileName);
glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS);
/* glPixelStorei(GL_UNPACK_ALIGNMENT, 1); glTexImage2D(GL_TEXTURE_2D, 1, 3, image->sizeX, image->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, image->data); */ gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->sizeX, image->sizeY,GL_RGB, GL_UNSIGNED_BYTE, image->data); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); glEnable(GL_TEXTURE_2D); //glEnable(GL_FOG); GLfloat color[4] = {0.1,0.01,0.01,0.01}; GLfloat lightpos[4] = { 20,20,20,0}; GLfloat amb[4] = {0,0,0,1}; GLfloat dif[4] = {1,1,1,1}; GLfloat spec[4] = {1,1,1,1};
GLfloat matamb[4] = {0,0,0,1}; GLfloat matdif[4] = {1,1,1,1}; GLfloat matspec[4] = {1,1,1,1}; GLfloat emiss[4] = {0.3,0.1,0.1,1}; glFogf(GL_FOG_START,200); glFogfv(GL_FOG_COLOR,color); glFogf(GL_FOG_END,600); glFogf (GL_FOG_DENSITY, .03); glHint (GL_FOG_HINT, GL_DONT_CARE); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0,GL_POSITION,lightpos); glLightfv(GL_LIGHT0,GL_AMBIENT,amb); glLightfv(GL_LIGHT0,GL_DIFFUSE,dif); glLightfv(GL_LIGHT0,GL_SPECULAR,spec);
glMaterialfv(GL_FRONT,GL_AMBIENT,matamb); glMaterialfv(GL_FRONT,GL_DIFFUSE,matdif); glMaterialfv(GL_FRONT,GL_SPECULAR,matspec); glMaterialfv(GL_FRONT,GL_EMISSION,emiss); glMaterialf(GL_FRONT,GL_SHININESS,100); glShadeModel(GL_SMOOTH); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); }
|
|
mercredi 31 août 2005 à 02:20:19 |
Re : A laide eclairage et texturing opengl !!Problemes!!

zerailkiller
|
void Draw() {
glClearColor(0,0.3,0.9,0);
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); //Efface le framebuffer et le depthbuffer
glLoadIdentity(); glColor3f(0.0,0.5,0.5);//arme railgun(); if (tir>0) { glPushMatrix();
glBegin(GL_LINES); glColor3f(1,0.0,0.1); glVertex3i(8,-3,0); glVertex3i(1,-3,-3000); glEnd(); glBegin(GL_LINES); glColor3f(1,0.1,0.1); glVertex3i(9,-3,0); glVertex3i(2,-3,-3000); glEnd(); glBegin(GL_LINES); glColor3f(1,0.1,0.1); glVertex3i(8,-4,0); glVertex3i(1,-4,-3000); glEnd(); glBegin(GL_LINES); glColor3f(1,0.1,0.1); glVertex3i(9,-4,0); glVertex3i(1,-4,-3000); glEnd(); glPopMatrix(); tir+=-0.1; } glRotatef(camanglex,1,0,0); glRotatef(camangley,0,1,0); glTranslatef(coordx,coordy-25,coordz);//camera
/* monde tout mettre ici */ glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(-100,0 , -100); glTexCoord2f(5, 0); glVertex3f(-100,0 , 100); glTexCoord2f(5, 5); glVertex3f(100, 0, 100); glTexCoord2f(0, 5); glVertex3f(100, 0, -100);
glEnd(); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(-100,50 , -100); glTexCoord2f(5, 0); glVertex3f(-100,50 , 100); glTexCoord2f(5, 5); glVertex3f(100, 50, 100); glTexCoord2f(0, 5); glVertex3f(100, 50, -100);
glEnd();
glPushMatrix(); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(-100,50 , -100); glTexCoord2f(1, 0); glVertex3f(-100,0 , -100); glTexCoord2f(1, 5); glVertex3f(-100, 0, 100); glTexCoord2f(0, 5); glVertex3f(-100, 50, 100);
glEnd(); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(100,50 , -100); glTexCoord2f(1, 0); glVertex3f(100,0 , -100); glTexCoord2f(1, 5); glVertex3f(-100, 0, -100); glTexCoord2f(0, 5); glVertex3f(-100, 50, -100);
glEnd(); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(100,50 , 100); glTexCoord2f(5, 0); glVertex3f(-100, 50, 100); glTexCoord2f(5, 1); glVertex3f(-100, 0, 100); glTexCoord2f(0, 1); glVertex3f(100,0 , 100);
glEnd(); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(100,50 ,-100); glTexCoord2f(1, 0); glVertex3f(100,0 , -100); glTexCoord2f(1, 5); glVertex3f(100, 0, 100); glTexCoord2f(0, 5); glVertex3f(100, 50, 100);
glEnd(); glPopMatrix();
glPopMatrix();
glPushMatrix(); glColor3f(1,1,0); glTranslatef(10,250,-200); glutSolidSphere(10,20,20); glPopMatrix(); glPushMatrix(); glColor3f(0,0,0.1); doom(); glPopMatrix();
normalise(camanglex); normalise(camangley); mousecam(); calculs();
glutSwapBuffers(); glutPostRedisplay(); //Uniquement pour GLUT }
int main( int argc, char *argv[ ], char *envp[ ] ) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(640 ,480); //Optionnel glutInitWindowPosition(0,0); glutCreateWindow("DOOM 9"); glutWarpPointer(320,240); glutKeyboardFunc(trucavecdestouches);
glutPassiveMotionFunc(madafakamouse); glutPassiveMotionFunc(madafakamouse2); glutMouseFunc(boutonsouris);
InitGL(); glutReshapeFunc(Reshape); glutDisplayFunc(Draw); //glutFullScreen(); glutMainLoop();
return 0; }
|
|
mercredi 31 août 2005 à 10:35:50 |
Re : A laide eclairage et texturing opengl !!Problemes!!

luhtor
|
Je crois qu'un petit glGenTextures, et glBindTexture seraient les bienvenu.
variable globale: GLuint texture_id;
glGenTextures (1, &texture_id);
glBindTexture(GL_TEXTURE_2D, texture_id);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->sizeX, image->sizeY,GL_RGB, GL_UNSIGNED_BYTE, image->data);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glEnable(GL_TEXTURE_2D);
|
|
mercredi 31 août 2005 à 11:08:12 |
Re : A laide eclairage et texturing opengl !!Problemes!!
|
mercredi 31 août 2005 à 11:51:33 |
Re : A laide eclairage et texturing opengl !!Problemes!!

zerailkiller
|
Par contre une derniere chose , coment dire a opengl quelle texture on veux mapper dans le draw() (ma fonction de dessin) lorsquon applique les coordonnées de la texture aux vertex?
merci :)
|
|
mercredi 31 août 2005 à 11:58:02 |
Re : A laide eclairage et texturing opengl !!Problemes!!

zerailkiller
|
c est bon jai trouvé , merci eaucoup luthor de m avoir appris ces trucs, j aurais mis des heures a trouver sinon,allez tcho ++++++++++++++
|
|
mercredi 31 août 2005 à 12:00:09 |
Re : A laide eclairage et texturing opengl !!Problemes!!

keil
|
la fonction glBindTexture(int Type, int Texture_ID) te permet de sélectionner la texture à appliquer.
Si tu veux désactiver l'application de texture sur une surface, utilise glDisable(GL_TEXTURE_2D);
glGenLists(int nb) te renvoi un entier si nb = 1 ou sinon un tableau
d'entier qui te serviront à attribuer un ID aux textures que tu
chargeras avec ce que luthor t'as donné
|
|
Cette discussion est classée dans : opengl, problemes, laide, eclairage, texturing
Répondre à ce message
Sujets en rapport avec ce message
Problemes d'inclusion avec openGL et version [ par dletozeun ]
bonjour, Je voudrais utliser les extensions d'opengl. Pour cela j'ai inclu le header glext.h dans mon projet sous devcpp. Le header est inclu dans 2
opengl multitexturing [ par dletozeun ]
bonjour, J'ai reussi a mettre en place le multitexturing avec opengl, j'obtiens un melange homogene entre textures sur un polygone mais le probleme
OpenGL eclairage [ par dletozeun ]
bonjour,J'aimerais savoir comment dessiner un objet en 3D avec openGL en appliquant des groupes de lissages a l'objet.C a dire que je voudrais que cer
OpenGL: problemes des textures [ par dletozeun ]
bonjour,dans mon projet actuel sous devcpp j'affiche un objet 3D avec opengl en utilisant GL_TRIANGLE_STRIP pour optimiser la vitesse d'affichage....
TRAITEMENT D'IMAGE [ par Batman60 ]
salut je cherche le moyen d'ajouter à une image des parties colorées ou transparentes exemple sur une image 1024X800 je voudrais la transformer en
texte opengl qui change de couleur [ par mondrone ]
J'ai un programme OpenGL (+ Glut sous DevCpp) qui suivant certaines touches doit afficher des phrases prédéfinies à l'écran avec glutBitmapCharacter.
matrices et c++ [ par anne-lise ]
Bonjour, je debute en c++ et j'ai quelques problemes avec les tableaux... D'abord, y a t'il un moyen d'avoir pour resultat d'une fonction un tableau ?
problème avec devc++ opengl windows [ par Dyr3e ]
bonjour j'aimerai créer une application openGL sous windows mais compatible Linux, du coup je voudrais eviter les déclaration de windows qui ne sont p
rotation d'une BMP avec OpenGL [ par ______ ]
est ce qu'on peut faire tourner une image 2D dessinée av
OpenGL structure - texture... [ par un4given ]
Hello !Bon j'etais deja venu recolter vos precieux conseils y a un bon mois de cela pendant la creation d'une simulation de tir a l'arc... Je suis tou
Livres en rapport
|
Derniers Blogs
[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|