encours a écrit :
et comment faire ca j'ai copié le code de nehe mais j'aitrouvé des erreurs lors du debugage vous m'indiquez google!!!! moi je ne poste qu'aprés avoir chercher dans google merci en tous ca
|
Ben en réfléchissant
T'as besoin d'un tableau de rgb pour ta texture OpenGL, et a priori tu codes dans un langage de prog qui fournit de quoi ouvrir un fichier (fopen en C, ifstream en C++, System.IO.FileStream en C#, java.io.FileInputStream en java, open en python... cherche ya forcément)
Wikipedia te dit à quoi ressemble un ppm (simple) :
http://fr.wikipedia.org/wiki/Portable_pixmap
ou un bmp :
http://en.wikipedia.org/wiki/BMP_file_format
qui est un peu plus compliqué mais tu n'as pas besoin de tout gérer, tu veux juste lire une image 24bits et récupérer width/height et ton tableau de rgb.
En C++ par exemple tu pourrais te faire une classe très simple pour lire un fichier (ppm ou bmp donc) et en tirer un tableau de rgb, du genre :
Bitmap.h
Code :
- #ifndef __THIS_IS_BITMAAAAAAAAAAAP__
- #define __THIS_IS_BITMAAAAAAAAAAAP__
- #include <string>
- class Bitmap {
- public:
- Bitmap(std::string filename);
- ~Bitmap();
- int getWidth();
- int getHeight();
- unsigned char* getBytes();
- private:
- int width;
- int height;
- unsigned char* bytes;
- };
- #endif
|
Bitmap.cpp
Code :
- #include "Bitmap.h"
- #include <fstream>
- #include <iostream>
- Bitmap::Bitmap(std::string filename) {
- // try to open the file
- std::ifstream ifs(filename.c_str(), std::ios::in | std::ios::binary);
- if(!ifs) {
- throw "Cannot open file.";
- }
- // là je te laisse bosser, récupère les infos voulues
- }
- Bitmap::~Bitmap(){
- delete[] this->bytes;
- }
- int Bitmap::getWidth() {
- return this->width;
- }
- int Bitmap::getHeight() {
- return this->height;
- }
- unsigned char* Bitmap::getBytes() {
- return this->bytes;
- }
|
Et si tu ne veux pas convertir tes jpg ou png en ppm ou en bmp, alors oui il te faut la libpng ou la libjpeg, parcqu'écrire un lecteur de png ou de jpg prend trop de temps
Message édité par Xavier_OM le 02-12-2011 à 07:18:33
---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.