20 ms·
Announcing Microsoft DirectX Raytracing
- psyc 9y agoGraphics programmers have been predicting this revolution for almost as long as I can remember. It's quite exciting that so many of the big players seem to believe it is almost time.
- agumonkey 9y agoIn the days of ML based AI, seeing raytracing + revolution is both refreshing and funny :)
- make3 9y agoActually, raytracing is a domain with strong potential for AI, as there is a lot of work using ML models to de-noise ray-traced scenes in real time. Edit: Yeah, NVidia actually just announced a big project on that exact subject: https://www.youtube.com/watch?v=jkhBlmKtEAk https://www.youtube.com/watch?v=jkhBlmKtEAk
- agumonkey 9y agoHa, I would never have guessed this use case. Very fortunate for Nvidia to provide both GPU and NPU cores for the task :)
- WorldMaker 9y agoI was also wondering if the brief tangent in the article here that the DXR used more Compute than Graphics cores (given availability) may also indicate that they are using something of an ML approach to the Raytracing renderer here? Obviously, it's hard to extrapolate from just a press release, but with Microsoft's big ML kick of the last few years, breakthroughs in ML steps in raytracing might seem like a reason for the press release.
- electricslpnsld 9y agoPixar is also using Machine Learning to denoise path traced images: http://graphics.pixar.com/library/MLDenoisingB/paper.pdf http://graphics.pixar.com/library/MLDenoisingB/paper.pdf
- vardump 9y ago> Graphics programmers have been predicting this revolution... Mostly it has seemed like it's been everyone except the actual graphics programmers.
- Tobba_ 9y agoYep. There's a billion and a half reasons you wouldn't use full-blown path tracing for games. It'll always perform worse regardless of what you do, the frame budgeting is likely going to be a total nightmare, the tree search you need to trace rays requires too much branching to map well to GPUs (it's perfectly possible, just another absolute nightmare as your complexity goes up), console GPUs are (and have always been) extremely underpowered in terms of compute (but good with textures), etc. Limited uses? Sure. Otherwise hell no. It's never been more than a gimmick GPU vendors use to show off (in real-time, offline rendering is something else entirely).
- bhouston 9y agoMaybe GPU vendors will offer specialized spatial look up trees or something .
- Tobba_ 9y agoTo clarify: that's more of a problem in programming the GPU in a portable manner, and that may or may not turn into a problem depending on the implementation. GPUs can do loops that run a different number of times per thread just fine, at the cost of having to wait for the slowest to finish. Things start to turn sideways if you want diverging branches though (at least AMD kind of has support for this, but it's limited). If you want animations to work there's a good chance your search would become pretty complicated and you run the risk of smacking into that. Also, I doubt GPU vendors would add special-purpose hardware like that. They'd much rather just add some new shader instructions to help doing it.
- monocasa 9y ago> Also, I doubt GPU vendors would add special-purpose hardware like that. They'd much rather just add some new shader instructions to help doing it. The PowerVR guys added special purpose hardware for doing spatial lookups for raytracing.
- VikingCoder 9y agoCute video: https://www.youtube.com/watch?v=LXo0WdlELJk https://www.youtube.com/watch?v=LXo0WdlELJk
- corysama 9y agoA separate tech demo from Remedy: https://www.youtube.com/watch?v=70W2aFr5-Xk https://www.youtube.com/watch?v=70W2aFr5-Xk
- CyberDildonics 9y agoThis doesn't even look like it runs at a full 60 frames per second unless they are speeding it up in the editing.
- VikingCoder 9y agoI haven't seen evidence one way or the other, but it's specifically labeled "real-time GPU raytracing." Do you have evidence it doesn't run at 60 fps?
- taejavu 9y agoWell, the video is clearly dropping frames so obviously not maintaining 60fps...
- kevingadd 9y ago"Real-time" has never meant 60fps. It typically just means interactive framerates - fast enough to drag a camera around or move an actor. You can get away with calling 20fps realtime, and lots of stuff runs at 24 or 30fps. (Obviously nobody wants a game like Doom or Battlefield to run at 20 fps, though.)
- electricslpnsld 9y agoThe article's title says raytracing, but the actual text describes path tracing, no?
- mnw21cam 9y ago> From each light source within a scene, rays of light are projected, bouncing around until they strike the camera. Which is definitely not how raytracing is done if you want to get an image before the end of the world occurs. Rays are traced from the camera, and then back to the light sources. Some amount of pre-lighting can be done by tracing photons forwards from lights, but not the main image generation.
- bhouston 9y agoIn path tracing (https://en.wikipedia.org/wiki/Path_tracing https://en.wikipedia.org/wiki/Path_tracing), which is what the VFX industry uses primarily, both directions happen.
- oh_sigh 9y agoDoes anyone use path tracing for live renderings? I think that is the question.
- zero_iq 9y agoBrigade Engine, for example: https://home.otoy.com/render/brigade/ https://home.otoy.com/render/brigade/
- abritinthebay 9y agoIs that even released yet? Or demo-able? I thought it was just "in progress" for ages?
- bhouston 9y agoThe only issue is that a lot of this is already possible in the current renderers at a reduced cost. - Soft shadows work in WebGL fairly well using PCSS: https://clara.io/player/v2/8f49e7c3-7c5e-43f0-a09c-33a55bb1baf6?wait=true&configurator.show=true https://clara.io/player/v2/8f49e7c3-7c5e-43f0-a09c-33a55bb1b... - Translucency can be faked effectively using a few different methods. https://clara.io/view/5c7d28c0-91d7-4432-a131-3e6fd657a042 https://clara.io/view/5c7d28c0-91d7-4432-a131-3e6fd657a042 - Screen space ambient occlusion, if using SAO, is amazing. SAO test: https://clara.io/view/2e1637a7-a41d-4832-923a-e6227d1ebaaa https://clara.io/view/2e1637a7-a41d-4832-923a-e6227d1ebaaa - Screen space reflections also work. Our reflections are this: https://clara.io/player/v2/b55f695a-8f4a-4ab0-b575-88e3df8cd89c?wait=true https://clara.io/player/v2/b55f695a-8f4a-4ab0-b575-88e3df8cd... - Fast high quality depth of field: https://clara.io/player/v2/ce7d91ed-1163-4cbc-b842-929adc4efbf6?wait=true https://clara.io/player/v2/ce7d91ed-1163-4cbc-b842-929adc4ef... - Real-time global illumination: https://www.siliconstudio.co.jp/middleware/enlighten/en/ https://www.siliconstudio.co.jp/middleware/enlighten/en/ So while I think that Raytracing is awesome, it generally will not increase existing real-time render quality that much. My experience with the game industry, even if you have a better way of doing things, if it takes more CPU/GPU cycles that a hack that achieves basically the same quality, it will not be adopted. It is that simple.
- binarycrusader 9y agoMaybe, but it may make it substantially more accessible and easier for the average developer that isn't a domain expert in a dozen areas of graphics rendering technology and doesn't want to use a pre-built engine.
- bhouston 9y agoThis will make it easier to port existing shaders from high end VFX to real-time, like RenderMan and OSL shaders for sure. Trivial even.
- zdfjkhiuj 9y agoI'm not sure it's fair to describe those as hacks. Those techniques are also used for animated movies, which take many CPU-years to render. Those "hacks" are used even when artist have huge amounts of hardware, no real-time constraints, and need extremely high quality. Techniques other than raytracing have an artistic place, not merely a pragmatic one.
- tgb 9y agoThe article says that MS (like everyone else) expects there to be fewer and fewer "fixed-function" features in a GPU with more shifting over to software-defined shader code. But isn't this just an introduction of more fixed-functionality to the pipeline? So what's the advantage of doing it this way versus writing a ray tracer in the current compute shaders?
- bhouston 9y agoThe main issue with current compute shaders is intersecting with arbitrary geometry in a fast way. I expect that the main thing they will add is raycast() function that propagates the ray to the next surface, similar to how RenderMan shaders or OSL works.
- kevingadd 9y agoAPIs like a ray tracing API can be implemented in driver software (on-CPU) or in device firmware (on-GPU, but programmatic, not in silicon). Technically this also applies for the old fixed-function pipeline, of course, but it's worth considering the difference. A raytracing API also isn't forced into the pipeline for every rasterized polygon like old features - hardware T&L, geometry shaders, etc - were. It's something you use on-demand in a compute or fragment shader.
- pkilgore 9y agoRaytracing is sort of like nuclear fusion: a few years away for my entire life. Not clear what changed yet.
- MBCook 9y agoWell I imagine today’s GPU would be more than capable of doing an amazing looking game at 320x240 or maybe 640x480 at a reasonable frame rate. The problem is at this point people want it at 1080, 4k or 8k.
- gnode 9y agoThe goalposts have also moved in terms of quality. Raytracing these days no longer just means point light sources and mirrors, but full global illumination with bidirectional path tracing. Rasterization has improved a lot over the years, so the meaning of "raytracing" has to improve to be competitive.
- polskibus 9y agocan this somehow work with autocad, etc so that construction fragments could be previewed in real time with Raytracing and global illumination turned on?
- electricslpnsld 9y ago"CAD"-like programs from the animation and VFX worlds (Houdini, Modo, etc) already do this, so if Autodesk really wanted to they could almost certainly add real-time path tracing to AutoCAD.
- detritus 9y agoI can't help but feel this is aimed at making future Augmented Reality (ie. Hololens) applications integrate into their host environments better.. or perhaps I'm just giddily over-extrapolating possibilities!
- phkahler 9y agoGood point. Ray tracing makes compensating for lens distortion trivial.
- dharma1 9y agoAnd here's a nice demo from Remedy https://youtu.be/70W2aFr5-Xk https://youtu.be/70W2aFr5-Xk
- deleted 9y ago[deleted]
- CyberDildonics 9y agoThis has a lot of artifacts and does not look better to me than full fledged games that have already been released.
- kevingadd 9y agoIt's a tech demo. It's not supposed to look better than retail games, it just shows off some new experimental technology. If you check out the slide deck for the demo they compare each technique with existing solutions (i.e. SSAO vs traced AO, SS reflections vs traced reflections) and the advantages are very obvious. If you want to see how much existing techniques suffer compared to tracing, just check out the absolutely miserable, incredibly ugly, just disgusting screen space reflections in the brand-new Crytek game Hunt: Showdown. The water is a nightmare.
- wongarsu 9y agoIt looks great, but it also clearly suffers from the noise issues inherent in most raytracing. In this particluar demo I didn't find it distracting, but when using a lower-performance computer I would expect much worse noice (instead of the usual compromise of removing effects)
- braderhart 9y agoVulkan is a step towards graphics revolution. DirectX and Microsoft is a step towards a society that values money over education. Do not exploit the lower economic classes by trading their privacy for a closed-source spyware operating system.
- braderhart 9y agoIs this open source?
- romanovcode 9y agoNo, DirectX is proprietary closed-source technology from Microsoft.
- braderhart 9y agoOh.. for a moment I almost thought they actually cared about equal education for everyone.
- joosters 9y agohttps://www.youtube.com/watch?v=LXo0WdlELJk https://www.youtube.com/watch?v=LXo0WdlELJk I'm pleased to see that the tech video includes spherical mirrors. As I understand it, all raytracing demos are obliged by universal law to include at least three reflective balls in any promotion of the technology. One day, someone will figure out a game where these super-shiny ball bearings are a critical part of the gameplay, and at that point, raytracing will finally take off...
- ttoinou 9y agoPortal :p ?
- Aardwolf 9y agoEven in AAA games of today with amazing graphics, I still see polygons in cylindrical, conical and round objects (I'm not talking about raytracing but regular rendering). Everything looks so realistic, but a well or bucket [1] or some other cylindrical object you encounter looks not round but faceted, breaking the suspension of disbelief. Raytracing may bring more roundness, but why not quadratic surfaces or some other fast enough to render method of real roundness in rasterizers? It may be expensive (although one surface would replace many polygons...), but it'd solve one of the last remaining uglinesses :) [1] https://imgur.com/gallery/AdDyT8B https://imgur.com/gallery/AdDyT8B
- blaenk 9y agoI think that's just a matter of how many subdivisions/polygons they decide to devote for those assets. For example, that bucket is pretty inconsequential in the overall scene so they can save some polygons on it, to give more toward something like a character or weapon model that is more prominent, more of the time, since more polygons means higher storage and computational requirements. Something like tessellation [1] can be used to dynamically tune how many subdivisions to give a model based on certain parameters, such as camera distance. [1]: https://en.wikipedia.org/wiki/Tessellation_(computer_graphics) https://en.wikipedia.org/wiki/Tessellation_(computer_graphic...
- haldean 9y ago
- newnewpdro 9y agoI can't help but imagine the massively power-hungry machines hosting the GPUs necessary for real-time rendering of Pixar-level movie graphics. Won't this resemble power demands of crytpocurrency mining rigs except actually used for gaming? As if it weren't already bad enough the amount of energy we use per capita...
- kyleperik 9y agoIn my experience with blender, though you can create very detailed photo realistic images without raytracing, but using raytracing makes it much easier to make the same photos. It takes longer, but it's probably the direction we're going generally with 3d rendering given Moore's law. Anyway this seems a little overhyped
- piracykills 9y agoSo where are we realistically with ray tracing? What kind of performance can be expected with modern GPUs?
- snvzz 9y agoFriendly reminder DirectX is a proprietary windows-specific API, with its associated lock-in. Don't fall for such simple trap.
- gaius 9y agoHave fun shipping a real product on OpenGL without a proprietary binary driver blob.
- dfox 9y agoBoth nouveau and amdgpu are good enough for every linux game in my steam library.
- headsoup 9y agoSame here, except all the newer games I probably would like to add to my library but can't because Win/DX only... Nouveau is still problematic because of the lack of access to the NVIDIA proprietary code, i.e. the extra bits like fan management, monitors, etc. That and it's performance still just isn't there against the proprietary drivers. AMD drivers are pretty good and Wine performance has increased significantly over the last year or so. Hopefully Vulkan encourages more widely supported game dev, it's a terrible thing that gamers are practically locked into the Windows OS by way of proprietary graphics stack and the old catch-22 of 'no market for Linux games/no games on Linux.'
- pjmlp 9y agoJust like they are locked into every games console ever built and are completely fine with that. The gamer culture is not the same as FOSS one, cool games, getting hold of IP and belonging to a specific tribe (e.g. PS owners) is more relevant than freedom of games. Currently Vulkan only matters on Linux and flagship Android devices. It remains to be seen if Microsoft will ever allow ICD drivers on the Store or what is the actual use of Vulkan vs NVN on the Switch.
- jenscow 9y ago
- laythea 9y agoCan this be applied to Path tracing? If so, would this be able to accelerate something like OctaneRender? I stumbled across this a year or so ago and was amazed at how the realistic image is built up after rotating. https://home.otoy.com/render/octane-render/ https://home.otoy.com/render/octane-render/
- tomovo 9y agoAnyone remembers Intel's Larrabee project? It featured HW accelerated raytracing. They had Quake Wars running on it: https://en.wikipedia.org/wiki/Quake_Wars:_Ray_Traced https://en.wikipedia.org/wiki/Quake_Wars:_Ray_Traced or video: https://www.youtube.com/watch?v=mtHDSG2wNho https://www.youtube.com/watch?v=mtHDSG2wNho
- pjmlp 9y agoYes, I was seated at GDCE 2009 Intel session where they told us that Larrabee would be the future of graphics programming, yeah right.
- orbital-decay 9y agoImagination and OTOY also experimented with hardware raytracing on mobile: https://www.imgtec.com/legacy-gpu-cores/ray-tracing/ https://www.imgtec.com/legacy-gpu-cores/ray-tracing/
- AareyBaba 9y agoAMD has a free ray tracing renderer called Radeon ProRender https://pro.radeon.com/en/software/prorender https://pro.radeon.com/en/software/prorender. Supported by Maya and Blender among others ...
- KaoruAoiShiho 9y agoIt's too slow to be relevant.
- AMDGfxManager 9y agoCan you elaborate: what are you testing and comparing to ? are you looking at a real-time application (gaming) or is your comment about offline rendering (visualeffects/animation) ? I don't work on this project but I can forward the feedback to the developers.
- OCASM 9y agoNot anymore: https://www.anandtech.com/show/12552/amd-announces-real-time-ray-tracing-for-prorender-and-radeon-gpu-profiler-12 https://www.anandtech.com/show/12552/amd-announces-real-time...
- shmerl 9y agoSo why DX12 and not Vulkan? It's time for MS to start helping the industry instead of proliferating lock-in and complicating things for engine developers.
- swebs 9y agoI don't know why you're getting downvotes. DirectX is harmful for consumers and only serves to lock in games and users to Microsoft Windows.
- thelittleone 9y agoMicrosoft is the dominant platform for games. What financial gain would they derive from pursuing a non lock in strategy?
- justinhj 9y agoThey have learned that in other areas of their business that using and contributing to FOSS is a win for everybody.
- shmerl 9y agoThat's not a justification for being lock-in jerks. Would you appreciate using ActiveX instead of HTML? We are lucky, MS didn't succeed with the above.
- dingo_bat 9y agoYeah so lucky we got locked into chrome instead. Now every week I stumble upon a website that works only in chrome.
- swebs 9y agoWhat would Microsoft have to gain? Absolutely nothing. What do consumers gain. A hell of a lot. That's why it's foolish to assume Microsoft will change their ways somewhere down the line. The point is that it is us, the users that should be choosing alternatives and not celebrating vendor lock-in.
- IvanK_net 9y agoIt reminds me the ray-traced game I made a few years ago :) http://powerstones.ivank.net/ http://powerstones.ivank.net/ If you don't move, the image "improves" over time. You can change the resolution in the top left corner. Play it in fullscreen. It works on phones, too.
- ingen0s 9y agoAwesome. Cant wait to test this out.
- enzanki_ars 9y agoMore discussion at https://news.ycombinator.com/item?id=16620515 https://news.ycombinator.com/item?id=16620515
- dang 9y agoWe merged that discussion here.
- ingen0s 9y agoAlso dont forget to link the SDK: http://forums.directxtech.com/index.php?topic=5860.0 http://forums.directxtech.com/index.php?topic=5860.0
- ingen0s 9y agohttps://1drv.ms/u/s!AmttvHQpGvyVbOmqJ4vut9zN3Ss https://1drv.ms/u/s!AmttvHQpGvyVbOmqJ4vut9zN3Ss
- Tloewald 9y agoRay Tracing is also a lie! Are they giving us an unbiased renderer? Looks interesting anyway.
- oneplane 9y agoThat's great.. if you are on Windows. I get that Microsoft works on Microsoft-technology, but it really doesn't help adoption or global development as a whole. DirectX doesn't work anywhere except Windows PC's and the Xbox. That's no biggie for Microsoft, but it's bad for everyone else.
- naikrovek 9y ago> DirectX doesn't work anywhere except Windows PC's and the Xbox. And most new phone chipsets. And a lot of old phone chipsets. And a lot of ARM-based single board computers. And a lot of non-Xbox consoles like the Switch have hardware support for DirectX... DirectX is in a lot of places you would not expect.
- lpghatguy 9y agoWhat? All of those places have hardware support for DirectX, but none of them (barring Windows phones) actually have DirectX running on them.
- ClassyJacket 9y agoiOS and Android both don't support DirectX, so the hardware technically being compatible is irrelevant, especially with Windows Phone now discontinued.
- OCASM 9y agoAMD just announced their owm real-time ray-tracer based on Vulkan: https://www.anandtech.com/show/12552/amd-announces-real-time-ray-tracing-for-prorender-and-radeon-gpu-profiler-12 https://www.anandtech.com/show/12552/amd-announces-real-time...
- deleted 9y ago[deleted]
- DoveBrown 9y agoThere is a value to having competition. My guess that if it works out and Nvidia and AMD have it implemented on silicon, then they will push to have those features accessible through a Vulkan interface. I love open standards as much as the next guy but for something like this where the utility is still an open question, I'd rather than some just makes an implementation for just their technology. The alternative is that your open standard is full of half baked experiments and trimming a standard is a huge pain.
- keyle 9y agoUnreal Engine 4's post on this https://www.unrealengine.com/en-US/blog/unreal-engine-4-supports-microsoft-s-directx-raytracing-and-nvidia-rtx https://www.unrealengine.com/en-US/blog/unreal-engine-4-supp...
- userbinator 9y agoI'm not sure what's the big deal here; the demoscene has been doing realtime raytracing for many many years: https://news.ycombinator.com/item?id=11848097 https://news.ycombinator.com/item?id=11848097
- drb91 9y agoWell, if we can get a standardized raytracing api built into any os, that’s a pretty big deal. Also, ray tracing, marching, and casting has been real-time for a while, for some definition and degree. Graphics has always been about tradeoffs, though, and this seems markedly more general purpose than anything I’ve seen before. I’m excited, even though I don’t have any Microsoft products outside my Xbox.
- egypturnash 9y agoLarge scene graphs full of dynamically allocated objects with arbitrary motion and animation are a very different problem than a flyover of a static landscape or a Mandelbulb that you’re tweaking parameters on.
- kev009 9y agoSo I guess this is to mesh with the new HW support from nvidia and AMD? Because ray tracing wasn't usually the providence of GPUs. https://www.anandtech.com/show/12546/nvidia-unveils-rtx-technology-real-time-ray-tracing-acceleration-for-volta-gpus-and-later https://www.anandtech.com/show/12546/nvidia-unveils-rtx-tech... https://www.anandtech.com/show/12552/amd-announces-real-time-ray-tracing-for-prorender-and-radeon-gpu-profiler-12 https://www.anandtech.com/show/12552/amd-announces-real-time... I haven't touched a PC game in ages, would be fun to come back and see some epic like HL3 done up in this.
- synaesthesisx 9y agoThis is quite exciting for augmented reality applications - I think it's a reasonable assumption that the next iteration of Hololens will have some sort of hardware acceleration for this (like Nvidia's RTX w/ Volta announced today). Relevant: https://arstechnica.com/gadgets/2013/01/shedding-some-realistic-light-on-imaginations-real-time-ray-tracing-card/?comments=1&post=23723213 https://arstechnica.com/gadgets/2013/01/shedding-some-realis... "I am 90% sure that the eventual path to integration of ray tracing hardware into consumer devices will be as minor tweaks to the existing GPU microarchitectures." - John Carmack
- blauditore 9y agoThe Seed tech demo advertises depth of field - so does this renderer simulate a lens? Is this common in raytracing?
- pavlov 9y agoYes, simulating lenses is standard for physically-based rendering.
- jlebrech 9y agohow much of this is due to crypto? do they have a raytracing chip that's much less general purpose and specific to raytracing (and incompatible with mining)?
- growth1000x 9y agoOh yeah baby!
- mtgx 9y agoWhy not path tracing?