[C] Utiliser plus que 16 couleur avec la lib BGI

Utiliser plus que 16 couleur avec la lib BGI [C] - C++ - Programmation

Marsh Posté le 30-09-2002 à 12:07:19    

Bonjour
 
Voila ce que j'utilise dans ma fonction main() et ca marche !
 

Code :
  1. int graphdriver=DETECT,graphmode=EGA;
  2. graphmode=getgraphmode();
  3. initgraph(&graphdriver,&graphmode,"C:\\BC5\\BGI" );


 
le prob c'est que c'est en 16 couleurs et pas plus, et si j'essaie de changer le DETECT en le numero du MODE il me dit une erreur et ca va pas... :( y a pas d'autres moyens de passer en 256 couleurs voir 16M de couleurs? paske c relou... surtout ke je bosse sur des fractales et 16 couleurs ca donne pas terrible au rendu :/
 
PS: j'utilise borland c++ 5.01 sous win XP.
 
A+ merci


Message édité par Schtroumpheur le 30-09-2002 à 12:08:14
Reply

Marsh Posté le 30-09-2002 à 12:07:19   

Reply

Marsh Posté le 30-09-2002 à 12:13:04    

Schtroumpheur a écrit a écrit :

Bonjour
 
Voila ce que j'utilise dans ma fonction main() et ca marche !
 

Code :
  1. int graphdriver=DETECT,graphmode=EGA;
  2. graphmode=getgraphmode();
  3. initgraph(&graphdriver,&graphmode,"C:\\BC5\\BGI" );


 
le prob c'est que c'est en 16 couleurs et pas plus, et si j'essaie de changer le DETECT en le numero du MODE il me dit une erreur et ca va pas... :( y a pas d'autres moyens de passer en 256 couleurs voir 16M de couleurs? paske c relou... surtout ke je bosse sur des fractales et 16 couleurs ca donne pas terrible au rendu :/
 
PS: j'utilise borland c++ 5.01 sous win XP.
 
A+ merci




Mode 13h ??? :??: (Mais sous XP ???)
Sinon direct X ?


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 30-09-2002 à 12:14:56    

C'est dur a utiliser direct X ?

Reply

Marsh Posté le 30-09-2002 à 13:39:03    

J'ai pas de doc sous la main au labo (tout est à la maison), mais y a pas d'autres choix pour  
 
graphmode=EGA ??
 
Les vieilles interfaces graphiques avaient peu de couleurs dispo. Il me semble qu'il doit exister des BGI autres, mais en tant que "verrue" (??). Le prog DOSD sur lequel j'avais travaillé était sur un PC en CGA (vert) => y avait pas de pb de couleur(s)..
 
Peut-être http://www.google.fr/search?q=bgi+ [...] l=fr&meta=
dont http://www.simtel.net/pub/pd/41410.html

Reply

Marsh Posté le 30-09-2002 à 16:34:36    

Schtroumpheur a écrit a écrit :

C'est dur a utiliser direct X ?




OUI, essaye plutot la lib "allegro" ca fait presque la meme chose et c plus simple (recherche ds google t as de la doc partout)

Reply

Marsh Posté le 30-09-2002 à 16:51:25    

OK MERci pour vos reponses

Reply

Marsh Posté le 30-09-2002 à 16:59:05    

j'ai downloader allegro, mais ca peut marcher avec borland c++ 5.01 ?

Reply

Marsh Posté le 30-09-2002 à 17:23:03    

avec borland c++ 5.01, tu programmes sous DOS en mode réel.
Tes applications n'auront que ~400 ko de ram exploitables, par segments de 64Ko. Pour monter plus, il faut passer par l'EMS ou le XMS, mais c'est philosophiquement une misère humaine les solutions microsofts de cette époque.
 
donc déjà mets un mode VGA, mais au dessus de 320x200 t'auras pas 256 couleurs.
 
la solution est d'utiliser les services VESA du bios qui te permettent d'utiliser des grosses résolutions (1600x1200 65K/24M couleurs)... mais sous DOS en mode réel tu pourras faire que du Vesa 1.2, et tu pourras accéder au buffer vidéo que par pages de 32 Ko / 64 Ko.
 
je crois qu'il existe un driver BGI SVGA (VESA 1.2) que tu dois rajouter au borland, et la solutions VESA 1.2 + dos en mode réel est utilisable.
 
Ceci dit, ce driver BGI serait ta solution...
 
Mais une solution Allegro + un compilateur 32 bits en mode protégé (Watcom C ou DJGPP) serait largement supérieur à un couple Borland DOS + BGI.
 
Donc il te faut un compilateur (DOS dans ton cas) 32 Bits, et c'est donc DJGPP qu'il te faut:
 
http://www.delorie.com/djgpp/


Message édité par bjone le 30-09-2002 à 17:23:54
Reply

Marsh Posté le 30-09-2002 à 17:25:36    

Merci je vais essayer de m'en sortir avec DJGPP...
 
je verrai ca tout a l'heure je dois partir a+
 
a+

Reply

Marsh Posté le 30-09-2002 à 17:29:09    

Ensuite, j'ai oublié un truc gênant:
 
Que ce soit Watcom C ou DJGPP, ces deux là en 32 Bits utilisent un DOS-Extender, un petit "noyau" qui fait le basculement entre le mode réel (16bits) et le mode protégé (32bits). Dos4gw dans le cas du Watcom, CWSDPMI dans le cas de DJGPP.
 
Le problème, est que tu pourras toujours compiler sous Windows Xp, mais pas lancer le programme compilé, le noyau d'XP refusant de laisser le contrôle du CPU au DOS-Extender.
 
Si tu dois passer par un compilo 32 bits DOS + DOS-Extender, tu te feras chier sous un Windows avec noyau NT (dont 2000 & Xp font parti)...
 
Donc, soit lutter pour installer un DOS en parallèle d'Xp (ou virer Xp pour Windows 98 Se ce qui serait con), soit rester sous Borland C++ sous DOS...
 
 

Reply

Marsh Posté le 30-09-2002 à 17:29:09   

Reply

Marsh Posté le 30-09-2002 à 17:40:17    

http://www.developpez.com/devgratuits.htm
Borland C++ 5.5 Compiler est le meilleur compilateur gratuit conforme aux derniers standards ANSI/ISO C/C++ pour Windows 9.X/NT/2000. Consultez aussi les Cours C/C++ Gratuits et les tutoriels d'installation et d'utilisation en Français pour Borland C++ 5.5 compiler  
 
A+

Reply

Marsh Posté le 30-09-2002 à 17:49:17    

JPA a écrit a écrit :

http://www.developpez.com/devgratuits.htm
Borland C++ 5.5 Compiler est le meilleur compilateur gratuit conforme aux derniers standards ANSI/ISO C/C++ pour Windows 9.X/NT/2000. Consultez aussi les Cours C/C++ Gratuits et les tutoriels d'installation et d'utilisation en Français pour Borland C++ 5.5 compiler  
 
A+




 
aussi...
 
en fait la question est de savoir si c'est un truc qu'il fait de son propre chef, ou on lui a demandé de faire ça... (école)

Reply

Marsh Posté le 30-09-2002 à 18:23:25    

Je viens de retrouver mon vieux manuel de Turbo Pascal 4.0...
CGA : 320x200 4 couleurs (2 palettes possibles)
...
EGA : 640x350 16 couleurs 2 pages
...
VGA : 640x480 16 couleurs 1 page
 
J'ai pas tout recopié...
En mode EGA, il pourra jamais dépasser les 16 couleurs...

Reply

Marsh Posté le 30-09-2002 à 18:49:50    

oui, fo qu'il passe en VGA, mais même en vga, le 256 couleurs n'est qu'en 320x200 à 320x400 (Mode X)
de toutes façon VGA = 64K d'espace mémoire vidéo visible ...

Reply

Marsh Posté le 30-09-2002 à 20:28:13    

Schtroumpheur a écrit a écrit :

Merci je vais essayer de m'en sortir avec DJGPP...
 
je verrai ca tout a l'heure je dois partir a+
 
a+




Surtout EVITE DJGPP!
Utilise Mingw32 à la place (ca fait des applications windows)!
Tu profiteras de tous les avantages de DirectX grâce à Allegro avec ce compilateur! :)


Message édité par ITM le 30-09-2002 à 20:28:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed