Päivää.
Kuten otsikosta jo huomaan niin tämä aihe liittyy rajapintoihin ja tarkalleen c/c++:salla käytettäviin rajapintoihin. Eli itse kysymykseen.
Mitä rajapintaa itse käytät kun ohjelmoit jotain c/c++:salla?
Mitkä ovat kyseisen rajan pinnan hyödyt/haitat?
Jo on tyhmä kysymys.
Riippuu tietenkin siitä, mitä ohjelmoin. Käytän esimerkiksi OpenGL:ää, ehkä STL:ää ja SDL:ääkin joskus. WinAPI on varsin mukavasti hallussa tarpeen mukaan, ja hätätilanteessa syntyy Xlibilläkin jotakin. DirectX:llä tein ensimmäisen tetrikseni, ja sillä väkertelin, kunnes siirryin pelkkään OpenGL:ään. wxWidgetsin olen nähnyt, GLUT on tullut kokeiltua ja OpenAL pitäisi joskus opetella. MFC ulkonäöltään tuttu, ja onpa senkin kanssa tullut joskus jokin ikkuna piirrettyä ruudulle. Myös Berkeley socketit ja WinSock-rajapinta ovat tulleet vastaan. NCurses on varsin avulias, jos pitää saada tekstimuodossa paljon tietoa pysymään ruudulla. Sitten on noita pienempiä rajapintoja, kuten zlib, libpng ja niistä muodostuva glpng, joka on erittäin tervetullut apu PNG-kuvinen käyttöön OpenGL:ssä.
Varmaankin noita pienellä miettimisellä löytyisi vielä jokunen tusina lisää. Otetaanpa sen sijaan järki käteen ja mietitään, mitä mieltä tässä aiheessa on. Jos kiinnostaa lukea johonkin tarkoitukseen olevista rajapinnoista, voi etsiä hakukoneella pitkiä dokumentteja niiden eduista ja haitoista. Ne, jotka täällä kävijöistä ymmärtävät todellisia hyviä ja huonoja puolia eri kirjastoissa, katsovat mitä todennäköisimmin hyväksi olla kääntämättä internetistä löytyviä englanninkielisiä selostuksia aiheista. Sen sijaan ne loput taas perustavat näkemyksensä paljon yksinkertaisempiin asioihin. Tuskinpa täällä monikaan pystyy OpenGL:n ja Direct3D:n hyvistä ja huonoista puolista sanomaan juuri muuta kuin sen, että Direct3D on Microsoftin teos ja täten toimii vain Windowsissa, ja ehkä sen, että Direct3D näyttää hyvin paljon vaikeammalta kuin OpenGL. Näiden eroista löytyy helposti varsin mittavia analyysejä, joita voi aivan itse etsiä, jos kiinnostaa.
:D
Haluatko kuulla oikeasti huonon puolen?
OpenGL käyttää oikeanpuoleista kartastoa. Yritä siinä sit vasemmalla kädellä modelloija ku pidät oikeaa kättä oppaana :)
Ei mut oikeesti sillä on lähinnä vaikutusta normal-mäppeihin omissa töissäni jos joku päivä joutuisin Direct3D:hen alentuu, värit tulee eri suunnista. Niitä mäppejä ei noin vain mirrorilla/flipillä vedetä vaan joudut tekemään kokonaan uuden kartan displacement mäpistä.
Nimimerkki "I love Microsoft too"
Jaa-a. Tuohon ei voi muuta sanoa kuin että minkäs teet Direct3D:n kanssa, kun se tyhmä käyttää vasenkätistä koordinaatistoa? Menee kaikki aivan väärällä tavalla, matematiikat uusiksi jne. OpenGL siis käyttää sitä tuttua koordinaatistoa, jota matematiikassa normaalisti käytetään. Ja taitavat useimmat mallinnusohjelmatkin ennemmin käyttää sitä, ainakin ne, joita minä olen kokeillut.
Cc kirjoitti:
Mitkä ovat kyseisen rajan pinnan hyödyt/haitat?
Kenties tarkoitat että "Mitkä ovat omasta mielestäsi kyseisen rajapinnan hyödyt/haitat?". Tässä muodossa kysyttäisiin käyttäjien mielipiteitä, jotka saattavat erota hyvinkin paljon siitä mitä on netissä olevissa oppaissa. Näin ollen jos ei jokaisesta rajapinnasta ole täsmälleen samoja mielipiteitä, ei sitä koskaan tule löytämään opasta, joka kertoisi täsmälleen saman asian minkä joku putkassa..
-Grey-
Aihe on jo aika vanha, joten et voi enää vastata siihen.