Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nece da mi iscrta pixel na ekranu !?

[es] :: C/C++ programiranje :: Nece da mi iscrta pixel na ekranu !?

[ Pregleda: 2098 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

EXeX

Član broj: 20651
Poruke: 166
*.tel.net.ba.



Profil

icon Nece da mi iscrta pixel na ekranu !?22.05.2005. u 00:58 - pre 230 meseci
Koristim WinXP i borlandov kompajler tc.
Kod kompajliram naredbom tcc pixel.c


Evo koda:

#include <dos.h>

void set_video_mode(unsigned char mode)
{
union REGS regs;
regs.h.ah = 0x00;
regs.h.al = mode;
int86(0x10,&regs,&regs);
return;
}

void plot_pixel_fast(int x,int y,unsigned char color)
{
unsigned char *VGA = (unsigned char *)0xA0000000L;
unsigned short offset = 320*y+x;
VGA[offset] = color;
return;

}

void main()
{
set_video_mode(0x13);/*256 color video mode*/
plot_pixel_fast(10,10,15);
return;
}


eX
 
Odgovor na temu

EXeX

Član broj: 20651
Poruke: 166
*.tel.net.ba.



Profil

icon Re: Nece da mi iscrta pixel na ekranu !?22.05.2005. u 01:40 - pre 230 meseci
Rijesio sam problem !!!!
Kao prvo trebalo je kompajlirati u LARGE MODU ,tj.
tcc -ml pixel.c

Kao drugo trebalo je funkciju za crtanje pixela staviti u neku petlju da popuni cijeli ekran bojom jer mi je onako fatalo slucajne vrijednosti iz memorije i bile su mi nebuloze na ekranu.Probajte ovo:

#include <stdlib.h>
#include <dos.h>

void set_video_mode(unsigned char mode)
{
union REGS regs;
regs.h.ah = 0x00;
regs.h.al = mode;
int86(0x10,&regs,&regs);
return;
}

void plot_pixel_fast(int x,int y,unsigned char color)
{
unsigned char *VGA = (unsigned char *)0xA0000000L;
unsigned short offset = y*320+x;
VGA[offset] = color;
return;

}

void main()
{
int x,y,color;
unsigned short i;

set_video_mode(0x13);
while(1)
for(i=0;i<50000L;i++)
{
x=rand()%320;
y=rand()%320;
color=rand()%256;
plot_pixel_fast(x,y,color);
}


}

Pozdrav...
eX
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: Nece da mi iscrta pixel na ekranu !?23.05.2005. u 14:28 - pre 230 meseci
EXeX, na XP-u koristis arhaicne BIOS pozive za rad sa grafikom? Moze li se postaviti pitanje zasto? :)
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
213.244.197.*



+9 Profil

icon Re: Nece da mi iscrta pixel na ekranu !?23.05.2005. u 21:45 - pre 230 meseci
Koliko znam, OpenGL ti je mnogo bolje resenje, em sto mozes da ga presaltujes i na Linux... ako nekad budes hteo.
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com.



+4 Profil

icon Re: Nece da mi iscrta pixel na ekranu !?23.05.2005. u 22:12 - pre 230 meseci
Hehehe, pa 3D lib za crtanje tachke je kao maljem na komarca.

Nego mani se DOS poziva, to nije arhaichno, to je kriminal! :)
Odaberi neku od GUI biblioteka (imash saveta na es-u koliko ti volja).
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
213.244.197.*



+9 Profil

icon Re: Nece da mi iscrta pixel na ekranu !?23.05.2005. u 22:22 - pre 230 meseci
Otkud znam, mozda je covek hteo kasnije i mnogo vise od jedne tacke. Stvarno, OpenGL uopste nije tezak, a portabilnost je uvek tu.
 
Odgovor na temu

EXeX

Član broj: 20651
Poruke: 166
*.tel.net.ba.



Profil

icon Re: Nece da mi iscrta pixel na ekranu !?26.05.2005. u 00:39 - pre 230 meseci
Nije stvar u bibliotekama,to je bar lako za koristiti.
Prije svega mene zanima kako to bas sve radi i krenuo sam od početka.
Dakle krenuo sam sa VGA programiranjem,a naravno da se neću na tome zadržati.
A konačni cilj je sklepati neki OS,pa osim bootloadera,GTD-a,ITD-a,ISRS-a itd...
potrebno je i napisati neki oblik drajvera koji će ispisati nešto na monitoru.Pa kako sam krenuo u izučavanje naletio sam na neke tutore i eto malo se izmedju ostaloga pozabavio ovime.

Izmedju ostaloga neradi se o arhaicnima DOS prekidima i funkcijama,vec se radi o standardiziranim BIOS interaptima.I jos malo asma i dosta C-a moze se sklepati dobar OS.

P.S. Izgleda još je veći gušt u asm-u programirati grafiku.E to je umjetnost.:)

Pozdrav.
eX
 
Odgovor na temu

[es] :: C/C++ programiranje :: Nece da mi iscrta pixel na ekranu !?

[ Pregleda: 2098 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.