Reflektioner i real-time-motorer

Ett ställe för att mingla och prata om det ena och det andra. Alla ämnen är tillåtna... dock med god etik som moderator.
Hellspawned
Inlägg: 393
Blev medlem: 2004-maj-26 22:34
Ort: Stockholm
Kontakt:

Reflektioner i real-time-motorer

Inläggav Hellspawned » 2015-okt-21 0:35

Hej!

En fråga jag har haft i huvudet ett tag nu, sedan jag för två veckor sen började spela ett gäng spel från 2000-talet och noterade: Det finns refraktiva material. Men reflektioner verkar vara begränsade till enviro-ball-texturer. Hur kommer det sig att man först nyligen ens har lyckats börja introducera realtids-reflektioner.

I mitt programmerings-illiterata tillstånd tycker jag inte att det borde vara så himla svårt, i alla fall för plana ytor. Sätt in en kamera vid sagda yta, vars synvinkel är inversen av din synvinkel mot ytan, och sen projicera det den ser på ytan. Verkar i mitt sinne bra mycket lättare, uträkningsmässigt, än refraktioner, där jag förutsätter att man använder någon förenklad version av ray-tracing för att sköta refraktionerna... Eller?

Någon som är "in the know" och kan ge mig lite insikt i ämnet? Har försökt googla på det men inte hittat någon vettig förklaring till varför det är såhär.
When life gives you lemons... BLOOD FOR THE BLOOD GOD!!!

Användarvisningsbild
Undersky
Moderator
Inlägg: 4213
Blev medlem: 2003-okt-23 14:50
Ort: Eskilstuna
Kontakt:

Re: Reflektioner i real-time-motorer

Inläggav Undersky » 2015-okt-22 13:10

Hellspawned skrev:Hej!

En fråga jag har haft i huvudet ett tag nu, sedan jag för två veckor sen började spela ett gäng spel från 2000-talet och noterade: Det finns refraktiva material. Men reflektioner verkar vara begränsade till enviro-ball-texturer. Hur kommer det sig att man först nyligen ens har lyckats börja introducera realtids-reflektioner.

I mitt programmerings-illiterata tillstånd tycker jag inte att det borde vara så himla svårt, i alla fall för plana ytor. Sätt in en kamera vid sagda yta, vars synvinkel är inversen av din synvinkel mot ytan, och sen projicera det den ser på ytan. Verkar i mitt sinne bra mycket lättare, uträkningsmässigt, än refraktioner, där jag förutsätter att man använder någon förenklad version av ray-tracing för att sköta refraktionerna... Eller?

Någon som är "in the know" och kan ge mig lite insikt i ämnet? Har försökt googla på det men inte hittat någon vettig förklaring till varför det är såhär.

Well, reflektioner som "koncept" i spel har funnits rätt länge, men då ofta genom duplicering av ett aktuellt rum, karaktär samt halvtransparent golv. Annars, det första som jag kommer att tänka på med vettiga realtidsreflektioner är nog Super Mario Sunshine för vattnet, och det kom ju ändå 2002. Även Morrowind, som kom samma år, hade rätt schyssta vattenreflektioner. Dock var de nog inte helt dynamiska, men animerade bump / normal maps (om de ens hade börjat använda normal maps på den tiden) sålde effekten ändå. Och sedan dess har det ju varit ett allmänt vedertaget sätt att "fuska" på.

Det som har hänt på senare år tror jag har att göra med övergången till PBR / PBS, där reflektion har stor del i utseendet av en shader, särskilt med koppling till roughness och hur det påverkar den upplevda styrkan av reflektionen. Och helt plötsligt har reflektionen blivit en vital del som måste lösas, så det har väl lagts mer krut på det helt enkelt. Och med fler och fler screenspace-baserade lösningar så var det väl bara en tidsfråga innan det var dynamiska reflektioners tur att få vara med och leka. Fortfarande är det ju lågupplösta "enviro-ball-texturer", men de kan lokaliseras i ett rum och uppdateras dynamiskt. Och tack vare att de faktiskt kan lokaliseras också, får man reflektioner som "håller sig på plats" och inte flyter runt när man flyttar runt kameran.

Tror inte refractions kör raytracing. Tror nog mer på en lösning med hjälp av normal maps och distorta saker och ting bakom, baserat på normalernas vinkel. Det är väl klart att raytracing kanske används i viss mån, men inte på samma sätt som ex. V-Ray. Fast det är bara en teori (ovanstående stycken också... har ingen koll på programmering).

Användarvisningsbild
petere
Moderator
Inlägg: 4833
Blev medlem: 2004-maj-26 13:03
Ort: Stockholm
Kontakt:

Re: Reflektioner i real-time-motorer

Inläggav petere » 2015-okt-22 13:34

Raderade din andra tråd med samma innehåll.

/Mod
“Indeed rays, properly expressed, are not colored.” Design Police!


Återgå till "Det fria ordet"

Vilka är online

Användare som besöker denna kategori: 3 och 0 gäster