tag:blogger.com,1999:blog-7773532993303488759.post3847329637907483528..comments2023-04-12T08:33:48.690+02:00Comments on Icare3D Blog: Interactive Indirect Illumination and Ambient Occlusion Using Voxel Cone TracingCyril Crassinhttp://www.blogger.com/profile/16474299434636795969noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-7773532993303488759.post-17358283075694747342012-06-15T18:05:27.438+02:002012-06-15T18:05:27.438+02:00Right :) http://blog.icare3d.org/2012/06/unreal-en...Right :) <a src="http://blog.icare3d.org/2012/06/unreal-engine-4-demo-with-real-time-gi.html" rel="nofollow">http://blog.icare3d.org/2012/06/unreal-engine-4-demo-with-real-time-gi.html</a>Cyril Crassinhttps://www.blogger.com/profile/16474299434636795969noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-87381448532153560532012-06-15T12:20:02.774+02:002012-06-15T12:20:02.774+02:00Nice work!
I heard a variation of this technique ...Nice work!<br /><br />I heard a variation of this technique is used in Unreal Engine 4End Gdgthttps://www.blogger.com/profile/14329994436266481314noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-84434208551080579472011-08-30T11:38:57.403+02:002011-08-30T11:38:57.403+02:00demo ?
:)demo ?<br />:)Greghttps://www.blogger.com/profile/13179991314438916323noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-5755202528696663592011-08-05T22:53:08.767+02:002011-08-05T22:53:08.767+02:00Hello Cyril,
Very impressive work, congratulations...Hello Cyril,<br />Very impressive work, congratulations!<br /><br />I'm not experienced at all with voxels but if I understand well, you have implemented what J. Carmack sometimes refers to "hybrid rendering", that-is-to-say you compute lighting by using a voxel octree but keep using traditional hardware rasterization (then polygons) to render objects, am I right?<br /><br />If so, this approach proves here to be great as it combines some strengths of both techniques, I mean fast rendering in combination with a quite realistic lighting model. The same results could obviously be achieved using other techniques, at a (much) higher price though.<br />This is a for sure a very good fit for relatively small scenes where most objects remain static. However I just wonder how it would behave in other situations:<br /><br />- voxel rendering has the great benefit of requiring only those voxels to be streamed in large-scale / open-world environments. But with this hybrid approach, both geometry and textures PLUS voxels need to be loaded then, which would require more stream bandwidth, more memory budget and CPU time required than the other techniques. Nothing prohibitive when looking at end-user computers or next-gen consoles, but it's a drawback anyways :)<br /><br />- how much does cost the octree's update for a single animated model like the hand? would it still be running at an interactive framerate if there were ten of them? Since the voxel octree only manages lighting, maybe there's the possibility to turn off its update for distant animated objects. This would make this technique even more interesting, but I don't know if it's possible and how noticeable this would be.rSyndromehttps://www.blogger.com/profile/12192887757245752083noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-34597547219533292512011-08-05T08:09:59.805+02:002011-08-05T08:09:59.805+02:00Looks really nice, great work!
I agree the hand is...Looks really nice, great work!<br />I agree the hand is a bit unnerving :)e-wehttps://www.blogger.com/profile/01830696684876581495noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-73240148151922474052011-08-05T03:18:45.389+02:002011-08-05T03:18:45.389+02:00This comment has been removed by the author.Ethanhttps://www.blogger.com/profile/12211574902760446003noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-42950323312434558482011-07-02T08:06:35.327+02:002011-07-02T08:06:35.327+02:00Does this support multiple dynamic lights?Does this support multiple dynamic lights?StaticTheFoxhttps://www.blogger.com/profile/00929138735501537601noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-48941810492953183362011-06-29T15:24:24.947+02:002011-06-29T15:24:24.947+02:00@LogicalError Larger cones, and so bigger voxels, ...@LogicalError Larger cones, and so bigger voxels, does speedup the algorithm a lot. However, an important part of the time is also taken by the dynamic update of the structure. Also here, lower resolution voxels speedup the voxelization process.<br />About scalability, the speed is highly dependent on the number of cones you trace, and so of the screen resolution. Here I am only using a 512^2 rendering resolution.Cyril Crassinhttps://www.blogger.com/profile/16474299434636795969noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-23138230822384974962011-06-29T15:20:58.835+02:002011-06-29T15:20:58.835+02:00@talden First thank you for your feedback :-)
I ne...@talden First thank you for your feedback :-)<br />I never said that giving ms was not useful. Of course in a paper I will always detail the time taken by each step of the whole algorithm, and in this case it only makes sense to give ms. Here the goal was only to give an idea of the overall performances and everything measured is part of the algorithm (clearing the framebuffer is negligible in comparison to the rest of the frame). <br />So don't worries these timings will be in the paper that is to come :-)Cyril Crassinhttps://www.blogger.com/profile/16474299434636795969noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-80440011307174324752011-06-28T23:34:39.980+02:002011-06-28T23:34:39.980+02:00Great stuff!
Do you have any experiences of tracin...Great stuff!<br />Do you have any experiences of tracing the AO towards infinity in order to use it to do occluded skylighting? Most of the AO examples seem to be local.laserdavidhttps://www.blogger.com/profile/15464992806649778806noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-78330962714938303962011-06-28T10:35:53.021+02:002011-06-28T10:35:53.021+02:00There's another thing I'm wondering about,...There's another thing I'm wondering about, how scalable is this algorithm? For instance, if the voxels are bigger, does that speed up the rendering a lot, or only a little? Perhaps with voxels twice the size, the quality of the lighting would still be 'good enough', but take a lot less time..Sander van Rossenhttps://www.blogger.com/profile/13955123864686957569noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-6113857013736440312011-06-28T08:30:41.872+02:002011-06-28T08:30:41.872+02:00The results in that video are truly amazing. I wa...The results in that video are truly amazing. I was awed by the quality of the indirect shadows, and then I saw the indirect specular. Looking forward to finding out more at Siggraph, and seeing what optimized versions people come up with once it has been published for a while =)<br /><br />"In my case, the code is ONLY doing rendering stuff ;-) So a full frame measure is actually representative of the performance of the rendering algorithm."<br /><br />Surely there is some rendering overhead not related to your algorithm, right? You want to say how long your algorithm takes, not how long the direct lighting / shadowing takes, or how long it takes to clear the color and depth buffers each frame, etc. When you use ms and measure just the work of your algorithm, it allows people to know this and to know how much it would cost in their application as well. <br /><br />"I increased render time by 10ms with this option" if the render time was 900ms before, 10ms is not bad.. but if the render time was 16ms its a huge cost."<br /><br />Not quite - either way it took the same amount of time, which is what we want to measure in. In Brandon's example with a 4 fps difference, this delta represents a different amount of time depending on whether the base was 9 or 800. A drastically different amount of time.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-79725087015798091102011-06-27T18:32:42.056+02:002011-06-27T18:32:42.056+02:00Juste magnifique O_O. La France va bien être repré...Juste magnifique O_O. La France va bien être représentée au Siggraph avec ça :D !!!<br />Avez-vous l'intention d'intégrer cette technique dans un moteur de jeu ? Ça serait magnifique de pouvoir en profiter !<br /><br />Bonne Continuation :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-14107472762356112222011-06-27T11:29:19.235+02:002011-06-27T11:29:19.235+02:00Merci pour la typo :-)
My presentation at Siggraph...Merci pour la typo :-)<br />My presentation at Siggraph Paris is scheduled at 10h15 pm. Euh... who are you ? ;-)Cyril Crassinhttps://www.blogger.com/profile/16474299434636795969noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-47450011189623711322011-06-27T10:56:27.596+02:002011-06-27T10:56:27.596+02:00(Attention il y a une typo pour Vancouver)
Nice wo...(Attention il y a une typo pour Vancouver)<br />Nice work !<br />Do you know at what time is scheduled your Paris presentation tonight?Pierrehttps://www.blogger.com/profile/05274402416514943399noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-66040270353159785162011-06-27T05:57:37.775+02:002011-06-27T05:57:37.775+02:00And the same is true with ms... "I increased ...And the same is true with ms... "I increased render time by 10ms with this option" if the render time was 900ms before, 10ms is not bad.. but if the render time was 16ms its a huge cost.<br /><br />fps, ms, whatever... give me mpix/s for a reference picture.<br /><br />Anyways... this work kick booties left and right!<br /><br />Congratulation Cyril on this great accomplishment.Unknownhttps://www.blogger.com/profile/14514338673529408130noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-24584500695429022842011-06-25T16:52:35.865+02:002011-06-25T16:52:35.865+02:00Sounds like an interesting technique Cyril. I'...Sounds like an interesting technique Cyril. I'm excited to learn more! <br /><br />Also, sorry to keep focusing on the ms/FPS thing, but it's a frequent (and simple) problem that we can easily correct as a community. Always use ms. Never FPS. Let's say your technique has an option that improves visual quality, but you say it comes at a cost of 4 FPS. That information is useless. Was your application 9 FPS with the option off, and then 5 FPS with it on? Or 804 FPS off, 800 FPS on? If it's the former, the option is relatively very expensive, and if it's the latter, the option is relatively very cheap. Simplify our lives and give us ms =). <br /><br />Our goal should be to the make the performance characteristics of our algorithms as easy as possible for others to understand and compare to other algorithms.Brandonhttps://www.blogger.com/profile/13981081385645382986noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-68667347640550787832011-06-25T07:20:51.345+02:002011-06-25T07:20:51.345+02:00Ah ça claque ! J'ai hâte de pouvoir lire l'...Ah ça claque ! J'ai hâte de pouvoir lire l'article.Zaviehttps://www.blogger.com/profile/05764109477824249096noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-43907625483204057072011-06-25T00:03:20.940+02:002011-06-25T00:03:20.940+02:00In my case, the code is ONLY doing rendering stuff...In my case, the code is ONLY doing rendering stuff ;-) So a full frame measure is actually representative of the performance of the rendering algorithm.Cyril Crassinhttps://www.blogger.com/profile/16474299434636795969noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-57478750625390354912011-06-24T21:14:04.967+02:002011-06-24T21:14:04.967+02:00FPS and ms do NOT have a reciprocal relationship. ...FPS and ms do NOT have a reciprocal relationship. FPS is a "full frame" measure, which is a useless measure. When we use ms, we are measuring only the rendering portion of the frame, which is the only relevant measure for including in real-world applications, and for comparisons with other approaches.Christer Ericsonhttps://www.blogger.com/profile/12641617282440449995noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-53496492101492458792011-06-24T21:04:09.196+02:002011-06-24T21:04:09.196+02:00Looks promising. Congrats. Keep up the good work C...Looks promising. Congrats. Keep up the good work Cyril!Ashhttps://www.blogger.com/profile/12625252236983121298noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-15694077393302672222011-06-24T18:29:53.084+02:002011-06-24T18:29:53.084+02:00This is very neat!This is very neat!YuriyODonnellhttps://www.blogger.com/profile/08643204462177764419noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-269032021996891982011-06-24T16:39:24.419+02:002011-06-24T16:39:24.419+02:00Thanks :-) The framerate has been measured on a GT...Thanks :-) The framerate has been measured on a GTX 580.<br />About FPS vs ms, that's just because it measures the whole frametime, but you are free to do the inversion ;-pCyril Crassinhttps://www.blogger.com/profile/16474299434636795969noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-92163288723254141482011-06-24T15:43:36.953+02:002011-06-24T15:43:36.953+02:00Looks good!
What kind of hardware are you getting ...Looks good!<br />What kind of hardware are you getting 25-70fps on?<br />(also, why fps and not ms as a metric?)Sander van Rossenhttps://www.blogger.com/profile/13955123864686957569noreply@blogger.comtag:blogger.com,1999:blog-7773532993303488759.post-11043737989958513442011-06-24T15:21:35.230+02:002011-06-24T15:21:35.230+02:00The crazy hand is a bit scary!
But results are gr...The crazy hand is a bit scary!<br /><br />But results are great, nice work.r0otshttps://www.blogger.com/profile/17736811716445328640noreply@blogger.com