A grafika, hogyan kezdjem?

Ez a téma lezárásra került a moderátor által. A lezárás oka: Mennyi topikot nyitsz m�g - szinte - ugyanarr�l a t�m�r�l (r�ad�sul, ut�na hozz� sem szagolsz)? Nyiss egy �ltal�nos j�t�kfejleszt�ssel kapcsolatos topikot �s l�gy is akt�v ott!
Címkék
A grafika, hogyan kezdjem?
2010-02-07T21:34:51+01:00
2010-02-08T22:44:48+01:00
2022-06-29T07:40:42+02:00
  • Off:
    En peldaul orulnek ha a suliban is kemenyebben tanitanak az infot,mert a neten szamomra sok minden erthetetlen es meg a tanarral elerunk odaig
    Mutasd a teljes hozzászólást!
  • Azért nincsenek könnyű helyzetben.
    Mondjuk a programozást tanítani eleve olyan tudna csak, aki gyakorolja is azt. Idővel az én tudásom is kopik, frissíteni kell szinte nap mint nap. Ráadásul jó, ha a tanár többet tud mint a diákok. Emellett folyamatosan változnak az igények, változik a nyelv, platform stb.

    Képtelenség azt mondani, hogy egy 20 oldalas jegyzetet átolvas valaki akkor onnan 10-20 évig oktathat programozást. De nem tudom el lehetne e várni mást a tanártól, ha nem érdekli a programozás (számitógép, informatika), csak azért foglalkozik ezzel, mert ő ért rá, meg "kényelmes állás".

    Ha jól tudom csak tanári diplomával lehet infót oktatni. Szerintem jobb lenne, ha ezt a (nem túl sok) pénzt odaadnák 1-2 fiatalabb srácnak akik valóban napi szinten használják ezeket a dolgokat, képben vannak.
    Bár lehet ennyiért senki nem vállalná, vagy egy hozzáértő túl sokat várna a tanulóktól.
    Mutasd a teljes hozzászólást!
  • "Amúgy szerintem sok iskolában tanítanak még Pascalt (egyszerűen a tanár nem ismer mást),"

    ezt rosszul tudod: náluk a tanár óra előtt gyakorolta be a tananyagot, amit aztán leadott.
    hiába írta ki a pascal hogy ";" hiányzik az xy sorban, a tanár átnézte az egész forráskódot és ha nem találta, akkor ráfogta, hogy rosszul másoltuk le a tábláról...

    nahát, ő nyugdíj közeli matek tanár volt, de a suliban matek tanár épp volt elég, aztán vlhogy gyorsan info-tanár lett belőle.
    Mutasd a teljes hozzászólást!
  • Nagyjából jól mondod.
    Annyit tennék hozzá, hogy a Pascal után nem biztos, hogy a C-t olyan szimpatikus nyelvnek fogja tartani. A C++-t sem, de lehet kénytelen lesz megtanulni.

    Amúgy a Pascal és a DOS egész jó alap, főleg ha később OpenGL-t fog programozni. Szóval kis BGI-s 3D vektorgrafika készítése jó alap az OpenGL-hez, a működés nagyjából hasonló (kis túlzással 10 perc alatt át lehet állni).

    Könnyű út tényleg nincs.
    Ha a programot megírni könnyű (pl. Java, C#), akkor a nyelv és a környezet megismerése nehéz, ha a környezet egyszerű akkor meg a programot nehéz megírni (pl. Pascal).
    Egy "game maker" vagy kész motor meg egy idő után nem azt csinálja amit szeretnénk és előbb-utóbb át kell írni, esetleg saját "grafikus motort" kell írni.

    A legelső 3D-s programot amúgy simán meg lehet írni 2D felületre, sok problémát ott is meg lehet oldani. Ha meg ez már működik akkor elég hamar át lehet írni úgy, hogy használjon valami hardveres támogatást. (Az OpenGL tényleg könnyen elsajátítható ezután.)
    De mire mindent összeszed az ember az több hónap (év) munkája lesz, szóval így kell tervezni.

    glezmen-nek abban igaza van, hogy a Pascalt megtanulni nem biztos hogy érdemes ma már. Főleg ha ismer valami jobbat az ember. De aki nem tud programozni és más nyelvet nehéznek talál az kezdheti ezzel is. 1-2 hónapig ezzel is el lehet lenni, de szerintem még egy évig is. Később, más nyelveken is nagyjából ugyanazt a kódot fogja írni az ember, szóval nem elpocsékolt idő. Persze rögtön azt a nyelvet megtanulni amit 10 év múlva is használhat az ember -az még jobb dolog.

    Amúgy szerintem sok iskolában tanítanak még Pascalt (egyszerűen a tanár nem ismer mást), és nem is hiszem hogy ennél komolyabb nyelvet érdemes tanítani annak, aki egész életében a suliban tanul programozást 4-5 órában mert kötelező.
    Legfeljebb csinálhatnának egy olyan fordítót, ami a TP kódot windows-os felületen futtatja gond nélkül (mondjuk assembly-t és komolyabb hardver programozást kivéve) és akkor jó lesz ez még 20 év múlva is tanuló nyelvnek.
    Mutasd a teljes hozzászólást!
  • szepen leirtad, hogy aki 10-15 evvel ezelott kezdte, hogy fejlodott :D
    ma azert mar mas a vilag, a Pascalt szerintem elkezdeni sem erdemes, a topcindito meg mar irt konzolos programokat, tehat egy nyelvet mar (remelhetoleg) ismer
    ha ez nem a C/C++, akkor azt muszaj lesz megtanulni
    aztan johet az SDL, grafikat tanulni nagyon jo, ho'tt eCCeru, nem gabalyodik bele az ember
    jatekkesziteshez meg megintcsak jo valasztas (keszult mar egy-ket jatekom SDL-el), felesleges egybol a melyvizbe (openGL/DX) ugrani
    Mutasd a teljes hozzászólást!
  • hát kezded a a turbo pascal-os bgi putpixel-el.

    rájössz, hogy iszonyat lassú. elkezdesz olvasgatni, forrásokat nézni, hogy lehet hogy másoknak mégis gyors...

    aztán rájössz, hogy assembly sokat segíthet, mert abban megszakítások nélkül lehet képpontot kirakni.

    közben áttérsz a "borland c++"-ra, mert azt hallod, hogy minden "menő" játék abban készül.

    1-2hónap után összedobol a 10-12soros putpixel programot(függvényt) ami már gyors, de nem az igazi, "villog" a kép.
    ekkor olvasol megint könyv, forráskódokat, és meglátod a csodát, aminek a neve: dupla bufferelt megjelenítés.

    ez megint kemény dolog(elsőre), pedig csak arról van szó, hogy a bufferbe(1ram területre,tömbbe) ír a putpixeled, és aztán 1-1 ben átmásolja a videoRAM címére, amit ugye tudjuk, hogy 0xA000-nél kezdődik.

    eztán gondolkozol, hogy kevés a 320x200 és rájössz, hogy VESA kell neked. 640x480 na ez már elég lesz, de ekkor megint probléma kerül elő: eddig 320x200=64000 bájt, ami pont elfért egy 16bites regiszterben(ax...). igen, de a 640x480 az már 307200 bájt, ami ugye nem fér el a 16bites regiszterben.

    307200/65536=4,6875, ami így hülyeségnek tűnhet, de maradékos osztással lesz értelme. ez azt jelenti, hogy van 4teljes 64KB-os terülted, amit 1-1be kell átmásolni és egy 45056bájtos terület(bufferelés esetén).
    de megint dilemmába kerülsz, mert lassú és lassú...
    aztán rájössz, hogy az állandó megszakítás a putpixelben, ami a vbank váltáshoz(lapozáshoz) kell, a ludas. 1-5nap után megoldod, hogy a putpixelt(köszönhető volt a kevés példaprogramnak, és dokumentum hiányának), hogy csak akkor váltson vbankot, ha tényleg szükség van rá.

    észre se veszed és rájössz, hogy a C vagy a C++ nagyon olvasható kis nyelv és ezért már nem lesz többé kérdés, hogy miben írjál játékot...(és ezzel elkezdted játék írás első lépéseit)

    mára, nem kell vesződnöd a putpixel-el

    de ha viszonylag egyszerűen és gyorsan látványos dolgot akarsz, akkor GLUT(ablakokhoz, billentyű stb..) és az OpenGL-el könnyű kezdet lehet.
    ez azért is jó(OpenGL), mert 666oldalon leírják, hogy kell egy alapdolgokat összerakni. már video is van "jútyúbon", csak beírod, hogy OpenGL+tutorial(no igen, az angol nem árt hozzá, ehhez az egész programozáshoz).

    hát a DirectX, iszonyat összetett rendszer, ha nem vágod az objektum orientált szemléletet, akkor esélytelen, hogy kezdjél vele valamit, továbbá a C++ nyelvet is ismerni kell hozzá(nem a helló világ, és ismerem a tömböket szinten,ja meg írtam már ciklust is...). még 1hátrány DX-ben kezdő programozóknak, egy háromszög kirajzolás is iszonyat kódmennyiséget igényel. OpenGL-es környezet sokkal könnyeben elsajátítható és ugyanolyan szintre vihető, mint a DX.
    habár xbox-ra akarsz írni gamét, akkor a DX kell, de addigra már lesz elég tapaszpontod és könnyedén térsz át OpenGL-ről DX-re. végül is, a DX-ből is sokat lehet tanulni(hogy hogyan építették fel, miért úgy stb...).

    ha megy az angol itt lépésről-lépésre le van írva.OpenGL @ Lighthouse 3D - GLUT Tutorial

    próbálkozhatsz a magyar oldalakkal is, de általában elvárás, hogy tudjál "integrálni": GLUT

    a magyar szakirodalom, "menőzik" és ezért alap dolgokat nem ír.
    az angol irodalom, mindent leír, ami az adott fejezet megoldásához, elsajátításához szükséges lehet. igaz, hogy ezért lesznek 666-999 oldalasak(önvédelemre alkalmasak), de szinte biztos, hogy megérted és nem kell még 6 másik könyvet megvenned.

    már vannak kifejezetten játékkészítő könyvek is:
    pl.: "Programming Role playing Games With DirectX" Jim Adams-től. ebben elég sok minden van, alapoktól kezdi: ablak létrehozása..., még kis C++ dolgokat(ilyen tippek-trükkök) is ír, bár mindenképpen szükség van a C++ nyelv ismeretére(
    habár mindenhez kell, a programozási nyelv azért van, hogy tudjál "beszélgetni" a géppel, hogy megtud kérni a CPU-t, hogy adjon neked memória területet, aztán megkérd, hogy írjon bele számokat, hogy itt tud tárolni a modellt, a GPU-nak tud mondani, hogy a élsimításhoz, ezen a képpontokon menj végig 1/2-es lépésközökkel, aztán átlagold a vett minták összegét, meg blablabla..).

    szóval teljesen mindegy hol kezded: könnyen járható út nincs. ha lenne, akkor mindenki quake-t írna.
    Mutasd a teljes hozzászólást!
  • De az igazi programozók Fortranban dolgoznak.
    Mint az köztudott.
    Mutasd a teljes hozzászólást!
  • -Megnézed, hogy melyik nyelvet ismered, használod.
    -Ebben milyen lehetőségek vannak 3D grafikára (ha az kell neked, de gyanús, hogy 2D-t sem merítetted még ki).
    -Körülnézel a neten, melyikhez vannak tutorialok, példaprogramok, könyvek, leírások.
    -Kipróbálsz 1-2 példát, hogy egyáltalán tudod e fordítani és futtatni.

    Ha ezt végigzongoráztad utána használod (tanulod) azt, amelyik a leg szimpatikusabb, vagy amelyik egyáltalán működik. Sok könyv, sok példa, sok gyakorlás.

    Esetleg egy tipp: C# és DirectX.
    Bár a profik Turbo Pascalban nyomják.
    Mutasd a teljes hozzászólást!
  • Attól függ, hogy azokat "kis konzolos" programokat miben írtad. Milyen nyelven, milyen platformon?
    Ha játékokat szeretnél írni - és grafikusat - akkor C++ és DirectX, vagy OpenGL.
    Mutasd a teljes hozzászólást!
  • Használj valami grafikai apit: SDL(legegyszerűbb), OpenGL, Direct3D, XNA.
    Mutasd a teljes hozzászólást!
  • Hát ne így...
    Mutasd a teljes hozzászólást!
  • Hello,
    Én még csak kis console-os játékokat írtam... de szeretnék mostmár igazi játékot írni.
    Hogy kezdjem?

    (Ebben szeretnék segítséget kérni)
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: Mennyi topikot nyitsz m�g - szinte - ugyanarr�l a t�m�r�l (r�ad�sul, ut�na hozz� sem szagolsz)? Nyiss egy �ltal�nos j�t�kfejleszt�ssel kapcsolatos topikot �s l�gy is akt�v ott!
Címkék
abcd