Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 27 reacties

Nvidia heeft voor een onbekend bedrag Rayscale overgenomen, een bedrijf dat zich gespecialiseerd heeft in het ontwikkelen van raytracing-software. Volgens Nvidia zijn gpu's meer dan geschikt voor de berekeningen van raytracing.

Rayscale is ontstaan uit een onderzoek van de universiteit van Utah naar het renderen van 3d-beelden en lichtval en heeft zich gespecialiseerd in het ontwikkelen van daarvoor bestemde software. De ontwikkelaars van het bedrijf hebben onderzocht hoe en in welke mate een gpu gebruikt kan worden voor de raytracing-berekeningen, wat de interesse van Nvidia heeft gewekt. Nvidia heeft te kennen gegeven dat hedendaagse gpu's in staat zijn om de intensieve berekeningen van raytracing op zich te nemen. Op welke manier de door de overname verworven kennis in de hardware van Nvidia wordt verwerkt, is niet bekend. Mogelijk wordt de raytracingtechniek onderdeel van Cuda.

Raytracing is een techniek om fotorealistische beelden te renderen, waarbij gebruik gemaakt wordt van complexe algoritmes. De techniek maakt het mogelijk om een groot aantal optische effecten toe te passen, zoals reflectie, refractie, chromatische aberratie en schaduwen. Door de zeer intensieve berekeningen is raytracing vooralsnog niet direct geschikt om realtime te gebruiken, hoewel vorig jaar een opstelling werd getoond die met behulp van een grafische kaart raytracing kon toepassen.

Nvidia toont ray-tracing
Moderatie-faq Wijzig weergave

Reacties (27)

Ik vraag me af of raytracing ooit gebruikt zal worden in realtime applicaties. Als ik denk aan games, dan vermoed ik toch dat de truuks die toegepast worden om realistische beelden weer te geven áltijd goedkoper zullen blijven dan het raytracen van beelden. Dus als je gpu krachtig genoeg is om realtime raytracing te doen, dan is die ook krachtig genoeg om nog veel meer truuks toe te passen om het beeld er realistisch uit te laten zien.

Daarbij moet je in gedachten houden dat realtime raytracing niet alles zegt, dat kan ook maar tot een bepaalde mate van complexiteit (het aantal weerkaatsingen van licht in spiegels, maar ook refracties van licht op ieder oppervlak om zo indirect licht te verkrijgen).

edit:
iets over vrachtwagens ;)

[Reactie gewijzigd door The Flying Dutchman op 26 mei 2008 15:59]

Check even hier:
http://igad.nhtv.nl/~bikker . Realtime ray tracing, in een game, en van Nederlandse bodem, door studenten van IGAD.

Ray tracing gaat zeker gebruikt worden in real-time applicaties. Systemen met 4 cores of meer kunnen dit algoritme goed aan, al zullen de 'effecten' voorlopig wel wat simpel gehouden moeten worden. Groot voordeel t.o.v. 'rasterization' (zoals GPUs dat doen) is dat je niet meer grote hoeveelheden 'truuks' op elkaar hoeft te stapelen; ray tracing zit qua onderliggend concept veel dichter bij hoe licht in de natuur werkt. Daardoor kan je vrij simpel (let op, simpel != snel) refractie, reflectie (ook van complexe oppervlakken, en recursief) en schaduwen berekenen. GPUs worden nu niet optimaal benut omdat performance niet echt meer het probleem is; games lopen tegen een gebrek aan 'truuks' aan om alles nog realistischer te maken. Ray tracing hangt voorlopig puur op performance, en zal dus voorlopig netjes lineair schalen met processorsnelheden en aantallen cores.
Tja, dat is altijd zo. Ook bij het maken van still renders en animaties gebruik je trucs om de kwaliteit/rendertijd verhouding te optimaliseren. Het punt is dat het op gewoon erg lastig is om raytracing in welke vorm dan ook te gebruiken op een GPU. Met shader model 4 en geometry shaders kom je misschien wel wat verder.

offtopic:
Vrachtwagens kan je niet toepassen om realistische beelden weer te geven.
voor schaduwen en spiegelingen blijft real time raytracing interessant. met die trucks krijg je het nooit zo realistisch en mooi. ambientlight moet je idd zo veel mogelijk in de textures verwerken, dat realtime in de world gaan raytracen is een beetje overbodig nog. ik blijf er wel bij dat we over enkele jaren genoeg rekenkracht op gamekaarten (physics, graphics, other shit) hebben om dit te kunnen realiseren.
Raytracing is wel een goed voorbeeld van heel veel floating point berekeningen die parallel uitgevoerd kunnen worden. En dat is nu net iets waar een gpu erg goed in is. Ik denk niet dat nvidia dit bedrijf heeft opgekocht om het toe te passen in games, maar veeleer voor het renderen van films/afbeeldingen.
Raytracing is wel een goed voorbeeld van heel veel floating point berekeningen die parallel uitgevoerd kunnen worden. En dat is nu net iets waar een gpu erg goed in is.
Ray-tracing is inderdaad vrij parallel uit te voeren. Het probleem is alleen dat het vrij veel branching nodig heeft, en dat is iets waar moderne GPU's goed in zijn, omdat het eigenlijk arrays van SIMD eenheden zijn. G80 heeft een branch-granularity van 16 of 32, R600 niet minder dan 64 pixels of vertices (zie hier enige uitleg).

Daarnaast is opgevraagde informatie (geometrie en textures) bij ray-tracing niet direct gecorreleerd, wat bij rasterizing wel het geval is (twee pixels naast elkaar gebruiken hoogstwaarschijnlijk hetzelfde stukje texture, dus het kan gecached worden). Dit levert een enorm nadeel bij caching en dus kost het veel meer tijd en bandbreedte bij onder andere texturing.

Ray-tracing kan misschien best goed parallel uitgevoerd worden, maar voor echte efficiency is een heel ander soort chip dan G80 of R600 nodig, waarbij dan weer de vraag is in hoeverre een dergelijke chip bruikbaar is bij rasterization.
Ik denk niet dat nvidia dit bedrijf heeft opgekocht om het toe te passen in games, maar veeleer voor het renderen van films/afbeeldingen.
Vrijwel alle films en animaties worden met rasterization gemaakt, omdat ray-tracing veel te duur is. Ik denk niet dat het gebruiken van een GPU (die ook beter is in rasterization dan ray-tracing) hier voordelen voor heeft.
Afhankelijk van wat er zich in de scene afspeelt wordt raytracing nog wel eens toegepast. Vooral scenes met water en geavanceerde lichtbrekingseffecten.
Nouja, graka's blijven doorgroeien wat betreft mogelijkheden en rekenkracht, dus uiteindelijk zullen ze snel genoeg zijn om real time raytracing te kunnen doen. Of wij dat nog mee gaan maken is een tweede :)
Ik denk het wel, hardware is altijd de beperkende factor geweest. Nu er een hardware fabrikant direct achter staat bestaat er een grote kans dat deze ontwikkelingen in een stroomversnelling komen.
Staat op de planning voor DirectX 11
lol, het intensieve raytracing kan uitgevoerd worden door gpu's...
mijn 8800gtx kan FSX nog niet eens knap renderen met een redelijke fps
Hoe moeten die chips van nvidia dan raytracing perfect kunnen uitvoeren zonder de overige gpu taken niet uit het oog te verliezen?
Ben benieuwd hoe ze dat gaan oplossen, zonder er een 4 voudige sli van te maken.
We hebben het hier inderdaad niet over 60 beelden per seconde op een scherm toveren. Maar eerder om een single frame die 30 minuten duurt om te renderen te reduceren tot 1 seconde. (Rederen met 1 frame per seconde lijkt mij al subliem!)
Een dergelijk voordeel zal je ongetwijveld krijgen als je raytraced scenes door de GPU laat berekenen inplaats van je CPU. Ongeveer te vergelijken met de overstap van software-redering naar hardware-rendering zoals we dat een tijd geleden hebben meegemaakt met games. Quake1 draaide duidelijk veel beter op een 3DFX videokaart. En daarbij had je zelfs nog dat software rendering duidelijk veel simpeler was dan de hardwarematige variant die onder andere biliniaire filtering en alpha blending toepaste op textures. Dan nog lagen de prestaties 2x zo hoog met zelfs 4x zoveel pixels als de standaard 320x240 software-mode en 16bit vs 8bit.

De CPU gebruiken voor raytracing (zoals gebruikelijk) is eigenlijk hetzelfde als quake1 in hardware3d door enkel de CPU te laten berekenen. Dit maakt de boel verrekte traag en uiteraard onspeelbaar omdat de CPU hier veel meer moeite mee heeft. Kan je je voorstellen hoe lang een enkele frame uit Crysis duurt als je dit doort de CPU laat uitrekeken? Dan kan je gerust even een bakje koffie gaan zetten. Mij lijkt het dan vrij voor de hand liggend dat dit veel sneller kan. Raytracing zoals het nu gaat is alsof je "het nieuste spel" zonder een 3dkaart gaat spelen. Bij nader inzien is dit ook belachelijk en het is maar goed dat hier snel verandering in gaat komen.

Na mijn mening is de enige reden om de 3dkaart buiten beschouwing te laten altijd precisie geweest. GPU's die voor spellen gebruikt worden laten in principe een hele hoop steekjes vallen en omdat pricisie in games veel minder van belang is valt dit ook niet op. Een vertex mag er best eens iets naast zitten bijvoorbeeld zonder dat dit gelijk opvalt. Goede voorbeelden is van dit 'slordige' renderen zag je bij de eerste 3d kaarten nog duidelijk optreden. De nVidia Riva 128 liet bijvoorbeeld minimale spleten en gaten open in 3d objecten die eigenlijk afgesloten zouden moeten zijn wat nogal wat vreemde effecten met zich meebracht. Omdat het doel vooral is realtime rendering met een speelbare framerate te bewerkstelligen zijn ze eigenlijk niet primair geschikt om hoogwaardige scenes te renderen. Het zijn twee verschillende werelden.

Maar omdat kwaliteit en precisie tegenwoordig al vele maler hoger liggen en omdat huidige games ook wel aan raytracing toe zijn groeien deze twee werelden dichter naar elkaar toe. Er zal ooit een moment komen dat er alleen nog maar realtime rendering bestaat en er geen verschil meer is in een scene van een spel of een scene uit 3dsmax en het allebei door dezelfde GPU berekend kan worden. nVidia is hier de brug om deze werelden samen te voegen en ik ben zeer benieuwd naar de resulataten. Ik denk wel dat deze tools vooralsnog alleen voor professionele hardware van nVidia is weg gelegd en niet voor de gamevideokaarten. Hoewel het heus wel zou kunnen werken op de gamehardware zullen ze daar vast eerst een stokje voor steken. Is het niet op driverniveau, dan wel hardware. Deze investering moeten ze uiteraard ook terugverdienen.

[Reactie gewijzigd door BruT@LysT op 26 mei 2008 19:16]

Dit gaat niet over realtime renderen, maar om het versnallen van raytrace renderen wat nu echt veel tijd kost.
hadden ze vray ook niet al opgekocht? ik kan neit wachten tot de eerste realtime raytracer of renderengine die om kan gaan met gpu bouwen. zo veel rekenkracht zal je rendertijden drastisch terug brengen naar minuten ipv dagen. ik denk dat cuda zich hier wel goed voor kan lenen

[Reactie gewijzigd door ThePiratemaster op 26 mei 2008 12:44]

Nvidia wilt raytracing en rasterization combineren, hier een leuke discussie daarover, volgens David Kirk (Nvidia) kunnen de huidige shaders dat al realtime:

http://www.taronga.com/~p...ing-vs-rasterization.html
nvidia doet dit natuurlijk niet alleen maar om rendertijden te verminderen, ze doen het ook om andere software sneller te maken aangezien spellen GPU's niet meer echt pushen op de PC.

een voordeel aan raytracing is dat je zeer weinig software hoeft te maken om toekomstige GPU's compatible te houden (plus raytracing is 100% cross-platform van CPU tot GPU) ideaal voor dingen zoals spellen en maya/photoshop etc.
een voordeel aan raytracing is dat je zeer weinig software hoeft te maken om toekomstige GPU's compatible te houden
Sorry, hier volg ik je even niet, denk je dat binnen raytracing geen vooruitgang plaatsvindt? Hardware is hoe dan ook beperkend, en eerste generatie raytracingproducten zullen er minder goed uit zien en beperkter zijn in de mogelijkheden dan daarop volgende generaties.
(plus raytracing is 100% cross-platform van CPU tot GPU)
En rasterizing kun je niet op de CPU uitvoeren? Kom nou, het feit dat het te langzaam is om bruikbaar te zijn wil niet zeggen dat het niet mogelijk is. Software-rasterizing bestond al voor de eerste 3D GPUs gemaakt werden, en er is niets wat een GPU kan dat een CPU niet ook kan.
Bovendien is ray-tracing op een CPU ook vast een heel stuk langzamer dan ray-tracing op een stukje gespecialiseerde hardware.
ze doen het ook om andere software sneller te maken aangezien spellen GPU's niet meer echt pushen op de PC
Ik heb een GeForce 8800 GTS 512 en er zijn nog meer dan genoeg spellen die ik niet op hoogste detail en resolutie kan draaien.
plus raytracing is 100% cross-platform van CPU tot GPU
Rasterisatie ook.
het zijn ook niet de "alles op high" instellingen die het grootste deel van de gamers pushd een nieuwe videokaart te komen maar meer de: kan mijn kaart dat spel uberhaupt nog draaien in alles op low? vraag pushd het merendeel van de videokaart verkopen.
ja behalve als je DX gebruikt, dan moet je een hele nieuwe rasterizing engine schrijven als je openGL wilt gebruiken dus 100% niet cross-platform.

[Reactie gewijzigd door stewie op 26 mei 2008 14:18]

Stop dan maar met wachten, Nvidia heeft al een tijd Gelato gratis beschikbaar gesteld. Een renderengine die de GPU gebruikt om de mooie plaatjes uit te rekenen.
http://www.nvidia.com/page/gz_home.html
Gelato is voor de proffesionele kaarten van Nvidia, je hebt er dus een Quadro voor nodig. Da's nou net niet de kaart die de meeste mensen thuis gebruiken.
Men noemde het raycasting maar het komt ruw weg op hetzelfde neer ja. :)
NVidia lijkt langzaam maar zeker meer een grafische alles kunner te willen worden, ze hebben nu al meerdere zeer gespecialiceerde bedrijven gekocht en met hun Cuda engine in combinatie met de kennis die deze bedrijven toevoegen zou NVidia wel eens een voor een groote doorbraak in de rendering wereld kunnen zorgen door raytracing inderdaad real time mogelijk te gaan maken.

Ageia zo als hier boven genoemd daar aan toe gevoegd en je kan je voor stellen dat je binnen kort een systeem koopt met minimaal 5 GPU's, twee voor het tekenen van het beeld, twee voor de raytracing en een voor de physics. Dan kan de volgende Cry* engine er nog net even beter uitzien :)
En de stroom boer maar in zijn handjes vrijven 8)7
Zo zo, nVidia blijft maar bedrijven opkopen... Hopen dat de prestaties van de graka's nog beter worden. Interessant, de combinatie met Ageia in Cuda. :)
nu nog ff ATI en dan is er eindlijk ee nstandaard

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True