20. januar 2003 - 22:23Der er
33 kommentarer og 1 løsning
let grafik i C++
Jeg er lige blevet færdig med en række bøger :
"3D game programming directX 8" "C++ basic" "C++ grundbog"
og har fået an masse ud af dem, 3D game programming directX 8, er mere fordi jeg gerne vil læse lidt mere om Grafik, desaderet.
Jeg syntes bare ikke jeg har fundet så meget om at lave Grafik til windows, ikke med DirectX, men en lille gang Grafik, til er dekorere ens program, jeg gad nemlig godt prøve at starte med at lave lette spil, og den slags, før jeg begynder på det helt store, måske ikke andet end noget tekst med nogen billeder i ny og næ, er der nogen bøger der kan hjælpe med mine behov, hvis i syntes der er andre veje, der er lættere, vil jeg gerne høre dem, da jeg brænder efter at lære mere.
Det står i enhver god win32api bog. F.eks. ISBN : 1-57231-995-X Title : Programming Windows Author : Charles Petzold Publisher : Microsoft Year : 1999 Pages : 1479
også vil jeg stadig gerne lære lidt om netværk og komunikation mellem computer VIA en server, hvis du kender nogen titler til sådan noget vil jeg gerne åbne en topic til for at give dig point...
kender godt gamedev, der siger de at man skal starte med et let grundlæggende spil i starten, hvad kan du andbefale, hvor man kommer rundt i alle de nødvendige faser man skal igennem?
Tjaaa, jeg har ikke selv specielt megen erfaring med programmering af diverse grafik. Det er højst blevet til et par partikelsystemer, et par simple screensavers og lidt tekstvisning (font).
Jeg har startet op på et par spil (kloner af:pong, airhockey og turboraketti) men ender altid med at sidde fast når jeg kommer til kollisions detektion :-(
Husk at linke med det rigtige libs når du compiler. Så vidt jeg husker er det: opengl32.lib og glu32.lib til msvc libopengl32 og libglu32 til gcc (mingw/dev-c++ - kært barn har mange navne :-)
Det er faktisk et udemærket library. Med det behøver du ikke bruge krudt på win32 programmering - men kan istedet gå igang med det det hele drejer sig om, nemlig grafik. En anden fordel med glut er at det, som udgangspunkt, er portabel kode der laves - og kan derfor også bruges i f.eks. Linux.
Man adskiller dekleration fra implementation. .h filer indeholder (bl.a.) definitioner på metoder og variabler .c/.cpp indeholder implementeringen af metoderne
man på den måde afskære nysgerrige øjne fra at se implementeringskoden ved kun at distribuere objektfilerne (den compilerede .c fil). Lib filerne indeholder oftest henvisninger til dll filer - altså "sorteper" videresendes til dll filen.
Hvis du kigger nærmere (kigger på hvilke metoder dll filen eksporterer) på OpenGl32.dll (eller nvopengl.dll afhængig af system og grafikkort) så vil du se at de stemmer fint overens med GL/gl.h filen.
Compileren sørger for at udskifte relevant kode til referencer til dll filen. F.eks. hvis du skriver: glVertex3f(0.0f, 1.0f, 0.4f);
så kunne compileren udskifte det til noget der ligner: load dll hvori funktionen findes find det offset i dllfilen hvor funktionen starter sæt et eller andet til at pege på parametre. udfør funktionen unload dll
Formålet med dll filer er bl.a. at "ofte brugt kode" kun ligger et sted. Altså f.eks. printf og lign.
Så skal der nemlig kun opdateres ét sted hvis der bliver rettet fejl. Og Operativ System behøver kun en instans af dll filen i RAM.
en dll fil er altså en cpp fil, som bare er en functions arbejder for en anden fil, som f.eks... hvis du kender spillet half life, der er en hl.dll og en client.dll, de linkes sammen til hl.exe, hvor hl.exe så spørger hl.dll og client.dll hvordan den så skal lave sit grafiske layout (f.eks hvis den skal køre end MOD) og hvordan den skal behandle de forskællige data og triggers i den .bsp (map filer).. bliver det varmere?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.