RayTracing
2008-06-06T15:12:46+02:00
2008-07-24T11:48:09+02:00
2022-07-25T22:32:26+02:00
  • Ha már itt tartunk, akkor remélem tud valaki segíteni..
    az a helyzet, hogy csináltam iylen kis raytracert, teljesen saját belátás alapján (persze alapvető dolgokat betartva). Lényeg,h goy a területi féynforrásokkal van problémám.
    Úgy csinálom, hogy minden pontból indítok több sugarat a a fényforrás egy véletlenszerű pontjába majd az eredményeket átlagolom. (Megnézem, hogy a sugarak hány %-a találta jutott el a fényforrásig.) Lényeg az, hogy nagyon "pontozott" lesz a kép. Más doksikban is néztem és ott azt írták hogy 16 sugárral kell dolgozni, nekem meg még 256 is néhol pontozottat ad.. :S:S:S
    (Egyébbként 1024 sugárral brutálszép soft shadowst kapok, csak 1024x anyni számítási idő :S:S)

    Mi lehet ennek a problémája?
    Mutasd a teljes hozzászólást!
  • Ha komoly raytracer-t akarsz nézegetni referenciának, és nem ilyen alantabb említett játékszereket, olvass el egy mental ray referenciát, és láthatod hogy kell jól írni egy raytracert :) . Elég átgondolt és hatékony a szerkezete, és nagyon könnyen bővíthető.
    Mutasd a teljes hozzászólást!
  • biztos a google nincs tisztában a szabványos url fogalmával, hiszen egy ideje sting csak ilyeneket fogad el linknek a prog.hu-n
    :paw:
    Mutasd a teljes hozzászólást!
  • Jéé, másik is van:) Nem.
    Erre és a többi részére.

    (Nem tudom mit rontottam el:S).

    google: simple raytracing c# site:codeproject.com

    Erre adja be a többi részt, és ezt próbáltam belinkelni legutóbb.
    Mutasd a teljes hozzászólást!
  • Ha egyszerre tükröződik, és megtörik (pl üveg ablak, lencse), akkor ugye "kétfele válik" a sugár útja, ekkor bináris fákat kellene ültetni?

    Rekurzív függvény megoldja helyetted
    Mutasd a teljes hozzászólást!
  • Nem ismerem az egész könyvet, végülis elsődleges cél egy kis raytrace progi, de egy kis "fake" GI-t is meg lehet valósítani a kód drasztikusabb buherálása nélkül. Bár először legyen kódom :D
    Nem gondolkozok részletes jeleneten, maximum párszáz sokszögből állna az egész, (Cornell dobozba pár kisebb téglatest, vagy egy gömb).
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Hello!

    Nem tudom, miben szeretnéd írni, de itt van egy nagyon jó és alapos cikksorozat a codeprojecten, egyszer elolvasgattam nagyjából és jónak tűnt:
    Többrészes.
    Mutasd a teljes hozzászólást!
  • ez az egyik szirmay könyv második fele. amúgy akkor eldönthetnéd hogy globális illuminációt akarsz megvalósitani, vagy raytrace lesz belőle
    :paw:
    Mutasd a teljes hozzászólást!
  • A célom az lenne, hogy egy kis globális illumináció is legyen a képen, de első körbe mindenképp "sima" raytracingel szeretnék foglalkozni, bár nem tudom mennyie lehet gyors. A tükröződésnél úgy gondoltam, hogy mindig veszít a sugár az erejéből. Ha egyszerre tükröződik, és megtörik (pl üveg ablak, lencse), akkor ugye "kétfele válik" a sugár útja, ekkor bináris fákat kellene ültetni?

    Találtam érdekes anyagot.
    Mutasd a teljes hozzászólást!
  • Amúgy meg az alapja legyen egy rekurzív függvény. Leállítani egyrészt egy bizonyos mélység után szokták (hasraütésszerűen mondjuk 5-10) v van egy küszöbérték (pl. 5%), és ha az épp kiszámolt szín és az előző közti különbség ennél kevesebb, akkor szintén megáll a rekurzió.
    A rekurzív függvényen belül lesz pár hívásod: egy felületi elem színét sok minden határozza meg. Ha van tükröződés a felületen, akkor meghívod a függvényt magát, csak most már a fénysugár a kezdeti sugár által metszett pontból indul. Ugyanígy a fénytörésnél is, csak kell egy kis linalg a megfelelő vektorok kiszámításához. Nyilván ha az indított fénysugár vmibe beleütközik, akkor azon a ponton árnyék is keletkezik, ésígytovább.
    Ha sok objektumot szeretnél renderelni, akkor érdemes vmilyen térfelosztó adatszerkezetet használni (pl. orctree).
    Mutasd a teljes hozzászólást!
  • Írtam még vmikor régen én is ilyet. Körülnézhetsz opensource progik között is, ilyen pl. a Blender YafRay-e 토토프레이 - 안전 토토사이트 추천 리스트 제공 vagy a toxic The toxic Open Source Renderer - links . És volt pár éve valamelyik játékmagazin cdmellékletén egy ilyen sorozat, amiből sokat lehetett tanulni, nem tudom megvan-e még valahol. Jah és mint magyar nyelvű forrásanyag: Szirmay-Kalos László könyvei között érdemes körülnézni. (Van fent neten is ingyenes, ha megtalálom, belinkelem.)
    Mutasd a teljes hozzászólást!
  • felületi normálisból, és a sugár vektorából számítod az új sugarat. viszon vigyázz hogy ne végtelen sokszor engedd tükröződni, valahol vágd el. természetesen ha nem tökéletes tükör, akkor a felület diffúz tulajdonságától függően egy kis random szórást is tehetsz bele.
    :paw:
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Pár hónapja foglalkozok a grafika+programozás kombóval, és írtam már pár apró progit, de szeretném valami nagyobb dologba belevágni a fejszém, így egy raytracing renderelő alkalmazást szeretnék írni (Cornell dobozba pár objektum). Gondolom nem csak az én fantáziám mozgatta meg a dolog, így olyanok segítségét szeretném kérni, akik már hasonlóval foglalkoztak. Csak tanácsokat, buktatókat, haznos oldalak linkjeit (nem amit gugli elsőre kidobál) szeretném kérni.

    Végülis az érdekelne, hogy ha egy sugarat engedek a nézőpontból, és meghatározom, hogy melyik poligonokat metszi, az még egyszerű feladat, de ha tükröződő a felület, akkor a következő metszészpontot milyen módszer szerint érdemes számolni?

    Szép napot!
    Mutasd a teljes hozzászólást!
abcd