Gjort ett 2D spel :).

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
SvenW
Inlägg: 1155
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Inlägg av SvenW »

Grafikbibliotek i gnu/Linux:
I botten ligger X11. X-servern som hanterar musklick, tangenter osv.
X-servern skickar vidare dessa 'events' till tillämpningsprogrammet, som kommunicerar via Xlib, ett bibliotek man länkar till sitt program. Exempel på rutiner är
XDrawRectangle(), XDrawPoint(), XDrawText()...

Ovanför tillämpningsprogrammet finns finns dessutom en WindowManager som sköter viss fönsterhantering som exempelvis 'stäng'-knappen längst upp till höger.

Så finns det grafiska bibliotek som Gtk+, Qt, Motif, Lesstif, wxWidgets m.fl.
Dessa innehåller färdiga delar som 'widgets' m.m.
En ambition med dessa bibliotek är att de skall fungera
likartat på flera operativsystem inkluderande Microsoft.

Ovanför dessa finns "skivborden" gnome och KDE. Det går bra att köra Qt-program under gnome och Gtk+-program under KDE, även om vissa finesser inte alltid fungerar lika bra. Gnome kanske blockerar vissa händelser eller 'modifier'-tangenter och KDE andra, vilket kan ställa till lite strul.

Det går givetvis inte att säga vilket grafiskt bibliotek som är bäst, men själv använder jag numera mest Xlib, för att det är på lägsta nivå och därmed roligast och snabbast.

Samtliga nämnda grafiska bibliotek är omfattande och tar tid att lära sig. Men man behöver inte kunna allt.
Användarvisningsbild
stekern
Inlägg: 453
Blev medlem: 2 november 2008, 08:24:18
Ort: Esbo, Finland

Inlägg av stekern »

Som slaeshjag nämnde tidigare finns även SDL om man vill skriva plattformsoberoende:

http://www.libsdl.org/

grymt lätt att föra över kod mellan plattformar, jag har testat att köra en "waterdemo effekt" nästan rakt av på pocket pc, windows och linux.

jag kan bjuda på den, inte på nåt sätt optimerad och helt utan garantier ;)

http://www.chokladfabriken.org/tmp/water.zip
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

SvenW: Att tillägga; Xrender (del av X numer) samt Cairo för mer desktop-grafik.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Okej, Nu använder jag bara windows (även om jag har planer på att någon gång börja med linux), så jag vill ha något som fungerar bra med windows, men som även fungerar på linux. Sen ett annat krav jag har, jag vill ha en programmeringsbok där dem använder det biblioteket. Så vilket är bäst att satsa på då? ORGE såg ju riktigt trevligt ut, men hur lätt är det att byta operativsystem då?
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Inlägg av BJ »

Tack för alla förslag och förklaringar. Det var precis vad jag ville veta. :) :tumupp:
Jag tittar gärna mer på länkar och filer lite längre fram. ;) Jag har sparat den så länge. :)
SvenW
Inlägg: 1155
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Inlägg av SvenW »

squiz3r:
Det finns en bok om GTK+/Gnome
http://www.librarything.com/work/187883
http://developer.gnome.org/doc/GGAD/ggad.html

Det finns en hel del böcker och 'tutorials' på nätet. Det är bara att leta.
Se t.ex:
http://tronche.com/gui/x/xlib-tutorial/

Böcker i ämnet på svenska finns förmodligen inte.
Användarvisningsbild
JonasJ
Inlägg: 653
Blev medlem: 11 september 2007, 16:02:26
Ort: Kinna
Kontakt:

Inlägg av JonasJ »

squiz3r, vad är det du vill programmera? Är det spel eller nyttoapplikationer?

GTK är i grunden ett C bibliotek men det finns bl Gtkmm som ligger som ett C++ skal runt C-biblioteket (alltså en sorts wrapper med andra ord). GTK är främst avsett för nyttoprogram och har ingen direkt support för spelprogrammering.

Eftersom du pratade om DirectX tolkade jag det som att det var spel du ville göra. Isåfall kan jag fortfarande starkt rekommendera OGRE ;)

Det finns en bok som handlar om grunderna i OGRE men det finns gott om tutorials på nätet så en bok är nästan onödig.

Nu är OGRE en renodlad grafikmotor och det saknas bla. ljudmöjligheter och mer avancerade "inmatning"-funktioner (alltså typ joystick och mus i brist på bättre ord) så komplettera med t.ex SDL för ett helt komplett paketet. Det finns grundläggande hantering av mus och keyboard så i början räcker det med enbart OGRE.

Lättaste sättet att prova Linux är ett ladda ned en LiveCD t.ex. Ubuntu. Då kan du undersöka systemet utan behöva förstöra det du redan kört.

Ev. stavfel skyller jag på en alldeles för pigg bebis i knät :)
Skriv svar