SlideShare a Scribd company logo
1" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
TAKAHIRO"HARADA,"DMITRY"KOZLOV"
3/16/2016"
MULTIPLATFORM+GPU+RAY.TRACING+SOLUTIONS+
WITH+FIRERENDER+AND+FIRERAYS+
2" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  FireRender"
‒ All"in"package"(ray"casKng,"shading)"
‒ For"renderer"users"
‒ Output"Q"Rendered"image"
‒ Physically"based"rendering"library"
!  FireRays"
‒ For"renderer"developers"
‒ Output"Q"IntersecKons"
‒ Ray"intersecKon"library"
!  Implemented"using"OpenCL"
MULTIPLATFORM"GPU"RAYQTRACING"SOLUTIONS"
3" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  FireRender"
‒ Features"
‒ Architecture"
‒ Examples"
!  FireRays"
‒ IntroducKon"
‒ Technology"
‒ Examples"
AGENDA"
4" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERENDER+
5" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  “Fast"high"quality"rendering"everywhere”"
""""""""GPU""""""""Path"tracing"""""""""""""OpenCL"
!  C"API"
!  OpenCL"1.2"
!  MulK"pla`orm"soluKon"
‒ OS"(Windows,"Linux)"
‒ Vendor"(AMD,…)"
FIRERENDER"
6" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FEATURES"
! Camera"
MoKon"Blur"DOF" Bokeh"
! Geometry"
Instancing"Mesh" Subdivision"
! Lights"
Area"IES"Spot"Point"
7" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FEATURES"
MATERIALS"
! BSDFs"
! Basic"components"
Diffuse"reflecKon"
! Shader"graph"
! Arbitrary"connecKon"of"shader"nodes"for"flexible"shading"system"
Diffuse"refracKon" Glossy"reflecKon" Glossy"refracKon" Spec."reflecKon" Spec."refracKon" SSS"
Input"Lookup" ArithmeKc" Example" Example" Example"Procedural" Blend"BSDFs""
8" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
HOW"FIRERENDER"IS"BUILT"
FIRERENDER+ARCHITECTURE+
9" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
ARCHITECTURE"OVERVIEW"
!  Input:"scene"info"
!  Output:"rendered"image"
!  Runs"on""
‒ Single"GPU"
‒ MulKple"GPUs"
‒ CPUs"
‒ Mix"of"these"
CPU+
OpenCL+
FireRender+Core+
User+
Geometry,"material,"light" Rendered"image"
FireRender+API+
GPU+#2+GPU+#1+
10" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERENDER+CORE+
11" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Split"kernel"implementaKon"
‒ Modular"
‒ Easy"to"modify,"extend,"debug"
‒ Change"behavior"by"replacing"a"kernel"
‒  Ray"casKng"kernel"=>"FireRays,"Vector"displacement,"Out"of"core"support"
‒  Camera"=>"Bake"camera"
‒ High"GPU"uKlizaKon"
‒ Less"GPR"usage"
‒ Bener"performance"
IMPLEMENTATION"
12" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Textures"
‒ Manually"managed"
‒ No"limit"to"the"number"of"textures"(up"to"the"memory"limit)"
!  Lights"
‒ Many"lights"are"challenging"
‒ Slow"convergence"
‒ OpKmized"for"many"lights"
‒ GPU"opKmized"stochasKc"light"culling"
IMPLEMENTATION"
6,000"area"lights"
13" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
IMPLEMENTATION"
MATERIAL"SYSTEM"
!  Material"=="shader"graph"
‒ Arbitrary"node"connecKon"
‒ BSDFs"(Closures),"textures,"arithmeKc"operaKon"
!  For"each"shading"point"
‒ Traverse"the"graph"
=>"BSDF"+"Parameters"
‒ Evaluate"BSDF"
‒ Sample"using"BSDF"
14" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Make"single"frame"render"faster"
!  Screen"split"
!  Support"heterogeneous"GPUs"
!  Load"balancing"
‒ Minimize"the"idle"Kme"on"GPU"
IMPLEMENTATION"
MULTI"GPU"SUPPORT"
7"GPUs"
15" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
HOW"TO"USE"FIRERENDER"
FIRERENDER+API+
16" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
Initialization
FIRERENDER"API"EXAMPLE"(1/4)"
SIMPLE"RENDER"
Camera Set up
// Create OpenCL context using a single GPU
fr_context context;
fr_material_system matsys;
fr_scene scene;
frCreateContext(FR_API_VERSION, FR_CONTEXT_OPENCL, FR_CREATION_FLAGS_ENABLE_GPU0, NULL, NULL, &context);
frContextCreateMaterialSystem(context, 0, &matsys);
frContextCreateScene(context, &scene);
frContextSetScene(context, scene);
// Create camera
fr_camera camera;
frContextCreateCamera(context, &camera);
frCameraLookAt(camera, 5, 5, 20, 0, 0, 0, 0, 1, 0);
frCameraSetFocalLength(camera, 75.f);
frSceneSetCamera(scene, camera);
17" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
// Create point light
fr_light light;
frContextCreatePointLight(context, &light);
frLightSetTransform(light, FR_TRUE, &lightm(0,0));
frPointLightSetRadiantPower3f(light, 255, 241, 224);
frSceneAttachLight(scene, light);
// Create plane mesh
fr_shape plane;
frContextCreateMesh(context,...);
frSceneAttachShape(scene, plane);
// Create simple diffuse shader
fr_material_node diffuse;
frMaterialSystemCreateNode(matsys, FR_MATERIAL_NODE_DIFFUSE, &diffuse);
frMaterialNodeSetInputF(diffuse, "color", 0.5f, 0.5f, 0.5f, 1.f);
frShapeSetMaterial(plane, diffuse);
FIRERENDER"API"EXAMPLE"(2/4)"
SIMPLE"RENDER"
"
Create Point Light
Create Mesh
Create shader
18" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
Create frame buffer
Render & Save
// Create framebuffer to store rendering result
fr_framebuffer_desc desc;
desc.fb_width = 800;
desc.fb_height = 600;
fr_framebuffer_format fmt = {4, FR_COMPONENT_TYPE_FLOAT32};
fr_framebuffer frame_buffer;
frContextCreateFrameBuffer(context, fmt, &desc, &frame_buffer);
frFrameBufferClear(frame_buffer);
frContextSetAOV(context, FR_AOV_COLOR, frame_buffer);
// Render
frContextRender(context);
// Save the result to file
frFrameBufferSaveToFile(frame_buffer, "simple_render.png");
FIRERENDER"API"EXAMPLE"(3/4)"
SIMPLE"RENDER"
"
19" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
Create frame buffer
Render & Save
// Create framebuffer to store rendering result
fr_framebuffer_desc desc;
desc.fb_width = 800;
desc.fb_height = 600;
fr_framebuffer_format fmt = {4, FR_COMPONENT_TYPE_FLOAT32};
fr_framebuffer frame_buffer;
frContextCreateFrameBuffer(context, fmt, &desc, &frame_buffer);
frFrameBufferClear(frame_buffer);
frContextSetAOV(context, FR_AOV_COLOR, frame_buffer);
// Render
frContextRender(context);
// Save the result to file
frFrameBufferSaveToFile(frame_buffer, "simple_render.png");
FIRERENDER"API"EXAMPLE"(3/4)"
SIMPLE"RENDER"
"
20" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
// Create BXDFs
fr_material_node base, top;
{
frMaterialSystemCreateNode(matsys, FR_MATERIAL_NODE_DIFFUSE, &base);
frMaterialNodeSetInputF(base, "color", r0, g0, b0, 1.f);
frMaterialSystemCreateNode(matsys, FR_MATERIAL_NODE_MICROFACET, &top);
frMaterialNodeSetInputF(top, "color", r1, g1, b1, 1.f);
frMaterialNodeSetInputF(top, "roughness", 0.1f, 0.f, 0.f, 1.f);
}
// Create a layered shader
fr_material_node layered;
{
frMaterialSystemCreateNode(matsys, FR_MATERIAL_NODE_BLEND, &layered);
frMaterialNodeSetInputN(layered, "color0", base);
frMaterialNodeSetInputN(layered, "color1", top);
frMaterialNodeSetInputF(layered, "weight", 0.5f, 0.5f, 0.5f, 1.f);
}+
FIRERENDER"API"EXAMPLE"(4/4)"
LAYERED"SHADER"
Blend+
Diffuse+ Glossy+ Weight+
+
+
0.5+
21" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
PERFORMANCE+
22" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FEBRUARY"2015"""|"""CONFIDENTIAL"
RENDERING"TIME?"
2"X"RADEON"PRO"DUO"@"1280"X"720"
23" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FEBRUARY"2015"""|"""CONFIDENTIAL"
RENDERING"TIME?"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""~"5"SECONDS"
2"X"RADEON"PRO"DUO"@"1280"X"720"
24" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
PERFORMANCE"
2"X"RADEON"PRO"DUO"@"1280"X"720"
5s+ 30s+
25" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
PERFORMANCE"
2"X"RADEON"PRO"DUO"@"1280"X"720"
5s+ 30s+
26" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
PERFORMANCE"
2"X"RADEON"PRO"DUO"@"1280"X"720"
5s+ 30s+
27" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
EXAMPLES+
28" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
EXAMPLES"
29" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
30" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
31" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
32" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
33" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
3DS"MAX"PLUGIN"DEMO"
34" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Open"to"registered"developers"
!  hnp://developer.amd.com/toolsQandQsdks/graphicsQdevelopment/
fireproQsdk/amdQfirerenderQtechnology/"
!  FirePro.Developers@amd.com"
FIRERENDER"SDK"
35" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERAYS+
36" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  PhotorealisKc"rendering"
!  Collision"detecKon"
!  ParKcle"physics"
!  Game"AI""
!  Medical"imaging"
!  PredicKve"rendering"
!  Sound"propagaKon"
!  RealQKme"effects"
MOTIVATION"
37" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Massively"parallel"architecture"
!  Naïve"approach"does"not"work"on"
GPUs"
!  Variety"of"hardware"to"support"
!  Rapidly"changing"sovware""
‒ DX/GL"
‒ "OpenCL"
‒ "Vulkan/DX12"
‒ "HCC"
GPU"ACCELERATION"
38" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Fast"intersecKon"API:""
‒ Best"perf"on"AMD"
‒ CPU/GPU/MGPU"
GPU"ACCELERATION:""FIRERAYS"
!  CrossQpla`orm"
‒ Windows"/"Linux"/""OSX"
!  CrossQvendor"
!  OpenQsource"renderer"
!  Hosted"on"GPUOpen"
39" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Triangle"meshes"
!  Instancing"support"
"
GPU"ACCELERATION:""FIRERAYS"
!  Fast"traversal"
!  Ray"masking"
"
!  CPU/GPU"BVH"
!  OpenCL"interop"
"
40" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  SDK"is"hosted"on"GitHub"
!  Library"binaries:"
‒ "Windows""
‒ "Mac"OS"(coming"soon)"
‒ "Linux"("coming"soon)"
!  OpenQsource"sample"renderer"
‒ "Efficient"streaming"pathQtracer"
‒ "Illustrates"FireRays"usage"
!  Benchmark"
FIRERAYS:"SDK"
hnps://github.com/GPUOpenQLibrariesAndSDKs/FireRays_SDK"
41" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  High"quality"CPU"SBVH"
‒ "Takes"longer"to"build""
‒ "Fastest"traversal"
‒ "Stackless"and"short"LDS"stack"
‒ "Good"for"final"rendering"
FIRERAYS:"TECHNOLOGY"
!  GPU"HLBVH"
‒ "Fastest"build"
‒ "Slower"traversal"(stacked"LDS)"
‒ "Good"for"animaKon"&"preview"
42" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Fully"openQsource"
!  Reference"path"tracer"
!  Microkernel"based"
!  Efficient"reQcompacKon"
!  Supports"mulKple"GPUs"
!  Implemented"using"
FireRays"OpenCL"interop"
FIRERAYS:"EXAMPLE"RENDERER"
!  Compound"materials"
‒ "Diffuse"
‒ "ReflecKon"/"refracKon"
‒ "Microfacet"Blinn"/"GGX"/"
Beckmann"
‒ "Blend"
‒ "Bump"
‒ "Volume"scanering"
‒ "SSS""
43" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Renderer"developers"
‒ "Easy"integraKon"
‒ "CrossQpla`orm"
FIRERAYS:"APPLICATIONS"
!  CG"researchers"
‒ "Fast"prototyping"
‒ "OpenQsource"renderer"
‒ "Going"fully"openQsource!"
!  Physics"researchers"
‒ "Easy"to"use"API"
‒ "Not"specific"to"CG"
!  Game"developers"
‒ "Light"baking"
‒ "Future"effects"
‒ "We"are"going"Vulkan!"
44" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERAYS:"API"USAGE"
!  Pass"your"meshes"into"FireRays"
!  Setup"ray"buffers"
‒ "From"the"host"
‒ "Or"CL"kernel"
!  Query"intersecKons"
!  Handle"intersecKons"
// Enumerate all shapes in the scene !
for (int i = 0; i < (int)shapes.size(); ++i) !
{ !
Shape* shape = nullptr; !
shape = api->CreateMesh(vertices, numvertices, sizeof(float3),
indices, 0, nullptr, numprims);
!
shape->SetTransform(shapes[i].m, inverse(shapes[i].m)); !
api->AttachShape(shape); !
} !
!
api->Commit();!
"
// Intersect ray batch !
api->IntersectBatch(rays[pass & 0x1], hitcount[pass & 0x1], maxrays, intersections, nullptr, nullptr); !
45" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERAYS:"BEST"PRACTICES"
!  Use"two"buffers"pingQpong"
‒ "Helps"to"handle"many"bounces"
!  Compact"the"work"
‒ "Helps"to"avoid"divergence"
‒ "Bener"memory"access"
!  Do"not"use"mega"kernels"
‒ "Helps"to"reduce"VGPR"usage"
!  Try"to"generate"coherent"rays"
!  Use"mulKple"API"instances"for"
mGPU"
!  Let"GPUs"work"asynchronously"
!  MonteQCarlo"is"good"to"
distribute"to"mulKple"GPUs"
!  Use"lockQless"interacKon"
46" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERAYS:"EXAMPLE"RENDERER"
! Intersect"ray"buffer"
! Evaluate"volume"
! Compact"
! Evaluate"volume"
! Evaluate"surface"
! Extend"path"
47" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Web"interface"
‒ "InteracKve"web"product"viewer"
‒ "InteracKve"3D"configurator"
!  Specific"requirements"
‒ "Mainly"jewelry"rendering"
‒ "RGB"is"not"enough"
‒ "Need"realQKme"post"effects"
FIRERAYS:"USECASE"
48" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERAYS:"STARQSHAPED"FILTER"
Bague"Lady"
Gemmyo""©"2016"
49" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
FIRERAYS:"SPECTRAL"RENDERING"
Bague"Lady"
Gemmyo""©"2016"
50" MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
MARCH"2016"""|"""FIRERENDER,"FIRERAYS"
!  Go"fully"openQsource"on"GPUOpen!"
!  Vulkan"port"
‒ "Gaming"applicaKons"
‒ "Flexible"3DQcompute"interop"
‒ "Asynchronous"operaKon"
!  NonQbatched"mode"
!  FireRender"backend"
FIRERAYS:"WHAT’S"NEXT?"
!  Features"
‒ "Faster"builds"/"traversal"
‒ "Subdivision"&"displacement"
‒ "Out"of"core"
‒ "Improved"moKon"blur"
1	 MARCH	2016			|			FIRERENDER,	FIRERAYS	
MARCH	2016			|			FIRERENDER,	FIRERAYS
2	 MARCH	2016			|			FIRERENDER,	FIRERAYS	
MARCH	2016			|			FIRERENDER,	FIRERAYS	
§  We	are	looking	for	people	who	can	work	with	us	on	Firerender	&	
FireRays	
§  Several	posiJons	are	available	
‒ Development	of	Firerender	&	FireRays	
‒ Research	on	Monte	Carlo	ray	tracing	algorithm	
‒ Research	on	designing	algorithm	for	future	AMD’s	GPU,	CPU	architecture	
‒ Internship	posiJon	is	also	available	
§  If	you	are	interested	in	these,	contact	me	(takahiro.harada@amd.com)	
LOOKING	FOR	PEOPLE	WHO	CAN	WORK	WITH	US

More Related Content

What's hot (20)

PDF
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
AMD Developer Central
 
PDF
PostgreSQL with OpenCL
Muhaza Liebenlito
 
PDF
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
AMD Developer Central
 
PDF
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
AMD Developer Central
 
PDF
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
AMD Developer Central
 
PDF
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
AMD Developer Central
 
PPTX
Leverage the Speed of OpenCL™ with AMD Math Libraries
AMD Developer Central
 
PPSX
Gcn performance ftw by stephan hodes
AMD Developer Central
 
PDF
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
AMD Developer Central
 
PPTX
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unity Technologies
 
PPSX
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
AMD Developer Central
 
PDF
CC-4005, Performance analysis of 3D Finite Difference computational stencils ...
AMD Developer Central
 
PDF
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
AMD Developer Central
 
PDF
HC-4017, HSA Compilers Technology, by Debyendu Das
AMD Developer Central
 
PDF
Solving channel coding simulation and optimization problems using GPU
Usatyuk Vasiliy
 
PDF
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
AMD Developer Central
 
PDF
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
AMD Developer Central
 
PDF
PG-4037, Fast modal analysis with NX Nastran and GPUs, by Leonard Hoffnung
AMD Developer Central
 
PDF
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
AMD Developer Central
 
PDF
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
AMD Developer Central
 
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
AMD Developer Central
 
PostgreSQL with OpenCL
Muhaza Liebenlito
 
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
AMD Developer Central
 
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
AMD Developer Central
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
AMD Developer Central
 
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
AMD Developer Central
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
AMD Developer Central
 
Gcn performance ftw by stephan hodes
AMD Developer Central
 
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
AMD Developer Central
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unity Technologies
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
AMD Developer Central
 
CC-4005, Performance analysis of 3D Finite Difference computational stencils ...
AMD Developer Central
 
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
AMD Developer Central
 
HC-4017, HSA Compilers Technology, by Debyendu Das
AMD Developer Central
 
Solving channel coding simulation and optimization problems using GPU
Usatyuk Vasiliy
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
AMD Developer Central
 
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
AMD Developer Central
 
PG-4037, Fast modal analysis with NX Nastran and GPUs, by Leonard Hoffnung
AMD Developer Central
 
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
AMD Developer Central
 
PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Moni...
AMD Developer Central
 

Viewers also liked (20)

PDF
確率的ライトカリング 理論と実装 (CEDEC2016)
Takahiro Harada
 
PDF
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
Takahiro Harada
 
PDF
Introducing Firerender for 3DS Max
Takahiro Harada
 
PDF
Physics Tutorial, GPU Physics (GDC2010)
Takahiro Harada
 
PDF
Introduction to Monte Carlo Ray Tracing (CEDEC 2013)
Takahiro Harada
 
PDF
Forward+ (EUROGRAPHICS 2012)
Takahiro Harada
 
PDF
Introduction to Monte Carlo Ray Tracing, OpenCL Implementation (CEDEC 2014)
Takahiro Harada
 
PDF
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Takahiro Harada
 
PDF
Foveated Ray Tracing for VR on Multiple GPUs
Takahiro Harada
 
PDF
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)
Takahiro Harada
 
PDF
Heterogeneous Particle based Simulation (SIGGRAPH ASIA 2011)
Takahiro Harada
 
PDF
A Parallel Constraint Solver for a Rigid Body Simulation (SIGGRAPH ASIA 2011)
Takahiro Harada
 
PDF
Using GPUs for Collision detection, Recent Advances in Real-Time Collision an...
Takahiro Harada
 
PPTX
FrameGraph: Extensible Rendering Architecture in Frostbite
Electronic Arts / DICE
 
ODP
自由なデータ
Takatsugu Nokubi
 
PDF
レイトレ合宿4!? 実装紹介スライド
Hisanari Otsu
 
PDF
Scalable Gaming with AWS - GDC 2014
Nate Wiger
 
PDF
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Takahiro Harada
 
PPTX
ボリュームレンダリング入門
Hisanari Otsu
 
PPTX
MCMCベースレンダリング入門
Hisanari Otsu
 
確率的ライトカリング 理論と実装 (CEDEC2016)
Takahiro Harada
 
[2017 GDC] Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow
Takahiro Harada
 
Introducing Firerender for 3DS Max
Takahiro Harada
 
Physics Tutorial, GPU Physics (GDC2010)
Takahiro Harada
 
Introduction to Monte Carlo Ray Tracing (CEDEC 2013)
Takahiro Harada
 
Forward+ (EUROGRAPHICS 2012)
Takahiro Harada
 
Introduction to Monte Carlo Ray Tracing, OpenCL Implementation (CEDEC 2014)
Takahiro Harada
 
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Takahiro Harada
 
Foveated Ray Tracing for VR on Multiple GPUs
Takahiro Harada
 
A 2.5D Culling for Forward+ (SIGGRAPH ASIA 2012)
Takahiro Harada
 
Heterogeneous Particle based Simulation (SIGGRAPH ASIA 2011)
Takahiro Harada
 
A Parallel Constraint Solver for a Rigid Body Simulation (SIGGRAPH ASIA 2011)
Takahiro Harada
 
Using GPUs for Collision detection, Recent Advances in Real-Time Collision an...
Takahiro Harada
 
FrameGraph: Extensible Rendering Architecture in Frostbite
Electronic Arts / DICE
 
自由なデータ
Takatsugu Nokubi
 
レイトレ合宿4!? 実装紹介スライド
Hisanari Otsu
 
Scalable Gaming with AWS - GDC 2014
Nate Wiger
 
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Takahiro Harada
 
ボリュームレンダリング入門
Hisanari Otsu
 
MCMCベースレンダリング入門
Hisanari Otsu
 
Ad

Similar to [2016 GDC] Multiplatform GPU Ray-Tracing Solutions With FireRender and FireRays (20)

PDF
Narcissus — mapping configs in Go
Raphaël PINSON
 
PDF
Rendering Large Models in the Browser in Real-Time
C4Media
 
PPTX
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Michael Rys
 
PDF
Running R at Scale with Apache Arrow on Spark
Databricks
 
PDF
Introduction to Apache Beam
Jean-Baptiste Onofré
 
PDF
Running Spark In Production in the Cloud is Not Easy with Nayur Khan
Databricks
 
PDF
MLflow with R
Databricks
 
PDF
From HelloWorld to Configurable and Reusable Apache Spark Applications in Sca...
Databricks
 
PDF
Let's break apache spark workshop
Grzegorz Gawron
 
PDF
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
PDF
Firefox OS, the Open Web & WebAPIs - Geek Meet Västerås
Robert Nyman
 
PDF
Homer - Workshop at Kamailio World 2017
Giacomo Vacca
 
PDF
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
Felipe Prado
 
PDF
Transforming WebSockets
Arnout Kazemier
 
PDF
Songbird
Stephen Lau
 
PPTX
Chicago Hashicorp User Group - Terraform Public Module Registry
Stenio Ferreira
 
PDF
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam
 
PDF
Zebra -bar one label printing
Max Santolaya
 
PDF
Introduction to Spark
Li Ming Tsai
 
Narcissus — mapping configs in Go
Raphaël PINSON
 
Rendering Large Models in the Browser in Real-Time
C4Media
 
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Michael Rys
 
Running R at Scale with Apache Arrow on Spark
Databricks
 
Introduction to Apache Beam
Jean-Baptiste Onofré
 
Running Spark In Production in the Cloud is Not Easy with Nayur Khan
Databricks
 
MLflow with R
Databricks
 
From HelloWorld to Configurable and Reusable Apache Spark Applications in Sca...
Databricks
 
Let's break apache spark workshop
Grzegorz Gawron
 
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Firefox OS, the Open Web & WebAPIs - Geek Meet Västerås
Robert Nyman
 
Homer - Workshop at Kamailio World 2017
Giacomo Vacca
 
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
Felipe Prado
 
Transforming WebSockets
Arnout Kazemier
 
Songbird
Stephen Lau
 
Chicago Hashicorp User Group - Terraform Public Module Registry
Stenio Ferreira
 
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam
 
Zebra -bar one label printing
Max Santolaya
 
Introduction to Spark
Li Ming Tsai
 
Ad

Recently uploaded (20)

PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
July Patch Tuesday
Ivanti
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
July Patch Tuesday
Ivanti
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 

[2016 GDC] Multiplatform GPU Ray-Tracing Solutions With FireRender and FireRays