☰ Menu

Scene.hu

Magyar demoscene portál – grafikusok, zenészek, programozók alkotói közössége

A raytrace „hőskora”

Posted by slyspy on 2007-09-17, 09:01

vivid_horror_sm.jpgNemrégiben a kezembe került egy, az aktív scenerkedésem korából származó (kb. 10-11 évvel ezelőtt) íratott CD-m, kíváncsian raktam a meghajtóba, reménykedtem benne, hogy valami elfeledett régi nyalánkságot találok rajta. Az olvasó hosszas küzdelem után sosem várt, elveszettnek hitt kinccsel ajándékozott meg. Ez nem volt más mint a Vivid!

Beküldte: Gafvagas.png
A fiatalabb generációnak valószínűleg nem mond semmit ez a név, azoknak viszont akik a 90-es évek elején grafikával foglalkoztak (ezen belül is raytrace-szel) meglehetősen sokat. Ez volt ugyanis az egyik első igazi raytracer szoftver ami az akkori technikai lehetőségekhez mérten lélegzetelállító dolgokra volt képes. Csak azért, hogy jobban meg tudja mindenki érteni ennek a jelentését pár szót szólnék az „akkori technikai lehetőségekről”: 286-os, 386-os processzorok, ezek 16 – 40 Mhz –el működtek (a mai 3000Mhz –ekhez képest), 1-4Mb ram, és természetesen szó sem volt még grafikus, multitask oprendszerről, tehát csak DOS. A monitorok általában VGA (640×480) vagy SVGA (800×600) felbontással bírtak… Magyarán a mai mobiltelefonok messze lekörözik az akkori „csúcs” gépeket.

A Vivid ezen zord körülmények között volt képes megküzdeni a tükröződő felületek és fotonok millióival. Tette ezt annak ellenére, hogy kezelőfelülete sem volt és semmilyen modellező program nem állt rendelkezésre hozzá. A Vivid nem volt más, mint egy parancssorból futtatható, egyszerű fordítóprogram. A teret és a benne elhelyezkedő objektumokat (fényforrás, testek, közeg stb.), a felületeket egy forrásfájlban kellett „leírni” a Vivid nyelvén (akárcsak egy programozási nyelv) és ezt a forrást „fordította le” képpé a program.

A felhasználható eszköztárak meglehetősen primitívek voltak, a teljesség igénye nélkül bemutatnék néhányat:

Fényforrások:

A vivid 4 féle fényforrást ismert: pontszerű, spot, irányított és szórt. Az első három fényforrás pontszerűnek számított, és borotva éles (tökéletes) árnyékot vetettek a testek tőlük. A különbség csak a kibocsátott fénysugarak irányításában volt közöttük. A szórt fényforrás állt a legközelebb a valós fényhez, ezt a vivid rengeteg pontszerű forrással imitálta (ami a számítási időt sokszorosára növelte, így ezt akkoriban nem használta senki).

Testek:

Ami a modellezést illeti ez az alapja mindennek. A vivid ebben is elég „különc” volt, pár alaptestet ismert csak, mindent ezekből kellett felépíteni, koordinátáik megadásával: gömb, henger, korong és poligon. Az érdekessége a dolognak, hogy – szemben a többi korszerűbb modellezőtől – a gömböt és a hengert „nem poligonokból építette fel”, hanem „valódi (matematikai) görbékből”, ami azt jelenti, hogy végtelen nagyításban is „tökéletesek maradtak a testek”. A variációs lehetőséget az adta, hogy bármely testet, bármely más testtel el lehetett „vágni” (például egy gömbbe lyukat fúrni egy hengerrel stb.). Persze összetettebb formákat készíteni valóságos művészet volt, a számológép és a papírra készített vázlatok, koordináta és vektorszámítások, sinus-cosinus tétel stb. természetes velejárói voltak a modellezésnek.

Felületek:

A legnagyobb szabadság és a legszűkebb lehetőségek terepe. Hatalmas szabadságot adott a Vivid, ugyanis konkrétan semmit nem tudott a felületekről, viszont ismerte a fizikát. Így a felületek „fizikai (optikai) tulajdonságait” kellett számokkal leírni a Vividnek: milyen a színe, ha fény éri és milyen, ha sötétben marad (foszforeszkálás), mennyire képes átengedni a fényt, mennyit ver vissza a rá eső fénysugarakból, milyen a fénytörésmutatója stb. Ezeket nagyrészt RGB értékekkel adta meg az ember, de az egyéb fizikai tulajdonságokat én például a legtöbb esetben a négyjegyű függvénytáblázatból lestem ki. Ezeken felül lehetett hullámzást is adni a felületeknek (ezek nem változtattak magán a tényleges formáján a testnek, csak „bump mapping” imitációk voltak) szabályos és turbulens hullámokat ismert a program.

Textúrák:

Az igazi gyengesége ez volt a Vividnek. Semmilyen külső képet nem lehetett használni, mindössze 3 féle mintázat létezett: kockás, koncentrikus „karikás” és fraktál (mandelbrot). Viszont ezt a háromféle textúrát tetszőlegesen egymásba lehetett ágyazni és torzítani, amit kellő leleményességgel fel lehetett használni szinte mindenféle textúra készítésére.

Ezen felül volt még egy pár utasítás, amikkel többek között mélységélességet, antialiasingot, ködöt stb. lehetett állítani. Ezek természetesen olyan mértékben növelték a fordítási időt, hogy senki nem tudta használni őket. Ugyanis a fordítási idő egy „komolyabb” 1024×768 –as képnél, akár 1-2 hét is lehetett…

Ennyi szövegelés után pedig álljon itt néhány Vividdel készült képem is, hogy mindabból, amit leírtam látni is lehessen valami:

 

          vivid_horror_sm.jpg
      Horror – Rage ’96. party ray-trace compo 
           vivid_the_tube_sm.jpg
        The tube – SCEneST ’96 party ray-trace compo

          vivid_test_sm.jpg
        Test – Hullámzás (fényvisszaverődés manipuláció) 
           vivid_kocek_sm.jpg
        Kocek – Dobókocka „üvegből”

          vivid_gaf_sm.jpg
        Gaf – Poligonokból összerakott testek elforgatása
           vivid_terrornews_sm.jpg
         Terror News – A Terror News diskmag egyik címképe

      vivid_csapagy1996_sm.jpg
        Csapágy 1996 – Egy golyóscsapágy 96-ban renderelve
 vivid_csapagy2007_sm.jpg
  Csapágy 2007 – Ugyanez a csapágy egy P4 2.4Ghz-es
  procival,  minden extrával renderelve (12 óra renderelési
idővel!)

vagas.png

A folyamat, amíg az ötletből kép született sokszor hetekig, hónapokig húzódott. Én magam nem ritkán órákat ücsörögtem a konyhában a kávéspoharat szemlélve, hogy hogyan törik meg a fény a szélén, milyen értékekkel tudnám ezt lemodellezni…

Az utcán járva a tárgyakat figyeltem, hogy milyen testekből tudnám ezt felépíteni a Vividben… 5 óra renderelés után pedig szentségeltem, mikor egy nagy fekete semmi volt a képen, mert elszámoltam véletlenül valamit és a kamera a semmibe nézett.

Ma már persze mindez elég nevetséges, a raytrace technikával készült mozifilmek korában, mégis úgy érzem, talán vannak akiket érdekelhet, hogy miből fejlődött ki ez az egész.

Aktualitás

A Vivid egy klasszikus DOS alkalmazás volt, így a mai oprendszerek alatt működésképtelen. Szerencsére a program írója, Stephen B. Coy 96-körül készített egy Windows parancssorból futtatható verziót is!
A program teljesen ingyenes, aki esetleg kedvet kapott hozzá vagy csak kíváncsi rá, az szabadon letöltheti és használhatja. A weblapomon megtalálható ennek a cikknek egy egyszerűsített verziója és innen letölthető a Vivid program, a teljes dokumentációja és a magyarnyelvű fordítás, ami egykor a Terror News hasábjain jelent meg, valamint sok forrás is, amik megmaradtak régről nekem.

Aki tehát érez magában kellő elszántságot, az tegye próbára magát!

Gaf

(Kis guglizás után úgy fest, Stephen B.Coy emailcíme: scoy@microsoft.com :))) – slyspy)

Categories: Retro

17 Responses so far.

  1. avatar -SP- says:

    Engem valahogy sosem tudott megfogni a raytrace kategória. Meg úgy egyáltalán a 3D render cuccok. A handdrawn – vagy freestyle, de nem render – képek mindig sokkal jobban lenyűgöztek. De számomra mindennek a csúcsa mindig is a pixelezett grafika lesz.

  2. avatar Murphy says:

    Azért ekkoriban volt PC-n is 3ds 4, meg Imagine, amik jóval felhasználóbarátabbak voltak. Így a leírás alapján elég hardcore lehetett a Vividdel dolgozni.

    Tisztán Raytrace kategóriának igazából sose volt értelme egyrészt csomó dolog scanline renderelt, másrészt úgyis kell utómunka egy render képhez. Ugyanakkor kicsit visszásnak érzem, hogy egy fotó retus egy kategóriába kerül egy jóval több munkát igénylő 3d grafikával.

    [ módosítva Sep.17. 10:30 ]

  3. avatar blala says:

    Gyors google sajnos nem dobott ki eleg informaciot, de szerintem Vivid jelentosen elobb volt mint 3ds4 (altalanos iskolabol emlekszem a vividre :). Meg mernem kockaztatni, hogy mar akkor volt 1.0 belole, amikor egyaltalan elkezdtek dolgozni a 3d studion (ami viszont 89).

    Tovabba a 3d studio nem raytracer, kozel-tavol nem tudott hasonlo minosegu kepeket produkalni a release4 (helyette masban volt eros). Imagine nem tudom mikor volt de meg kesobbre tippelem. A vivid inkabb ilyen POVRay tipusu dolog.

    Viszont talaltam egy tok erdekes es reszletes oldalt a 3d-studio elozmenyeirol, ilyen mikroszamitogepeken csinaltak az arcok mindenfele erdekes programokat: http://www.asterius.com/atari/

  4. avatar Grass says:

    Az Imagine jóval korábbi mint a 3ds. 90-ben tutira volt már 1.5-ös verzió

  5. avatar Murphy says:

    Esetünkben teljesen mindegy, hogy egy programot mikor kezdtek el, én arról beszélek, hogy amikor ezek a képek készültek (meg amikor az első rende raytrace compók voltak), már léteztek PC-n is (az Imagine és a Lightwave amigán indult), rendes, GUI-val rendelkező 3d programok.

  6. avatar blala says:

    Oke, de esetunkben teljesen mas celt szolgaltak ezek a programok :) Ez egy rendering-engine, es mint ilyen, sokkal fejlettebb mint pl a 3ds4 (sokkal lassabb is, az igaz). Peldaul a bemenetet generalhatod is, nem feltetlenul kezzel csak irkalod a textfilet. Tovabba, ha jol ertem, ez egy egyemberes “hobbi” project, szemben a tobbivel, amik mind kereskedelmi szoftverek. De tenyleg, Murphy, akkor te a POVRay-t se ismered? :) Az ugyanilyen

  7. avatar Murphy says:

    blala: továbbra sem egyről beszélünk. Én csak azt mondom, hogy egy nyers, gui nélküli render engine-nel (főleg ahol még rendes modell vagy textúra input sincs) rendercompóra képet csinálni már 95-ben is aszkétizmus csúcsa volt. :) Szoval tök mindegy, hogy ki fejlesztette mennyiért és mikor, nem érte meg használni.

  8. avatar Edhellon says:

    Pedig a povray annyira tok hasonlo a vividhez, hogy sokaig azt hittem, arrol szol a cikk. :-) Es az (marmint a povray) a mai napig is tok nepszeru, szoktak netes compokat csinalni vele, meg mindig fejlesztik, stb. Bar az idok soran biztos lett hozza valami frontend, meg gondolom a leiro nyelve is joval baratsagosabb lehet mostanra…

  9. avatar Gaf says:

    A helyzet az, hogy a vivid 1989-ből való program, és a 90-es évek elején már voltak “felhasználóbarátabb” cuccok is, de azok minőségben messze elmaradtak a vividtől (vagy a pov-ray-től), nem is voltak “igazi” raytracerek… ez egy kicsit olyasmi mint a hagyományos papír alapú fényképezés vs. digitális. Nem feltétlenül arról szólt, hogy mivel a legkönyebb összekattintgatni egy képet, nem ez adja az értékét.

    A vividdel dolgozni valóban hardcore meló, de hát a 4k intro készítés sem más. A scene varázsát (legalábbis akkoriban) pont ez adta, “a semmiből is ki lehetett hozni a lehetetlent”. Erről szólt az egész, a demók, a raytrace stb… mai szemmel ez már inkább vicc, de pont ezt a “régi életérzést” szerettem volna kicsit átadni azoknak akik esetleg nem voltak részesei.

  10. avatar Murphy says:

    hat barmelyik renderengine, amihez van exporter 3d progikhoz, meg esetleg plugin amivel pl a materialbeallitasokat kivetzetik stb az mar hasznalhato. Nem veletlen, hogy a Mental Ray-t szokas hasznalni Max és Maya alatt is, holott az Softimage fejleszti. Ugyanígy a renderman is egy nyers renderengine, aztán legtöbbször produkciós környezetben azt használják maya-hoz igazítva. De ehhez az kell, hogy az adott program ismerje a kor igényeinek megfelelő feature-szettet. A polygon alapú modellek, és a betölthető textura image-ek, pedig ebbe a kategóriába tartoztak tizen x évvel ezelőtt is. ;)

  11. avatar blala says:

    Murphy, 15 evvel el vagy tevedve :)
    Ugy megszoktad mar a jot, a plus/4-tol eltekintve nem is emlekszel mar milyen volt regen :)))
    Triggernek akkor felhoznam a Crystal Dream 2-ot, 93-bol, amiben a sajat raytracerukkel csinaltak az osszes kepet, gondolom az is feature-gazdag volt… :))

  12. avatar rascy says:

    De jó is volt a povray… Ha egy igazán élethű képet akartam készíteni, akkor nem a 3DS4-et vettem elő…
    Valaki csinált egyébként egy Moray nevezetű GUI felületet is a povray-hez még a DOS-os korszakban. :)
    GAF: az egyik kedvenc képem a The tube volt :)

  13. avatar Murphy says:

    blala: nem 93-rol beszelek, hanem 96-rol, amikor megjelentek a render kategoriak a partykon. ezek a kepek is abbol az idobol szarmaznak. Ennek ellenere minden elismerésem a GAF-é, hogy ilyen fapados módszerekkel tudott viszonylag látványos dolgokat csinálni.

    Egylbként az imagine is raytracer volt – annak minden előnyével és hátrányával -, de polygonokat is kezelt.

    [ módosítva Sep.17. 18:29 ]

  14. avatar blala says:

    En se 93-rol beszelek, hanem 90-rol :)

    Amugy GAF a kepeit szerintem foleg illusztracionak szanta, nem arrol szolt a cikk hogy mindenkinek ezzel kell(ett volna) indulni a render compokon, hanem hogy nosztalgia! Es tenyleg, sose jutott volna kulonben eszembe, hogy alt.isk.-ben szines matrixnyomtatoval nyomtatott kb 2×4-es kb A4-es oldalbol osszerakott nagy tracelt Vivid logo volt a szobam falan :)

    Egyebkent ez is tudott polygonokat, nem olvasol figyelmesen. Meg a POVRay is. Olvasgasd inkabb a 3dstudio prehistory-t amint fent linkeltem, ahelyett hogy osszevissza irkalsz :DD

    Ja, itt a szerzo egy weboldala, nehany izgisebb (Vivid-del renderelt) keppel: http://www.infiniteinstant.com/images.html

  15. avatar Oswald says:

    16-40mhzes pck? 1-2 mega ram ? gimis oszt. társam alap amiga 1200esen renderelt animot imaginel, úgy hogy össz 2 mega chip volt (=50% cpu speed) a gépben, és ebben benne volt az OS is…. :) ez 94 környéken volt és a workbenchben ugye van gui is.

    edit: jah és eszünkbe se jutott nagyon hogy ez akkor most mekkora egy hardkórság, akkor ilyen gépek voltak és kész :)
    [ módosítva Sep.19. 01:35 ]

  16. avatar Gaf says:

    Oswald: Azt hiszem teljesen félreértetted a cikket… ez nem arról szól, hogy 94-ben milyenek voltak a fejlettebb raytracerek, és ki milyen gépen renderelt (arról meg pláne nem, hogy most ki a fasza gyerek a raytracerével :-)). Ez a cikk konkrétan a vivid-ről szól (ami 1989-es program), a mellékelt képek csak illusztrációk, hogy aki nem ismerte a vivid-et az is láthasson belőle valamit.

    Senki nem állítja, hogy ez 96 környékén (mikor én ezeket a képeket kiírtam CD-re) ez volt a technika csúcsa, sőt! A vivid-et már akkor is meghaladta a kor. Blala megértette például, hogy ez alapvetően nosztalgia, nem több. Egy színfoltja a számítógépes grafika történelmének, része volt (ha csak minimálisan is) a scene-nek, voltak sokan akik szerették és sok kellemes órát töltöttek vele, ezért úgy éreztem itt a helye.

    A hardcore-sága pedig a fapados mivoltából adódott, erre nem kell sem büszkének lenni, sem szégyelni (ez nem erről szól), ez egyszerűen ilyen volt. Én például soha nem használtam hozzá semmilyen segédezközt, ezért volt vele nehéz dolgozni… persze ez már izlés kérdése.

    Amúgy én még ma is használom. Szeretem és kész :-)

  17. avatar jamespond says:

    Nekem kedvencem volt a vivid. A saját korában nagyon jó minőségű képet lehetett vele csinálni. Nagy hátránya volt a 640kbytos DOS memória határ. Se ems-t se xms-t nem kezelt. Emlékszem egy szitakötővel szenvedtem rajta. A rendertime Több mint egy hónap volt.
    Amikor megismertem a vividet, már volt Amigán Imagine és PC-n 3d-studió.
    A 3d-studiót nem szerettem sose, mert a króm felszínek meg se közelítették a vivid-et. Meg valahogy nem voltak olyan jók a csillogások sem mint a vivid-ben.
    Mazochista vagyok! Számomra a csúcs tracer a Polyray!
    Ez tényleg mindent tud.
    A GUI-val rendelkező tracerek közül meg a Lightwave-t szerettem meg legjobban.
    Ja még valami!
    Ha jól emlékszem volt vivid2.0 is.Ami sokkal többet tudott mint az 1.0.

Leave a Reply

You must be logged in to post a comment.

Ugrás a lap tetejére Ugrás a lap aljára