Dobrý den,
chtěl bych v C++ vytisknout na obrazovku například 1 pixel zelené barvy, nebo třeba červené písmeno. Hledal jsem různé C++ tutoriály na VGA ( osdever.net, brackeen.org, geocities.com/vga atd. ), ale každá z těch stránek používá úplně jiné způsoby, jenom jsem zjistil, že prý existuje nějaký mód "0x13" pro VGA grafiku.
Nevíte někdo, jak se ten zelený pixel dá udělat nějakým obecným jednoduchým způsobem? Na té stránce osdev.org jsem vyčetl, že se prý nemusí používat BIOS pro grafiku, ale jde napsat vlastní VIDEO driver, to jsem hledal taky, ale našlo mi to obchod s kamerami nebo technickou podporu ATI.
A ještě bych se chtěl zeptat, jestli neexistuje přímo nějaká kniha přímo o grafice v C++, driverech grafických karet, VGA grafice apod. ?
Uvítám a předem děkuji za každou odpověd'
PS: Prosím nerad'te použít žádné knihovny, mně jde právě o to udělat to bez knihoven.
Fórum › C / C++
Barvy ( VGA )
![](img/forum_vlakno_help_vyreseno.png)
> Nevíte někdo, jak se ten zelený pixel dá udělat nějakým obecným jednoduchým způsobem?
Standard C++ v tomto smere nic neponuka (tzn. ziaden standardny sposob neexistuje). Musite pouzit nejaku kniznicu umoznujucu kreslit pre danny OS.
> A ještě bych se chtěl zeptat, jestli neexistuje přímo nějaká kniha přímo o grafice v C++, driverech grafických karet, VGA grafice apod. ?
Existuje, je ich cely rad. Momentalne ma napada napr. OpenGL Pruvodce programatora od cpress(u).
Algon
A co vlastně děláš? Nějak jsem to z tvého příspěvku nepostřehl. kernel, nebo user-space aplikaci? Aneb píšeš si vlastní systém, nebo chceš kreslit okýnka a různé blbosti? Pokud se jední o první případ, prohledej fórum, pravděpodobně najdeš hodně odkazů, kde začít. S user-space aplikacemi se to má tak, že tohle bude vždy závislé na systému, pro který bude daná aplikace dělaná. Na Windows určitě budeš muset používat WINAPI. Všude, kde máš X server (tzn. UNIXy), bys (pokud nechceš využít opravdu žádnou knihovnu) implementovat X11 protokol a pomocí tohoto protokolu posílat požadavky na grafické akce X serveru. Jelikož toto řeší např. SDL knihovna[1], doporučuji se podívat na její zdrojové kódy.
[1] http://www.libsdl.org/
bukaj_001 napsal:
Algon
A co vlastně děláš?[/url]
Jo, zkouším napsat vlastní systém. Už jsem našel hodně odkazů, ale moc jich nebylo užitečných. Tak mě ještě napadlo, jestli neexistuje nějaká knihovna, která by byla jako .h soubor a přes ni by se dalo dělat GUI toho kernelu. Myslel jsem, že bych mohl pro začátek použít graphics.h, ale to je prý nějaká 30 let stará knihovna, kterou už moderní systémy nepodporují. Ale to by musela být tak knihovna open-source, ale jestli byste nějaké která by se dala takhle použít, prosím pošlete link.
Našel jsem na toto téma jeden docela zajímavý kód http://osdever.net/tutorials/GUI_tut.php, ale nějak jsem nepochopil, jestli funguje samostatně, nebo je k tomu potřeba nějaká knihovna pracující s bitmapami, takhle jednoduché to přece být nemůže.
Algon
Jo, zkouším napsat vlastní systém.
V tom případě bych se být tebou podíval na ZeX/OS[1], hlavně asi na jeho součást libx.
Myslel jsem, že bych mohl pro začátek použít graphics.h, ale to je prý nějaká 30 let stará knihovna, kterou už moderní systémy nepodporují.
Hlavně je to podle toho, co jsem našel, pro user-space ;o)
ale nějak jsem nepochopil, jestli funguje samostatně, nebo je k tomu potřeba nějaká knihovna pracující s bitmapami, takhle jednoduché to přece být nemůže
Vykreslit pixel je jednoduché. A co je bitmapa? Hromada pixelů.
[1] http://www.zexos.org/
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna
C# - GAPINet a VGA zařízení — založil Jan Gruncl
VGA, Alsa a Root — založil Povolldi
Knižnica na VGA grafiku pre C++ — založil Enuyvatar
Prepojenie monitora s ntb - VGA HDMI — založil Stamp
Moderátoři diskuze