Me kokku käime (We Go Together)
konverents (Siim Karus ja Toomas Laasik)
See lehekülg sisaldab informatsiooni arvutigraafika kursuse tiimi konverents projekti WGT kohta.
Dokumendid
Failid
Objektid
WGT on programm, mis koosned objektidest.
Sisuliselt on üritatud luua võimalus koostada 3D graafilisi maailmu ja keskkondi kasutades Mozillale ja Microsoftile omast COM arhitektuuri.
Selle tulemusel saab iga isik meisterdada meie programmile kasutades Objekti SDK-d (mis on valmimisel) täiendusi.
Ka meie ise oleme loonud mõned objektid, millest osad on vajalikud süsteemi komponentide omavahelise suhtluse korraldamiseks, teised aga näitavad mõningaid lahendusi, mida saab nö. lisana meile juurde luua.
Järgnevalt kirjeldamegi osade komponentide funktsionaalsust ja kasutust.
-
DummyObject - kuulub Objekt SDK-sse kui näidis tühjast objekktist, mis suudab end meie süseemi tuumaga siduda. Kasutatav kui mall/blankett uute objektide loomisel.
-
Visual - kogu visuaalse maailma keskus. See objekt on kõige tihedamini seotud tuumaga. Siia saabuvad süteemi poolsed teated kui ekraan on vaja üle joonistada, samuti asub seal taimer, mis joonistab pildi iga natukese aja pärast üle. See objekt ütleb HUD objektile (vaadake allapoole) ja Ruum objektile (vaadake allapoole), kui tuleb end üle joonistada või kui tuleb kindlaks määrata, kuhu kasutaja oma hiirega klikkas. Samuti astutab see komponent ruumide ja HUDide vaheliste konfliktide eest.
-
HUD - tegeleb peamiselt menüüde, nuppude ja näidikute näitamisega. Iga objekt saab HUDilt paluda enda tarbeks paari nuppu, millega kasutaja saab objektiga suhelda. Nupud paigutab HUD ise.
-
Ruum - tegeleb kolmemõõtmelise graafikaga. Siia seovad end kõik kolmemõõtmelised objektid, mis soovivad ennast joonistada siia ruumi. Tegelikult õib ruumis olla ka nähtamatuid asju, kuid põhirõhk on siiski objektide paigutamisel ja haldamisel. Ruumidel piire ei pea olema, samuti võib puududa sisustus. Tegemist võib olla nii sise kui välisruumiga. Näiteks avakosmosega nagu näidisprogrammis seda võtta võib (näidisobjektid eeldavad, et tegemist on piiramatu ruumiga). Ruume võib olla rohkem kui üks - nt. üks on koosolekue jaoks, teine muusika kuulamiseks, kolmas AG esitluse näitamiseks. Näidisruumis saate navigeerida nooleklahvidega.
-
Pall - Näidisobjekt, mis kuvab oma asukohale keerleva kera sõrestiku. Meie esimene ja arvatavasti kõige lihtsam näidisobjekt (soovitav on algajatel arendajatel samasugune objekt alguses teha, et harjuda meie süsteemiga).
-
Fraktal - Näidisobjekt, mis kuvab Sierpinski kolmnuga oma asukohale. Tegemist on juba keerulisema näitega, kus on rõhku pandud OOP võimalustele.
-
SOL - Viimasel hetkel lisaud näidisobjekt, mis kuvab meile päikesesüsteemi simulatsiooni. Siin on demonstreeritud klaviatuuri püüdmist ning ruumi ja visuali poolt antud vaadete (maatriksite) ülekatmist. Nimelt saab seal näiteks numbriklahvidega fokuseerida eri planeetidele või lausa päikesele. Samuti on seal kasutuses veel mõningasi huvitavaid klaviatuurilt käivitatavaid funktsioone.
-
Programmi tuum seob kõik ülejäänud objektid.
Ta laeb need failist jajagab neid teistele.
Tuum on disainitud nii, et isegi vigased (välised) komponendid ei peataks programmi tööd.
See peaks tagama suurema stabiilsuse kuna vigadele reageeritakse reaalajas nende esinemise ajal.
Samuti tagame me nii programmi jätkusuutlikkuse koormatud süsteemis ja teie üle võrgu peetav konverents, kus te oma vastvalminud uhke KeyNote'i või PowerPoint esitlusega esinete, ei jää pooleli.
Siit betatestijatele palve - üritage seda programmi kasutada võimalikult ekstreemsetes situatsioonides teavitades meid juhtudest kui programm ootamatult töö lõpetab või kokku jookseb. Beta versioon teeb isegi lõppversioonist suuremat töölogimist, et iga pisiprobleem meieni jõuaks.
Täname kõiki testijaid!
Kuigi ühte ruumi saab panna mitu objekti, on hetkel see mittesoovitatav.
Näiteks on meie näidisobjektid väga erinevas mõõtkavas ja seega võivad objektid lihtsalt ruumist ära kaduda (olles vaate jaoks liiga suured või väikesed).
Samuti tuleb silmas pidada, et tegemist on betaversiooniga, mille algoritmid ei ole veel saanud viimast lihvi ja võivad seetõttu käituda veidralt.
Projekti alguses oli tegijaid kolm, kahjuks projekti käigus üks lahkus ja seetõttu jäi palju soovitut tegemata (sh. korralik unixi tugi - praegu lihtsalt ei saanud testida).
Kood ise (vähemalt tuumaprogrammil) on küll üritatud kirjutada võimalikult multiplatvormselt, mida on ehk näha ka siin üleval olevatelt dokumentatsioonilehtedelt.
Veebis olevad dokumentatsioonilehed pole lõplikud, palju on veel puudu!
Lihtsalt arvutigraafika aine peaeesmärk oli luua programm, mis võimaldaks graafikavõimalusi demonstreerida ja selle juurde antud aja jooksul kahjuks ei ole me jõudnud dokumentatsiooni arendusega sünkroonis hoida.
Siiski on meil juba tihedalt vaja läinud veebis olevat dokumentatsiooni, mis kulub ka alustavale WGT objektide arendajale kindlasti ära.
WGT objekte saate arendada peaaegu igas keeles, mis võimaldab teil luua eksporditavate sümbolitega teeke.
Oma SDK-s on meil siiski olemas hetkel vaid Dev-C++ mallid, kuid soovi korral võima ka VC++ viisardeid teile pakkuda.
Programm saab olema nii vaba tarkvara kui ka vabavara litsentside all saadaval.
(C) 2005 konverents (Siim Karus ja Toomas Laasik)