Newsgroup: it.comp.os.linux.development
Titolo: accendere un pixel

Avevo postato la stessa domanda poco tempo fa, alcuni mi hanno consigliato
la ncurses. Ho guardato tutti gli esempi, letto gran parte degli HOWTO,
non mi sembra che centri molto. Tutti gli esempi usano caratteri, nel
senso che scrivono a destra a sinistra delle stringhe. Io voglio accendere
un pixel, in modalità grafica, una cosa che sotto win sarei capace di
fare anche in assembler. Credo che un qualunque programmatore medio mi
può dire come fare in c++, senza usare oggetti visuali.

 usare oggetti visuali.
Leggi le faq 
http://ildp.pluto.linux.it/doc-it/faq-icold.html
 e se ci sono 
ancora dubbi chiedi pure :-)
Alessandro.

 può dire come fare in c++, senza usare oggetti visuali.
In Linux non esiste una vera e propria modalita` grafica.
Puoi usare X, e per accendere un pixel c'e` una funzione apposta nelle
xlibs. Puoi usare il framebuffer, magari con le libdirectfb. Puoi usare le
svgalibs (ormai obsolete).
In C++ stretto non esistono funzioni che accendano un pixel. Si usano
sempre funzioni di libreria.
In Linux non puoi nemmeno accedere direttamente alla memoria della scheda
grafica, quindi non lo puoi fare nemmeno in assembler, a meno che tu non
lo faccia da root.
Bye.

Anzi ti do' un po' di link diretti (le faq leggile lo stesso pero'!-)
http://www.libsdl.org
http://www.svgalib.org
http://www.directfb.org
 (c'e' abbastanza gente che le usa da inserirle nelle 
FAQ?).
Alessandro.

 In Linux non esiste una vera e propria modalita` grafica.
Le svgalib sembrerebbero dimostrare il contrario, ma anche il framebuffer.
Che altro ti aspetteresti dalla "modalita' grafica"?
Alessandro.

Il Thu, 11 Nov 2004 19:11:40 +0100, wiso ha scritto:

lavora direttamente sul framebuffer.

 Che altro ti aspetteresti dalla "modalita' grafica"?
Era per dire che non e` come in DOS o in Windows che c'e` UNA modalita`
grafica. Ci sono diversi modi per "andare in grafica".
In DOS mandi un INT e scrivi sulla memoria della scheda video. In Windows
ci saranno funzioni per scrivere sullo schermo. In Linux TIMTOWTDI...
Scusa ma sono mezzo rincoglionito dopo una giornata incasinata e non trovo
parole migliori per dirlo... :)
Bye.



In realtà si può, passi attraverso il kernel con la int 0x80. Non credo
che la modalità grafica centri col'SO, ma semplicemente dalla scheda
grafica.


Ho googlato per decifrarlo, pero poi ho capito :-)
IMHO ci sono pero' due approcci abbastanza universali:
- ad alto livello con SDL il tuo programma puo' sfruttare tutte le modalita' 
a disposizione (X/svgalib/frameduffer) in modo abbastanza trasparente.
- a basso livello dovresti poter usare il framebuffer e ottenere l'accesso 
alla scheda video o, inalternativa, usare gli interrupt come fanno le 
svgalib.
Alessandro.


Ovviamente con gli interrupt ti limiti alle architetture x86...
Alessandro.

 grafica.
Ehm... senza offesa ma hai appena detto una STRA-Minkionata!!! :)
le primitive di interrupt sono scritte nel sistema operativo e nel caso di windows sono presenti *a livello kernel* librerie per la gestione della grafica, cosa che linux non ha, o almeno, che HA se il kernel e' compilato con i moduli del framebuffer.
ti consiglio moltissimo questo framework grafico: 
www.libsdl.org
secondo me e' la soluzione ai tuoi problemi.