begin process at 2012 05 30 13:39:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

Les textures en OpenGL


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

Les textures en OpenGL

jeudi 16 mars 2006 à 05:49:19 | Les textures en OpenGL

fireuo

Bonjour je vien de commencer en OpenGl et après beaucoup de travail j'ai réusie a faire apparaitre un Mesh avec une texture de gazon. Mais maintenant j'ai voulu changer ma texture pour une autre. Pourtant les 2 textures sont en BMP. Mais une dès que je veus la "loader" dans 3D Studio Max il me dit que c'est une type non-compatile. Et quand je "load" la texture dans le code C++ ca donne un résultat comme la photo plus bas. Pourtant j'ai tout asseyer (changer les dimantions (128, 512, 256, meme 1024), changer le nombre de bit). La photo qui a c'est qunad la texture est en BMP 16 bit. Peu important la grandeur ca me donne le même résultat.

Voila la photo :

Si quelqu'un a déjà eux le même problème j'aimerais savoir commetn l'arrenger Merci !!

PS : J'utilise UV Mapping dans 3Ds pour même les textures comme du monde.
jeudi 16 mars 2006 à 16:17:44 | Re : Les textures en OpenGL

luhtor

Mais ta texture, c'est quoi ses dimensions ? quand tu changeais 128, 256, tu changeais aussi le fichier image ?
Sinon on voit pas la photo.

jeudi 16 mars 2006 à 22:51:05 | Re : Les textures en OpenGL

fireuo

Bon je pensais k'il uploadait la photo sur le site. Jle placer ailleur et ca va etre corrrecte la. Mais mon problème c'est pas les dimentions parce que peu importe les dimentions sa fait toujour comme la photo quand j'enrégistre le BMP à 16 bits.

Voila la photo:
PS: Si la photo marche pas c'est que mon ordi est fermé.

Au prie d'ite moi qunad vous faire une texture BMP quelle est la dimention que vous choisisé et cb de bits ou bien quelle type de fichier.
vendredi 17 mars 2006 à 00:04:15 | Re : Les textures en OpenGL

luhtor

On a pas le choix pour la taille d'une texture, c'est une puissance de 2 forcément.
Qd tu déclares la texture, tu spécifies un format correct ? Tu utilises quoi ? genre GL_UNSIGNED_INT en 32 bits, et toi en 16 ?


vendredi 17 mars 2006 à 04:13:50 | Re : Les textures en OpenGL

fireuo

Bon j'utilise pas cette fonction. Je ne la connait pas non plus :S. Mais voici le code que j'utilise pour loader des BMP:

#include <stdio.h>
#include <windows.h>
#include <GL/glut.h>
#include "LoadBMP.h"

int num_texture=-1;

int LoadBitmap(char *filename)
{
    int i, j=0;
    FILE *l_file;
    unsigned char *l_texture;
    
   
    BITMAPFILEHEADER fileheader;
    BITMAPINFOHEADER infoheader;
    RGBTRIPLE rgb;

    num_texture++;

    if( (l_file = fopen(filename, "rb"))==NULL) return (-1);
   
    fread(&fileheader, sizeof(fileheader), 1, l_file);
   
    fseek(l_file, sizeof(fileheader), SEEK_SET);
    fread(&infoheader, sizeof(infoheader), 1, l_file);

    l_texture = (byte *) malloc(infoheader.biWidth * infoheader.biHeight * 4);
    memset(l_texture, 0, infoheader.biWidth * infoheader.biHeight * 4);
 
    for (i=0; i < infoheader.biWidth*infoheader.biHeight; i++)
    {           
            fread(&rgb, sizeof(rgb), 1, l_file);

            l_texture[j+0] = rgb.rgbtRed;
            l_texture[j+1] = rgb.rgbtGreen;
            l_texture[j+2] = rgb.rgbtBlue;
            l_texture[j+3] = 255;
            j += 4;
    }

    fclose(l_file);
    
    glBindTexture(GL_TEXTURE_2D, num_texture);


    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);

    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

  
    glTexImage2D(GL_TEXTURE_2D, 0, 4, infoheader.biWidth, infoheader.biHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, l_texture);

  
    gluBuild2DMipmaps(GL_TEXTURE_2D, 4, infoheader.biWidth, infoheader.biHeight, GL_RGBA, GL_UNSIGNED_BYTE, l_texture);

    free(l_texture);

    return (num_texture);
}

Et quand je choisie la taille de mes photo (qunad je les sort de mon jeux, parce que je prend tout mes texture d'un jeu :P) sont en 256x256.



Cette discussion est classée dans : changer, opengl, photo, textures, texture


Répondre à ce message

Sujets en rapport avec ce message

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.... Transition progressive de textures en OPENGL [ par CausPupus ] En OPENGL tout le monde connait la magnifique gestion des couleurs de l'api notamment le mixage des couleurs qui permet d'avoir un dégradé entre deux OpenGL et textures [ par Jackyzgood ] Bonjour à tous ! Maintenant que je commence à être à l'aise en SDL, je me suis dis : ça pourrait être bien de passer à l'OpenGL. J'ai suivis un tuto Application de textures [ par mohdaef ] Bonjour, j'utilise OpenGL dans une application 3D, et j'ai un soucis pour appliquer une texture, j'utilise la fonction glTexCoord2d() pour spécifier Texture avec OpenGl [ par Zakata ] Bonjour,Voila j'ai un petit soucis avec les textures et OpenGl. J'ai dans l'espoir de réussir à mettre une image de fond sur une fenetre OpenGl. J'ai Texture openGl [ par neodelphi ] Bonjour tout le monde, j'essaye désespérément d'ajouter des textures dans mon projet openGl, mais je devient fou... J'ai écrit une classe qui me perm texture visage en openGL [ par yahya_hicham ] Bonjour,Je postule dans votre forum car j'ai besoin de votre aide, j'ai  un objet generique en forme de tete, je voudrais   coller une texture de visa texture en opengl [ par semaesma ] Bonjour ,Je suis debutant en Opengl et je voudrais savoir comment peut on avoir un fond de la scène comme image Merci pour votre aide Problème d'affichage de texture [ par Turok ] Bonjour,Alors voila le problème est simple, voici un code que j'utilise pour afficher une simple image 2d en utilisant OpenGl et SDL, mais celui ci ne transparence en OpenGl [ par F0ra ] Bonjour, J'ai un problème en OpenGl Je voudrais rendre uniquement la couleur rose<


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,343 sec (4)

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