tag:blogger.com,1999:blog-36508393993562987862024-03-13T02:36:23.177-07:00Daniel's Development BlogDanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-3650839399356298786.post-92193739551590787062013-01-18T18:19:00.001-08:002013-01-19T00:49:29.629-08:00Soft Shadows and Glossy Specular Reflection<div style="text-align: left;">
It has been a while since I posted my last update. I have made some major changes since then. I am still working on optimizations of the ray traversal algorithms and data structures. I have implemented soft shadows and glossy specular reflection by using a technique that loosely follows what Cyril Crassin pioneered and what Epic's Unreal Engine 4 is using for dynamic lighting (Sparse Voxel Octree Cone Tracing). </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgziGm12mFdDdHz0jnEHf1x61AtwWc9ROdT35vboVHeroWX9c_LKEsqwP-pyr5N9TWEJrwsYHCm2s2MaRN5zxV-Bc11bO3t9qSJemceRogcQVNNdrjFf4XjcQ-oxUyURY01gzNRYPAZqSo/s1600/Voxel+Engine+2013-01-18+18-24-24-96.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgziGm12mFdDdHz0jnEHf1x61AtwWc9ROdT35vboVHeroWX9c_LKEsqwP-pyr5N9TWEJrwsYHCm2s2MaRN5zxV-Bc11bO3t9qSJemceRogcQVNNdrjFf4XjcQ-oxUyURY01gzNRYPAZqSo/s400/Voxel+Engine+2013-01-18+18-24-24-96.bmp" width="400" /></a></div>
<br />
<div style="text-align: center;">
Models courtesy of Dmitriy Parkin (Imrod), Happy Buddha and Dragon (Stanford 3D Scanning Repository)<br />
Thanks to Jon Olick for optimization tips.</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/fgrYHi6mF6Y?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
800x600 @ 25-60 fps (2x GTX 680)</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Surprisingly, the performance on an Nvidia Geforce GTX 580 is not much slower than a single GTX 680. I suppose there are some ways I could better take advantage of the Kepler architecture of the 680 over the 580's Fermi.</div>
DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com3tag:blogger.com,1999:blog-3650839399356298786.post-36369224838449107702012-11-16T00:26:00.003-08:002012-11-16T00:27:17.414-08:00Better Scene Management<br />
Improved scene bounding volume hierarchy. This scene contains 2,500 instanced Imrod Models.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='360' src='https://www.youtube.com/embed/NhDRfySYjI4?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
480x360 @ 25-30 fps</div>
<br />
There is still much I want to do in the way of optimizations. My goal is still at least 30 fps at a resolution of 1280x720 (720p).<br />
<br />
Once I get closer to this goal, I will be implementing soft shadows, depth of field, and glossy reflection capabilities. The soft shadows will actually make it faster as secondary rays will not be traversing as deeply into the octrees, and the sampling will be interpolated for smoothness. The same goes for depth of field and glossy reflections. Hopefully I will also benefit from utilizing texture memory rather than global memory for the voxel data.<br />
<br />
My next blog entry will hopefully show models with color rather than being textured white.<br />
<br />
<div style="text-align: center;">
Imrod Model by Dmitry Parkin</div>
DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com1tag:blogger.com,1999:blog-3650839399356298786.post-9565105652351805042012-08-30T01:13:00.001-07:002012-08-30T01:16:45.907-07:00Instance TestJust a quick test of the instancing capabilities. In this test there are <span style="text-align: center;">1,323 Imrod Models </span><span style="text-align: center;">SVODepth(11)</span><span style="text-align: center;">. Only one copy of the octree resides in GPU memory taking 75 MB; the rest are instanced but have there own lighting.</span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/Y64m0maSrU4?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
480x400 ~
4-25 fps - (~2.2 billion) Visible Voxels</div>
<div style="text-align: center;">
2x GTX 680</div>
<br />
It runs slow as I have yet to optimize the scene octree and there are a few other bottlenecks I am working on.<br />
<br />
Here is a 1280x720 render at 20+ fps of a single model:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/GMzwTLmrWPk?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
<br /></div>
DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-88300420832705791582012-08-21T23:40:00.002-07:002012-08-21T23:48:43.937-07:00Instancing and Shadows<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/jucCvUtDpAY?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
800x600 ~30 fps - SVODepth(11/8) ~ 50 Million visible voxels</div>
<div style="text-align: center;">
2x GTX 680</div>
<div style="text-align: center;">
<br /></div>
This is a low resolution render of a scene that utilizes instancing of only two octree models. I am now in the process of developing an octree based scene graph data structure. This scene graph octree will reduce overall overdraw and speed up rendering substantially.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibTjBt618pNoicqnGZ-BORaX0DMBNKmsRFP2nhbYtMEQ3D1h5GaHxUJtXm14PxcQRWaoA2wS_GzgLQEx4vzA7NBwu1C5KbCALNPcM2nk0FfkIuOLAgSIhbFY8U33falZU3NbTQesX2zN8/s1600/Voxel+Engine+2012-08-21+23-46-51-41.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibTjBt618pNoicqnGZ-BORaX0DMBNKmsRFP2nhbYtMEQ3D1h5GaHxUJtXm14PxcQRWaoA2wS_GzgLQEx4vzA7NBwu1C5KbCALNPcM2nk0FfkIuOLAgSIhbFY8U33falZU3NbTQesX2zN8/s400/Voxel+Engine+2012-08-21+23-46-51-41.bmp" width="400" /></a></div>
<div style="text-align: center;">
<br /></div>
DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-37623946617761911022012-08-08T18:24:00.000-07:002012-08-14T17:13:59.956-07:00Better Shading<div class="separator" style="clear: both; text-align: center;">
Fixed the shading and added spherical environment mapped specular reflections.</div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/YkyHNCtujm4?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
800x600 ~50 fps - SVODepth(11) ~ 2 Million visible voxels</div>
<div style="text-align: center;">
1x GTX 680</div>
<br />
My next goal is to implement some sort of contour mapping per voxel, so that even at a lower subdivision level it will still look as detailed as this example.DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-72316092412614647802012-07-20T14:38:00.002-07:002012-09-22T23:43:00.586-07:00Rendering ImrodI was compelled to try and render the Imrod model that Jon Olick (worked for ID Software at one point) rendered with voxels. Below is a video of Jon's render, and below that is mine. Jon's is better...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='600' height='450' src='https://www.youtube.com/embed/VpEpAFGplnI?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='600' height='450' src='https://www.youtube.com/embed/znkWhvCsBls?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: center;">
800x600 ~60 fps - SVODepth(10) ~ 2 Million visible voxels</div>
<div style="text-align: center;">
1x GTX 680</div>
<div style="text-align: center;">
<br /></div>
<br />
I have been optimizing all that I can without the ability to even debug my parallel code, as the Nvidia Cuda Development site has been down from a malicious attack for the past week. I have been in dire need of the Nvidia Parallel Nsight 2.2 debugging app.<br />
<br />
I plan to implement voxel contours so that the voxels no longer have the cubical shape when viewed up close, but rather have a smoother surface that better represents the high poly source model.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU5wwOC33b-J-oug7m2zX5FqJWjibjbQR_PQkcAjfZK4gzAcrmHLoUxw0aveAFU1GOoHJXVIOHS0Gzxh8xVouBGW926LigY-ePGcDXsyoYY4hLgove63HlPcMGn3LcAQSPpZ0dQb_f4B0/s1600/Voxel+Engine+2012-07-20+02-33-15-02.bmp" imageanchor="1" style="background-color: white; clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY9c08yqIzaavCtLzInWKuKfs47UkJ0NKrhmau24SKsSutfvSaB_F3D4DNviY56Tq9ajN5sGFPsKb8cdkgBYAYbcRUuBzOpRYb7TyLis5rTyQEYrm4aF0Tudkz8pVURe5hnq-UYDHZeiI/s1600/Voxel+Engine+2012-07-20+02-32-33-02.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY9c08yqIzaavCtLzInWKuKfs47UkJ0NKrhmau24SKsSutfvSaB_F3D4DNviY56Tq9ajN5sGFPsKb8cdkgBYAYbcRUuBzOpRYb7TyLis5rTyQEYrm4aF0Tudkz8pVURe5hnq-UYDHZeiI/s320/Voxel+Engine+2012-07-20+02-32-33-02.bmp" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi59bJbdzRO_cEEnzj_5vU4Jlob2W5lJwzSMH3n7N0qj4LC5rWo_OMNxr8dgp2MO6ghBocjSvMCn1jtkSLa3cqSDGOChHDb9ZGZJfPizle5lQi17jg0tW2QfmPrvx9E8NYRH1BbsmZ-d0Q/s1600/Voxel+Engine+2012-07-20+02-33-03-45.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi59bJbdzRO_cEEnzj_5vU4Jlob2W5lJwzSMH3n7N0qj4LC5rWo_OMNxr8dgp2MO6ghBocjSvMCn1jtkSLa3cqSDGOChHDb9ZGZJfPizle5lQi17jg0tW2QfmPrvx9E8NYRH1BbsmZ-d0Q/s320/Voxel+Engine+2012-07-20+02-33-03-45.bmp" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU5wwOC33b-J-oug7m2zX5FqJWjibjbQR_PQkcAjfZK4gzAcrmHLoUxw0aveAFU1GOoHJXVIOHS0Gzxh8xVouBGW926LigY-ePGcDXsyoYY4hLgove63HlPcMGn3LcAQSPpZ0dQb_f4B0/s1600/Voxel+Engine+2012-07-20+02-33-15-02.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU5wwOC33b-J-oug7m2zX5FqJWjibjbQR_PQkcAjfZK4gzAcrmHLoUxw0aveAFU1GOoHJXVIOHS0Gzxh8xVouBGW926LigY-ePGcDXsyoYY4hLgove63HlPcMGn3LcAQSPpZ0dQb_f4B0/s320/Voxel+Engine+2012-07-20+02-33-15-02.bmp" width="320" /></a></div>
<br />
<div style="text-align: center;">
Disclaimer: This model is the intellectual property of Dmitry Parkin - <a href="http://www.parkparkin.com/">http://www.parkparkin.com/</a></div>
DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-11626137519875121662012-07-11T08:44:00.000-07:002012-07-11T09:37:39.544-07:00Optimization UnderwayI have been slaving away at this thing for a while now in an effort to optimize the heck out of it. I am making some progress.<span style="background-color: white; text-align: center;"><br /></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/aQAjfQXHum0?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
640x480 - ~50 fps - SVO Depth(9)</div>
<div style="text-align: center;">
1x GTX 580<br />
<br />
<div style="text-align: left;">
OBJ polygon count: 6,615,041</div>
<div style="text-align: left;">
SVO voxel count: 1,484,810 (22% the detail of OBJ)</div>
<div style="text-align: left;">
OBJ file size: ~500 MB</div>
<div style="text-align: left;">
SVO file size: ~88 MB (17% the size of OBJ) </div>
<div style="text-align: left;">
5% relative size difference over OBJ</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
My goal is to get the SVO files compressed down much further. Due to the hierarchical nature of sparse voxel octrees, much of the data I am currently saving to the file can actually be rebuilt at load time. I believe I can cut out at least 16 MB of data from the above example.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwwNAsGOoZ1xyPcNSulqgTUQSVN7ox04p5HkBjwCjOJMRLHhqEkvsycg0kaHPuqVgD-gXdkUd9qaTjOyHZuTF3jiW8c9S-j0VDHvW8GKBaeg4CNAitW9CUeethChd82puCrWl96eBMGnI/s1600/Untitled.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwwNAsGOoZ1xyPcNSulqgTUQSVN7ox04p5HkBjwCjOJMRLHhqEkvsycg0kaHPuqVgD-gXdkUd9qaTjOyHZuTF3jiW8c9S-j0VDHvW8GKBaeg4CNAitW9CUeethChd82puCrWl96eBMGnI/s400/Untitled.jpg" width="400" /></a></div>
<br /></div>
</div>DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-56547937469248576092012-07-08T23:25:00.000-07:002012-07-11T08:37:28.207-07:00Octree Depth Visualization and Dynamic LODHere is something to help you wrap your head around how a Sparse Voxel Octree (SVO) is organized. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/oKvKKhtgIW4?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
I rendered the model with each empty octant somewhat visible as a transparent shade of gray. As each primary raycast traverses into a deeper subdivision level within the octree, the rendered pixel gets brighter. If the ray intersects a terminal voxel (visible part of model), it returns the color to draw that pixel. I also show what reducing the maximum subdivision level rendered looks like (Inherent LOD).</div>DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-34188675695822991502012-07-08T14:48:00.002-07:002012-07-11T08:36:47.917-07:00First Real Voxel ModelThis will probably be the first post anyone will see, as I don't think anyone would be impressed by the first two. This one has a little bit more eye candy. Not as boring as looking at meaningless cubes...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/-09FlA1lJPE?feature=player_embedded' frameborder='0'></iframe></div>
<div align="center">
</div>
<div align="center" class="separator" style="clear: both; text-align: center;">
600x480 - ~60 fps - SVO Depth (7)</div>
<div align="center" class="separator" style="clear: both; text-align: center;">
1x GTX 580</div>
<div align="center" class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I wrote a Wavefront .obj file converter for getting polygonal models into a voxel format. All the converter does right now is it places a single leaf node (visible voxel) in the center of each quad polygon. The .obj file was exported from ZBrush with no UV map or textures; only polypaint was used to color it. ZBrush exports polypaint color information within the .obj file in a rather large mess of hex color codes. I am rendering this particular model with Blinn-Phong style lighting from within the Cuda kernel. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I will be focusing on optimising what I have right now for the next week or so. I should be able to increase the detail and frame rate quite a bit.</div>DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-60292329676138506922012-07-04T18:11:00.000-07:002012-07-11T08:35:35.428-07:00Renderer ported to CUDAHere is the same setup running in CUDA. I am using a recursive traversal algorithm.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/OEw_OkplTyo/0.jpg" height="400" width="480"><param name="movie" value="http://www.youtube.com/v/OEw_OkplTyo?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="480" height="400" src="http://www.youtube.com/v/OEw_OkplTyo?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
1024x768 - 180 fps - SVO Depth (20)</div>
<div class="separator" style="clear: both; text-align: center;">
1x GTX 580</div>
<div class="separator" style="clear: both; text-align: center;">
A little more interesting this time. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The smallest Subdivision level shown above is only one millionth the size of the whole octree. A 1km x 1km x 1km scene subdivided 20 times would result in voxels of size 1mm x 1mm x 1mm.</div>
<div align="center">
</div>
<br />
Getting the Directx 11 / Cuda interoperability working was fairly straight forward. I also optimized the traversal algorithm so that it would traverse the voxel hierarchy in order from front to back. <br />
<br />
My next goal is to write a converter that will take a high polygon count (~5 million) .obj exported from ZBrush with vertex color information, and compile a sparse voxel octree from this data. From there, I will attempt to load this data into my renderer to see how it performs rendering a single ~5 million voxel model.<br />
<br />DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0tag:blogger.com,1999:blog-3650839399356298786.post-24470143461305247312012-06-18T16:47:00.000-07:002012-07-11T08:34:28.652-07:00Basic Sparse Voxel Octree RendererI began this project by creating a single-threaded sparse voxel octree raycast renderer that runs on the CPU. Here is a screenshot of what I have so far.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='480' height='400' src='https://www.youtube.com/embed/JPthpTtNRFY?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
320x240 - 30fps - SVO Depth (2)</div>
<div class="separator" style="clear: both; text-align: center;">
Not too much to look at right now. The octree being rendered is very simple.</div>
<br />
My next task will be to setup a Cuda implementation of the renderer. This will require that I setup a DirectX 11 texture for rendering to and the interoperability between Cuda and DirectX. I won't be worrying about streaming of data to the video card until later. <br />
<br />
The ultimate goal of this project, is to produce a system that renders sparse voxel octree formatted models with a path traced lighting algorithm. I believe that there is great potential with this combination.DanielStrayerhttp://www.blogger.com/profile/12420072926798832354noreply@blogger.com0