Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Kirjoista (3D ja C++)

Sivun loppuun

Thyee [22.08.2009 22:57:05]

#

https://www.booky.fi/book.php?book_id­=9789521411922
https://www.booky.fi/book.php?book_id­=9789518461992
Jos tuollaisista olisi kiinnostunut, niin olisivatko nuo hyvät kirjat?
C++ alkeet on (ainakin jotenkin) hallussa, kun joskus netistä kattelin.
Eli sopisivatko nuo "aloittelijalle", vai pitäiskö C++ tilalle ottaa joku muu kieli? Vai olisiko parempia kirjoja? Kuullu vaan että C++ olis ihan hyvä ja monipuolinen kieli.

Ja sitten jos joku kertoisi hyvän C++ kääntäjän.

Antti Laaksonen [22.08.2009 23:15:47]

#

Kirjan "3D-grafiikka" alussa mainitaan:

lainaus:

Kirjassa tarvittava matematiikka käydään läpi perusteista alkaen, ja joitakin erikoistuneita aiheita lukuun ottamatta lukijalta edellytetään vain lukiomatematiikkaa vastaavat tiedot. Aiheen vaativuuden vuoksi on kuitenkin selvää, että yliopiston tai ammattikorkeakoulun matematiikan kurssien käymisestä on apua. Lukijalta oletetaan myös perusohjelmointitaidot ja ymmärrys perustietorakenteista – näiden aiheiden opiskeluun löytyy muita hyviä kirjoja.

Kirja "C++ ja olio-ohjelmointi" sopii luullakseni ohjelmoinnin aloittajalle.

C++-ohjelmoinnin välineitä on esitelty tässä:

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=cpp_ohj_l1

Thyee [23.08.2009 00:01:58]

#

Onkohan noita grafiikka opaskirjoja, joissa ei tartteittais ihan lukiomatematiikkaa, kun en ihan niin vanha ole.

jooh, ja Kiitos.

Metabolix [23.08.2009 01:29:32]

#

Ei grafiikka-asioissa kiusallaan käytetä mutkikkaita laskuja, vaan 3D-grafiikka ihan oikeastikin on niin mutkikasta, ettei siihen liittyvää matematiikkaa moni lukiolainenkaan ymmärrä luonnostaan, vaan koulutietoja pitää osata soveltaa. Useimmat tyytyvätkin vähäisempään ymmärrykseen ja valmiisiin kirjastoihin, joissa ei tarvitse kuin ladata mallinnusohjelmalla tehty malli ja käyttää helposti opeteltavia koodinpätkiä.

Ajattelepa loogisesti. Jos 3D-grafiikka olisi helppoa ja halpaa, miksi maailmassa on yhä niin paljon 2D-grafiikkaa?

3D-grafiikka vaatii sekä koneelta että tekijältä paljon. Kun vasta aloittelet ohjelmointia ja kavahdat lukiomatematiikkaa, kannattaa suosiolla unohtaa 3D-asiat vielä vuodeksi tai pariksi. Jos et saa ruudulle tavallista kuvaa, et varmasti saa 3D-mallejakaan. Jos et osaa tehdä parin kuvan animaatiota, et varmasti osaa 3D-animaatiotakaan. Opettele ensin tavallista ohjelmointia ja hetken päästä vaikka 2D-grafiikkaa. Sitten, kun osaat tehdä kaiken haluamasi 2D-grafiikoilla, voit harkita kolmiulotteisuuteen siirtymistä. Turha kuitenkaan kuvitella, että mikään muuttuisi siitä ainakaan yksinkertaisemmaksi.

Jaska [23.08.2009 23:30:03]

#

Metabolix kirjoitti:

Ajattelepa loogisesti. Jos 3D-grafiikka olisi helppoa ja halpaa, miksi maailmassa on yhä niin paljon 2D-grafiikkaa?

Ei kai 2D-grafiikkaa kuitenkaan valita sen takia, että 3D-grafiikka olisi vaikeaa. Näytöt vaan sattuu olemaan 2-ulotteisia ja useimpien ohjelmien toiminnot saa mahtumaan kaksiulotteisille näytöille.

Lineaarialgebran peruskurssilla pääsee hyvin alkuun 3D-grafiikassa. Koska näytöt on kaksiulotteisia, pitää jokainen 3D-kappale projisoida sopivaan tasoon, jonka jälkeen sen voi piirtää näytölle.

Grez [24.08.2009 00:11:01]

#

Kyllähän 3D grafiikka on kallista ja/tai hankalaa.. Tai ainakaan lähigigantissa ei ole edullisia 3D-näyttöjä myynnissä.

2D-grafiikaksi projisoidusta 3D-aineistosta ei ole useissa käyttötarkoituksissa juurikaan iloa 2D-aineistoon verrattuna.

jo123 [24.08.2009 00:24:03]

#

Jos haluaa tehdä hienoa 3D grafiikkaa ilmaiseksi, kannattaa kokeilla blenderiä (http://www.blender.org). Sisältää myös pelimoottorin, jota on paranneltu viime aikoina huomattavasti. Ominaisuuksiltaan samaa tasoa, kuin vastaavat monen tonnin 3D ohjelmat, esim. 3D Max. Ohjelmana kuitenkin hankala oppia, itse osaan joten kuten. "Oppimiseen" meni itselläni about vuosi.

PS. Taitaa mennä hieman alkuperäisen aiheen ohi

Metabolix [24.08.2009 00:59:53]

#

Jaska kirjoitti:

Metabolix kirjoitti:

Ajattelepa loogisesti. Jos 3D-grafiikka olisi helppoa ja halpaa, miksi maailmassa on yhä niin paljon 2D-grafiikkaa?

Ei kai 2D-grafiikkaa kuitenkaan valita sen takia, että 3D-grafiikka olisi vaikeaa.

Retoriikka taisi mennä ohi, joten otetaanpa uusiksi. Miksi yhä tehdään mm. isometrisiä 2D-pelejä, kun 3D-grafiikalla (tai soveltamalla vastaavia toteutustapoja 2D-grafiikkaan) päästään vähintäänkin yhtä hyvään graafiseen lopputulokseen ja vältetään samalla lukuisia 2D-grafiikan ongelmia? (Esimerkkejä ongelmista: Pelihahmo katsoo usein eri suuntaan kuin liikkuu. Hidastetut animaatiot nykivät. Muuttuva valaistus ja varjot eivät useinkaan toimi odotetusti.)

Halvalla ja kalliilla viittasin lähinnä vaadittavaan laitteistoon ja koodarin palkkaan. :) Tietysti itse koodatessa koodi maksaa vain vaivaa ja aikaa, ja koska aika on rahaa, hinta on yhä kallis. Ohjelmistoja kyllä saa ilmaiseksi, esimerkiksi Blenderin mallintamiseen ja ilmaiset C++-kehitystyökalut ja grafiikkakirjastot ohjelmointiin.

alottelijaa [24.08.2009 09:17:19]

#

Kun osaat C++:n perusteet suosittelen tutustumista irrlicht engineen. Se on helppokäyttöinen grafiikkamoottori jolla aloittelijakin saa ihmeitä aikaan :).
Kotisivuilta löytyy oppaita joiden avulla pääsee alkuun helposti.

E: kuitenkin ohjelmoinnissa loogisesti ajatteleminen on tärkeintä, ilman sitä et saa mitään toimivaa aikaan.

os [24.08.2009 17:08:05]

#

Itse sanoisin, että 2D-grafiikkaa tehdään ensisijaisesti siksi, että halutaan 2D-grafiikkaa :) Taulujakin maalataan edelleen, vaikka kamera, tietokone ja ties mitä muuta on keksitty. Se, että 2D-grafiikkassa voidaan hyödyntää 3D-kiihdytystä, on lähinnä tekninen yksityiskohta eikä muuta 2D-grafiikan luonnetta mihinkään.

Koska 3D-grafiikan ohjelmointi on luonteeltaan hieman erilaista kuin perinteissä 2D-grafiikassa, on mielestäni myös turha keskittyä liikaa 2D-grafiikkaan 3D:n opettelussa, vaikka 2D-tietokonegrafiikan perusteet onkin syytä tuntea. Myöskään vaadittavien matemaattisten taitojen osalta tilanne ei periaatteessa ole aivan niin synkkä kuin monet nyt antavat ymmärtää. Lukiomatematiikka keskittyy pääosin aivan muuhun kuin 3D-grafiikan kannalta oleellisiin perusasioihin. Varsinaisen 3D-grafiikan luomiseen tai ohjelmoimiseen järkevillä kirjastoilla vaaditaan aluksi vain perustuntemus vektoreista ja yleistä avaruudellista hahmotuskykyä: "Mitä tapahtuu kappaleelle, kun sitä ensin siirretään paikkaan A ja sen jälkeen käännetään akselin B ympäri C astetta?"

Ohjelmointitaitoja sekä itsenäistä oppimis- ja soveltamiskykyä vaaditaan joka tapauksessa, joten riittävän motivoitunut ohjelmoinnin (ja mielellään englannin) perusteet hanskaava henkilö voi mielestäni aivan hyvin kokeilla (jopa onnistuneesti) 3D-ohjelmointia ilman "muodollista pätevyyttä" matematiikassa tai 2D-grafiikassa.

Thyee [25.08.2009 19:13:05]

#

Kiitos vastauksista.

Mitäs mieltä olette CoolBasic ohjelmasta? Nykyään pystyy vain 2Dtä tehdä. Jota sillä osaan jo tehdä...
Mutta senhän pitäisi tämän vuoden aikana päivittyä 3Dhen, Ja se käyttäisi muistaakseni/kuulemma juuri tuota Irrlicht engine pelimoottoria.
http://www.coolbasic.com/phpBB3/viewtopic.php?f­=9&t=759&sid=72a66e72bfb50e24a9dfd8527d2e8205 <--Tossa joku esimerkki, sen 3D koodista.

Kannattaako tuolla alkaa sitten tekemään, vai luenko ihan C++ kirjoja ja sitten joskus jotain muuta?

alottelijaa [25.08.2009 19:37:23]

#

coolbasic on hidas "alkulataamaan" sillä tehtyjä pelejä ja niiden koko on suuri. C++:lla tuskin saat mitään aikaan ennenkuin osaat käyttää osoittimia, koska niitä tarvitaan melkein joka paikassa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta