grafisk brugeroverflade

Tags:    c++ mysqli

hvilken metode er den bedste hvis jeg ønsker at lave grafik i mit program? OpenGL? DirectX? eller et helt andet? (og gerne et link til en hjælp-side også)
desuden vil jeg godt vide hvilken metode som er den hurtigste, hvis man f.eks. har en langsom computer man skal køre programmet på?



Hvis vi bare snakker om en ganske almindelig brugeroverflade, som er i langt de fleste Windows programmer, saa vil det nok vaere lidt over-kill at bruge OpenGL eller DirectX! Disse API'er bliver oftes brugt i spil-sammenhaeng! De er begge hardware understoettet saa den store hastighed er der ikke mellem de to naevnte API'er. OpenGL er dog bygget hovedsagligt til vektor grafik, hvor imod DirectX har en udemaerket raster-grafik wrapper der eventuelt kunne bruges til dit formaal. Men med mindre det er et MEGET AVANCERET interface (brugeroverflade) vil jeg dog stadig mene at det er lidt over-kill at bruge et hardware understoettet API til en ganske almindelig Windows brugeroverflade!

NB: Windows programmer hvor det kunne vaere godt at bruge DirectX (OpenGL) ville eksempelvis vaere musik programmer der skal tegne real-time lyd-boelger (Waves), osv!



men hvad skal jeg så bruge til at lave en brugeroverflade (normalt niveau)? fordi jeg kender desværre ikke nogle "normale" indstillinger til at "tegne" med.



Bare brug Widows GDI!
Saa som SetPixel() osv.



men hvad skal jeg så bruge til at lave en brugeroverflade (normalt niveau)? fordi jeg kender desværre ikke nogle "normale" indstillinger til at "tegne" med.


Jeg vil anbefale at du tager et kik på denne:

http://www.winprog.org/tutorial/index.html



hvilken af disse er så bedst at bruge til hvilke formål? (SetPixel, OpenGL, DirectX) og hvilke svagheder har de?
desuden har jeg tænkt mig at lave et spil(med bevægelser), så jeg vil godt vide hvilken metode jeg skal bruge til det?
til sidst ville det være rart med en hjælpeside til dem hvis i kender en.



GDI: Software understøttet grafik.
Fordele: Det bruges på alle PC'er.
Ulempe: Det er langsomt hvis man vil lave advanseret grafik. Er kun kompatibel med Windows en platform.

OPENGL: Hardware understøttet grafik.
Fordele: Ekstrem hurtig vektor beregninger og kan derfor bruges til advanseret grafik, så som 3D spil. Desuden er OpenGL platform uafhængig. Og kan derfor bruges til mange forskellige OS, Windows, Linux, Mac's OS etc.
Ulempe: Kræver et OpenGL understøttet grafikkort!

DIRECTX: Hardware understøttet grafik.
Fordele: Ekstrem hurtig til vektor- og raster-grafik. Er derfor velegnet til både advanseret 2D og 3D grafik.
Ulempe: Er kun understøttet af en Windows platform. Kræver DirectX understøttet grafikkort.

NB: Der skulle efter sigende ikke være forskel på hastighed og performance mellem DirectX og OpenGL længere! Da de begge bygger under mere eller mindre de samme teknologier. Desuden har begge teknologier programmerebare pipelines, og understøtter derfor begge shaders (Vertex og Fragment/Pixel)! Se eventuelt på www.nvidia.com eller www.ati.com for yderligere information!



t