{"id":2197,"date":"2018-03-29T03:47:06","date_gmt":"2018-03-28T19:47:06","guid":{"rendered":"http:\/\/www.animator.idv.tw\/?p=2197"},"modified":"2018-03-29T03:47:06","modified_gmt":"2018-03-28T19:47:06","slug":"gdc-2018%e7%9a%84realtime-raytrace%e7%9a%84%e6%8a%80%e8%a1%93","status":"publish","type":"post","link":"https:\/\/www.animator.idv.tw\/?p=2197","title":{"rendered":"GDC 2018\u7684Realtime Raytrace\u7684\u6280\u8853"},"content":{"rendered":"<p>\u5728\u4eca\u5e74\u7684GDC 2018\u4e2d\u8a31\u591a\u5ee0\u5546\u5c55\u793a\u4e86\u4f7f\u7528 Microsoft DirectX 12\u7684\u64f4\u5c55 API <strong>DirectX Raytracing(DXR)<\/strong>\uff0c\u5728Microsoft\u4e5f\u5728<a href=\"https:\/\/blogs.msdn.microsoft.com\/directx\/2018\/03\/19\/announcing-microsoft-directx-raytracing\/\">DirectX blog<\/a>\u8a73\u7d30\u4ecb\u7d39\uff0c\u8a72\u6280\u8853\u5df2\u7d93\u6574\u5408\u81f3Unreal\u8207Unity\uff0c\u5169\u5bb6\u4e3b\u8981\u904a\u6232\u958b\u767c\u5546\u5df2\u7d93\u767c\u5e03\u4e86\u5728\u81ea\u5df1\u7684\u5f15\u64ce\u4e0a\u904b\u884c\u7684DXR\u5c55\u793a\uff0c<a href=\"https:\/\/www.remedygames.com\/northlight\/\">Remedy Entertainment<\/a>\u7684Northlight\u548cEA\u7684\u5be6\u9a57\u6027Halcyon\u5f15\u64ce\u3002<\/p>\n<p>\u9019\u4e9b\u90fd\u4f7f\u7528\u4e86Nvidia\u7684RTX\u6280\u8853\uff0c\u90fd\u4f7f\u7528\u4e86Nvidia \u9ad8\u968e\u7684Volta GPU\u3002<\/p>\n<p><a href=\"https:\/\/www.remedygames.com\/northlight\/\">Remedy Entertainment<\/a>\u5c55\u793a\u4e86\u81ea\u5bb6\u7684Northlight Engine\uff0c<br \/>\n<iframe loading=\"lazy\" width=\"800\" height=\"460\" src=\"https:\/\/www.youtube.com\/embed\/jkhBlmKtEAk\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>Pica Pica demo \u662fEA SEED research division, \u5c55\u793a\u4e86\u5be6\u9a57\u6027Halcyon engine\u4f7f\u7528DirectX Raytracing<br \/>\n<iframe loading=\"lazy\" width=\"800\" height=\"460\" src=\"https:\/\/www.youtube.com\/embed\/LXo0WdlELJk\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>Epic\u4e5f\u8207ILM\u7684xLAB\u5408\u4f5c\u88fd\u4f5c\u4e86\u4e00\u6bb5Starwar\u4f7f\u7528DXR\u7684Real-time Raytracing Tech Demo\uff0c\u5c55\u793a\u4e0b\u4e00\u4ee3\u7684Unreal\u7684Lighting\u8207Rendering\u7684\u6280\u8853<br \/>\n<iframe loading=\"lazy\" width=\"800\" height=\"460\" src=\"https:\/\/www.youtube.com\/embed\/J3ue35ago3Y\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>\u5728GDC 2018\u4e0a\uff0cEpic\u4e5f\u8207ILMxLAB\u5c55\u793a\u4e86\u4f7f\u7528Real-time\u7684Raytracing\u7684\u6280\u8853\u7d30\u7bc0<br \/>\n<iframe loading=\"lazy\" width=\"800\" height=\"460\" src=\"https:\/\/www.youtube.com\/embed\/JAKXySYfLWo\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<h5>\u66f4\u5373\u6642\u8207\u771f\u5be6\u7684Raytracing<\/h5>\n<p>\u73fe\u4eca\u7684\u904a\u6232\u7e6a\u5716\u57fa\u790e\u90fd\u662f\u5efa\u7acb\u5728\u5149\u67f5\u5316(rasterization)\u9019\u6a23\u7684\u6280\u8853\u4e0a\uff0c\u70ba\u4e86\u7e6a\u88fd\u51fa\u66f4\u771f\u5be6\u7684\u756b\u9762\uff0c\u4f7f\u7528\u8d8a\u4f86\u8d8a\u5403\u91cd\u7684\u6280\u5de7\u4f86\u9054\u5230GI\u6548\u679c\u4ee5\u63d0\u9ad8\u771f\u5be6\u5ea6\uff0c\u6642\u5230\u4eca\u65e5\uff0c\u4f7f\u7528\u9019\u6a23\u7684\u6280\u8853\uff0c\u786c\u9ad4\u7684\u9700\u6c42\u4e5f\u975e\u5e38\u5403\u91cd\u3002\u4f46\u662f\u73fe\u5728\u4f7f\u7528\u4e86DirectX 12 DXR\uff0c\u53ef\u4ee5\u5728\u540c\u6a23\u7684Graphic Pipeline\u4f7f\u7528Raytracing\u7684\u65b9\u6cd5\uff0c\u4f86\u900f\u904e\u786c\u9ad4\u7684\u652f\u63f4\u8207HLSL\u7684\u4e00\u7d44Raytracing function TraceRay()\uff0c\u4f86\u9054\u5230\u67d0\u4e9b\u66f4\u771f\u5be6\u7684\u6548\u679c\uff0c\u50cf\u662fSoft Shadow\u8207Reflection, Ambient Occlusion, Subsurface Scattering\u8207Dynamic GI\u3002<\/p>\n<p>\u5728Raytracing\u7684\u4e16\u754c\u88e1\uff0cRay Bounce\u8207Sample\u6c7a\u5b9a\u4e86\u6700\u7d42\u7684\u54c1\u8cea\uff0c\u5728Unreal\u7684Demo\u4e2d\uff0c\u70ba\u4e86\u9054\u5230Reflection\uff0cSoft Shadow\u8207Ambient Occlusion\u9019\u985e\u9700\u8981\u5927\u91cfRay Sample\u7684\u6548\u679c\uff0c\u63a1\u7528\u5728\u6bcf\u500bpixel\u4f7f\u7528\u8f03\u4f4e\u7684sample\u6578\uff0c\u914d\u5408Nvidia\u7684Denoise\u7684\u6280\u8853\u9054\u5230\u54c1\u8cea\u8207\u901f\u5ea6\u7684\u7d50\u679c\u3002<\/p>\n<p><a href=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTReflect_denoise.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTReflect_denoise.jpg\" alt=\"RTReflect_denoise\" width=\"1366\" height=\"768\" class=\"aligncenter size-full wp-image-2215\" srcset=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTReflect_denoise.jpg 1366w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTReflect_denoise-300x169.jpg 300w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTReflect_denoise-1024x576.jpg 1024w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTReflect_denoise-150x84.jpg 150w\" sizes=\"(max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTShadow_denoise.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTShadow_denoise.jpg\" alt=\"RTShadow_denoise\" width=\"1366\" height=\"768\" class=\"aligncenter size-full wp-image-2214\" srcset=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTShadow_denoise.jpg 1366w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTShadow_denoise-300x169.jpg 300w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTShadow_denoise-1024x576.jpg 1024w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/RTShadow_denoise-150x84.jpg 150w\" sizes=\"(max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<h5>The Ray Tracing Pipeline<\/h5>\n<p>\u50b3\u7d71\u7684\u5149\u67f5\u5716\u5f62\u7ba1\u9053\u5b9a\u7fa9\u4e86\u8a31\u591a\u8457\u8272\u5668(shader)\u985e\u578b\uff1a\u9802\u9ede\u8457\u8272\u5668(vertex shader)\uff0c\u5e7e\u4f55\u8457\u8272\u5668(geometry shader)\uff0c\u50cf\u7d20\u8457\u8272\u5668(pixel shader)\u7b49\u3002\u8207\u8a72\u6a21\u578b\u985e\u4f3c\uff0c\u5149\u8de1\u8ffd\u8e64\u7ba1\u7dda\u7531\u4e94\u500b\u65b0\u7684\u8457\u8272\u5668\u985e\u578b\u7d44\u6210\uff0c\u5b83\u5011\u5728\u4e0d\u540c\u7684\u968e\u6bb5\u57f7\u884c\u3002Program Model\u985e\u4f3c\u65bcNvidia\u7684OptiX\u3002<\/p>\n<ul>\n<li>Ray generation shader<\/li>\n<li>Intersection<\/li>\n<li>Any hit<\/li>\n<li>Closest hit<\/li>\n<li>Miss Shader<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/raytrace_01-625x630.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/raytrace_01-625x630.png\" alt=\"raytrace_01-625x630\" width=\"625\" height=\"630\" class=\"aligncenter size-full wp-image-2211\" srcset=\"https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/raytrace_01-625x630.png 625w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/raytrace_01-625x630-150x150.png 150w, https:\/\/www.animator.idv.tw\/wp-content\/uploads\/2018\/03\/raytrace_01-625x630-298x300.png 298w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<h6>Futuremark DirectX Raytracing demo<\/h6>\n<p><iframe loading=\"lazy\" width=\"800\" height=\"460\" src=\"https:\/\/www.youtube.com\/embed\/81E9yVU-KB8\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>\u5728\u73fe\u4eca\u7e6a\u5716\u786c\u9ad4\u8d8a\u4f86\u8d8a\u5feb\u7684\u74b0\u5883\uff0cRaytracing\u4e00\u76f4\u4ee5\u4f86\u90fd\u662f\u786c\u9ad4\u6548\u80fd\u7684\u6bba\u624b\uff0cDXR\u7684\u6280\u8853\u9084\u662f\u4e00\u500b\u5f88\u65b0\u7684\u6280\u8853\uff0c\u672a\u4f86Real-time Raytracing\u6703\u4e0d\u6703\u5b8c\u5168\u53d6\u4ee3\u73fe\u6709\u7684\u904a\u6232\u7e6a\u5716\u7684rasterization\u6280\u8853\uff0c\u9084\u6709\u5f88\u591a\u7684\u6311\u6230\u5fc5\u9808\u514b\u670d\uff0c\u4f46\u662f\u6709\u958b\u51fa\u4e00\u689d\u65b0\u7684\u9053\u8def\uff0c\u4e5f\u8a31\u6703\u8b93Real-time\u7684\u6280\u8853\u66f4\u591a\u5143\uff0c\u6709\u66f4\u4e0d\u4e00\u6a23\u7684\u9762\u8c8c\uff0c\u4e5f\u53ef\u4ee5\u8b93\u7d50\u679c\u66f4\u771f\u5be6\u3002<\/p>\n<p>\u76f8\u95dc\u9023\u7d50<br \/>\n<a href=\"https:\/\/www.unrealengine.com\/en-US\/blog\/epic-games-demonstrates-real-time-ray-tracing-in-unreal-engine-4-with-ilmxlab-and-nvidia\">Epic Games Demonstrates Real-Time Ray Tracing in Unreal Engine 4 with ILMxLAB and NVIDIA<br \/>\n<\/a><br \/>\n<a href=\"https:\/\/devblogs.nvidia.com\/introduction-nvidia-rtx-directx-raytracing\/\">Introduction to NVIDIA RTX and DirectX Raytracing<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u4eca\u5e74\u7684GDC 2018\u4e2d\u8a31\u591a\u5ee0\u5546\u5c55\u793a\u4e86\u4f7f\u7528 Microsoft DirectX 12\u7684\u64f4\u5c55 API DirectX Raytracing(DXR)\uff0c\u5728Microsoft\u4e5f\u5728DirectX blog\u8a73\u2026<\/p>\n<p class=\"continue-reading-button\"> <a class=\"continue-reading-link\" href=\"https:\/\/www.animator.idv.tw\/?p=2197\">\u7e7c\u7e8c\u95b1\u8b80<i class=\"crycon-right-dir\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":2223,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[108,110,109,92],"_links":{"self":[{"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2197"}],"collection":[{"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2197"}],"version-history":[{"count":24,"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2197\/revisions"}],"predecessor-version":[{"id":2226,"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2197\/revisions\/2226"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=\/wp\/v2\/media\/2223"}],"wp:attachment":[{"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.animator.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}