Keresés

Aktív témák

  • QuarK

    senior tag

    válasz Rover623 #16 üzenetére

    A FreePascal forráskódjában megvan a graph forráskódja. Én is annak segítségével csináltam anno HighColor GUI-t, 1024x768-as felbontásban. És még nagyjából gyors is volt.

    Egyébként eltekintve a VESA és 15 bites színmélység előnyeitől, figyelembe kell venni, hogy a TP eléggé lassúcska egy nyelv (legalábbis az én 333MHz-es noteszemen oda kell figyelnem a performanszra :D)...

    320x200-ban a következő dolgokat tudtam használni: Virtuális képernyő. Nem a videomembe írok, hanem egy lefoglalt 64000 blokkba, majd egy assembly eljárással villámgyorsan tolom a képernyőre, és ugyanilyen hamar törlöm is. Gyors árnyékolás: egy 256x64 méretű kép (colormap) segítségével egész szép fény-árnyék effektusok érhetők el.

    Engem mindig is foglalkoztatott ez a 3D megjelenítés, és persze én is pascalban próbálkoztam. Először jött a szokásos háromszög poligon megjelenítés, flat shading, majd gouraud shading, majd ezek vegyítése a texture mapping-gal. Csak hát itt gond volt a perspektíva korrekcióval, és persze a gouraud sem a legszebb árnyékoló algoritmus. És további effektekről nem is igazán álmodhattam.

    Majd végül mielőtt a C-re áttértem volna az alábbi szinten maradtam: 16 pixelenkénti perspektíva korrekciós poligonok kiköpése, árnyékolás az alábbi módon: direkt a textúrán hajtottam végre a megvilágítást; majd azt rajzoltam ki (lightmapping, a'la Quake1). Meg persze átlátszó felületek; kavargó felszín; Z-puffer. (mondjuk ezt érdekesen oldottam meg; két 64000-es pointerem volt, egy az alsó 8 bitnek, a másik a felső 8-nak (ti. a mélységet integerben tároltam :DDD)

    Itt egy kép is:

    [kép]

    De aztán feladtam, mert így is már 400k memóriaigénynél tartottam, és még be se lett töltve pálya, meg textúra sem. XMS-el elbíbelődhettem volna, de összességében a pascal szvsz nem alkalmas jó minőségű 3d megjelenítésre. Valahol mindenképpen veszíteni kell (minőség, textúrák száma, sebesség, stb.)

  • QuarK

    senior tag

    válasz Polyák #5 üzenetére

    :Y

    Én anno 1-2 évig hobbi szinten foglalkoztam ezzel, akkor (bár nem pascal alatt) átgyúrtam a quake motort, hogy quake2 szintű grafikát nyújtson, DOS alatt. Igazából nem tudom, mit ajánljak.

    Letöltöd a forráskódot Bővebben: link, GPL, azt teszel vele amit akarsz. De ehhez tényleg az kellene, hogy már nagyon régóta foglalkozz a dologgal, de tanulásra is jó szvsz.

    Egyébként volt némi poén felhangja is a dolognak, de az biztos, hogy szép nagy falat, és mindenki padlót fogna, ha Quake1 motor menne Turbo Pascal alatt. Nem lehetetlen feladat, de ne várj gyors sikert.

    Egyébként meg ez is jó hely, innen sikerült nekem egy-két érdekes 3d pascal progit leszednem (bár azok se léptek túl a Doom szintjén): Bővebben: link.

    Itt pedig néhány pascal-os 3d motor: Bővebben: link

    Ennyi, igazából én is úgy kezdtem, hogy keresgéltem agyba főbe, töltögettem, megnéztem, jó meghagytam, nemjó töröltem... :DDD És most már nem is tudom, hogy lehetne röviden erről mondani bármit is... :(

  • QuarK

    senior tag

    válasz b14 #3 üzenetére

    Hogyne lehetne.

    De doom szerű ál3d-nél többet ne nagyon várj... Próbáltam, bár izmos gépen biztos más a helyzet.

    Esetleg portold át a Quake1-et C-ből Pascal-ra... :D

    Szerintem akkor tiéd lenne a legjobb Pascalos engine.

Aktív témák