enkel grafik med C++|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
enkel grafik med C++
Mikkoloo
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 24
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
1
October 10, 2001 - 2:10 pm
sp_Permalink sp_Print

Jag håller för fullt på att lär mig C++. Jag plöjer en bok som är en standardbok om man vill lära sig programmera. En sån 3 veckors bok.

Jag skulle gärna vilja ha ett exempel (enkelt!) på lite grafik i c++. Jag har läst lite på en guide på nätet om grafik till C. men jag skulle vilja veta syntaxen i c++. Länken till den sidan är:

http://www.algonet.se/%7Eandyr.....urser.html

Vore väldigt vänligt om någon ville hejälpa till. Ibland kan det vara lätt att sluta progga ett tag, men om jag får se vad som väntar när jag behärskar c++ lite mer hjälper det nog.

Förresten, om det finns böcker på området är jag tacksam för boktips.

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
79191
October 10, 2001 - 4:23 pm
sp_Permalink sp_Print

_asm{
mov AH,0 // BIOS Vid function number. (0 sets vid mode)
mov AL, 0x13 // Mode number
int 10h // Call BIOS interrupt
}
void* pointer = (void*)0xa0000000;
*((unsigned char*)pointer) = 15;

Följande kod byte till skärmläge 13 och ritar en vit punkt vid ( 0, 0 )
Funkar dock inte med MSVC++(det blir bluescreen)
Annars kan du använda OpenGL lr :spy: DirectX

Weeblie
Kommer du hit ofta?
Medlem
Forum Posts: 381
Member Since:
December 28, 2000
sp_UserOfflineSmall Offline
79230
October 10, 2001 - 5:16 pm
sp_Permalink sp_Print

Vad är det för fel med DirectX??
Det är snabbare i 2D än OpelGL och i 3D nästan lika snabbt. Dessutom har varje dator med windows 2k eller uppåt DirectX installerat.

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
79242
October 10, 2001 - 5:46 pm
sp_Permalink sp_Print

Därför att det går c:a 3x fortare att göra egen 2d grafik om man har en compiler som klarar av bios anrop
Kanhända att DX är snabbare än GL på 2D, men Direct3D...DET suger...

_________________
1200TB @ 1333, 1400 el. 1466. Beror på humör smile
Titta gärna på min mod:

[ Detta Inlägg ändrades av: Tjoppen den 2001-10-10 19:47 ]

Mikkoloo
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 24
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
79417
October 11, 2001 - 2:29 pm
sp_Permalink sp_Print

tack för svaren, men jag fick inte koden att kompilera. skulle du kunna skicka en klar version som innehåller alla referenser som behövs. jag har gcc kompilatorn för linux.

förresten, att progga openGL (som jag tycker om bäst), är det mycket svårare än den typen du beskrev i kodeexemplet?

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
79424
October 11, 2001 - 2:39 pm
sp_Permalink sp_Print

Den funkar compila i MSVC++

Inga headers behövs...

Mikkoloo
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 24
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
79504
October 11, 2001 - 6:11 pm
sp_Permalink sp_Print

ok, ska leta upp skivan, men det vore skoj att få det att funka i linux gcc eftersom det är där jag proggar.

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
79508
October 11, 2001 - 6:18 pm
sp_Permalink sp_Print

Jo, koden funkar int för mig heller...Måste ha Borland C++...MSVC++ gillar int BIOS anrop

Mikkoloo
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 24
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
79515
October 11, 2001 - 6:25 pm
sp_Permalink sp_Print

jo, jag har inte borland, men asså...borde det inte finnas en standardlösning som man kan använda med alla kompilatorer, eller är alla som inte har support för bios anrop körda? knappast troligt smile nåja, hoppas det fixar sig, för det vore skoj att testa lite.

Weeblie
Kommer du hit ofta?
Medlem
Forum Posts: 381
Member Since:
December 28, 2000
sp_UserOfflineSmall Offline
80069
October 12, 2001 - 1:36 pm
sp_Permalink sp_Print

On 2001-10-10 19:46, Tjoppen wrote:
Därför att det går c:a 3x fortare att göra egen 2d grafik om man har en compiler som klarar av bios anrop
Kanhända att DX är snabbare än GL på 2D, men Direct3D...DET suger...

_________________
1200TB @ 1333, 1400 el. 1466. Beror på humör smile
Titta gärna på min mod:

[ Detta Inlägg ändrades av: Tjoppen den 2001-10-10 19:47 ]

Det går ännu fortare om man skriver direkt till minnet.
Se denna sida:
http://home5.swipnet.se/%7Ew-55127/kurser.html

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
81639
October 14, 2001 - 4:28 pm
sp_Permalink sp_Print

Följande kod ska nu förklaras:

_asm{
mov AH,0 // BIOS Vid function number. (0 sets vid mode)

Säger åt bios att vi vill byta skärmläge

mov AL, 0x13 // Mode number

Vilket skärmläge(13h i detta fall)

int 10h // Call BIOS interrupt

Anropa bios interrupt 10h(lr 16 om man så vill)

}
void* pointer = (void*)0xa0000000;

Gör en pekare till grafik minnet

*((unsigned char*)pointer) = 15;

Ändra första unsigned char(0,0) till 15(vit)

*((unsigned char*)pointer+1) = 15;

Ändra andra unsigned char(1,0) till 15(vit)

Denna kod KRÄVER Birland C++ lr en annan dos compiler...

Mikkoloo
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 24
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
81721
October 14, 2001 - 6:13 pm
sp_Permalink sp_Print

OK, men eftersom jag nu inte programerar under dos/windows så söker jag kod som fungerar garanterat med unix kompilatorer. Nåtgra tips nån?

_paul_
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 126
Member Since:
August 2, 2001
sp_UserOfflineSmall Offline
81756
October 14, 2001 - 7:06 pm
sp_Permalink sp_Print

On 2001-10-14 20:13, Mikkoloo wrote:
OK, men eftersom jag nu inte programerar under dos/windows så söker jag kod som fungerar garanterat med unix kompilatorer. Nåtgra tips nån?

Gjorde en sökning på nätet och hittade följande på Linux Assembly Archive:

". It sounds as
though you want to access the DOS VGA memory at real mode address
segment A000. This location is mearly data for the video card stored
at this location by DOS system software. This is a software thing not
a function of the actual physical hardware. The linux SVGAlib maps
video memory at virtual memory address 0x04000000. X windows uses a
system software interface to the memory mapped VGA via an entry in the
/proc/ directory tree."

"> Hello, I am a relatively new-to-assembly programmer. I was wondering
> if itwas safe to use INT 10h for doing simple graphics I/O?

No, there's no access to realmode BIOS services.Try linux fbcon (frame buffer) for doing graphics."

Så det ser ut som du måste skriva om koden helt och hållet för att få den att fungera under Linux. Tough shit

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
81864
October 14, 2001 - 8:39 pm
sp_Permalink sp_Print

Det är det som är det(troligen enda) dåliga med linux...

Mikkoloo
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 24
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
81979
October 15, 2001 - 5:57 am
sp_Permalink sp_Print

jaha, kanske blir textbaserade grejer för mig då. suck...

Quaero
Kommer du hit ofta?
Medlem
Forum Posts: 779
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
84127
October 18, 2001 - 3:07 pm
sp_Permalink sp_Print

För det första: DirectX är bra!
Det är ett snabbt och relativt enkelt verktyg för grafik, ljud, nätverk m.m i windows.
För det andra: Anledningen till att du inte kan anropa bios i MSVC++ är att du där bara kan kompilera Win32 och då tillåts inga biosanrop, då bör du programmera DOS, vilket är bra. Underskatta inte DOS, måhända är det inte särskilt modernt men det är ganska enkelt och framför allt så är det stabilt!
Programmering i Linux kan jag inte så mycket om men mitt råd till dig är att programmera antingen DOS(enkelt) eller windows och DirectX(inte lika enkelt).

Quaero
Kommer du hit ofta?
Medlem
Forum Posts: 779
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
84130
October 18, 2001 - 3:08 pm
sp_Permalink sp_Print

Förresten så kan du skippa den där boken också, har provat att läsa sådana, de är värdelösa. Hitta en bra tutorial på nätet istället http://www.programmersheaven.com är en bra sida.
Lycka till!

Quaero
Kommer du hit ofta?
Medlem
Forum Posts: 779
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
84149
October 18, 2001 - 3:34 pm
sp_Permalink sp_Print

Kom på en sak till, jag måste göra klart att alla C++ böcker inte är dåliga, det är bara det att jag har dålig erfarenhet av de där "Lär dig på 3 veckor" böckerna.

Mikkoloo
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 24
Member Since:
October 10, 2001
sp_UserOfflineSmall Offline
84441
October 19, 2001 - 6:02 am
sp_Permalink sp_Print

ah, tack för tipsen, har märkt att programmersheaven.com är rätt bra smile Förresten har jag kommit på hur man skapar lite enkel grafik i Linux. Det finns ett lib som heter SDL. Kolla libsdl om du hade samma problem som jag. Nu ska jag bara försöka göra något användbart.

Men sen har jag en fråga till. Det jag lär mig nu, om slingor, relationuttryck och saker, har jag stor nytta av det sen? Jag har kollat i koden på små spel, det är inte mycket sånt alls juh...

Tjoppen
Kommer du hit ofta?
Medlem
Forum Posts: 872
Member Since:
August 29, 2001
sp_UserOfflineSmall Offline
84480
October 19, 2001 - 7:28 am
sp_Permalink sp_Print

On 2001-10-18 17:07, Quaero wrote:
För det första: DirectX är bra!
Det är ett snabbt och relativt enkelt verktyg för grafik, ljud, nätverk m.m i windows.
För det andra: Anledningen till att du inte kan anropa bios i MSVC++ är att du där bara kan kompilera Win32 och då tillåts inga biosanrop, då bör du programmera DOS, vilket är bra. Underskatta inte DOS, måhända är det inte särskilt modernt men det är ganska enkelt och framför allt så är det stabilt!
Programmering i Linux kan jag inte så mycket om men mitt råd till dig är att programmera antingen DOS(enkelt) eller windows och DirectX(inte lika enkelt).

Hrrrrmff.....Hrrr....Humppf.... :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe:
DirectX snabbt....Det dummaste jag ngnsins hört!! :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe: :hehe:

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 41
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL