<div dir="ltr">Hi Brecht,<div><br></div><div>Thanks for the heads up.<br><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 29, 2013 at 5:15 PM, Brecht Van Lommel <span dir="ltr"><<a href="mailto:brechtvanlommel@pandora.be" target="_blank">brechtvanlommel@pandora.be</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi Rafael,<br>
<br>
I left volume rendering off the summer of code ideas list because it's<br>
a big project, and because I'm already planning to work on it this<br>
summer myself. However there are two quite separate things to be done,<br>
the shading and texturing parts.<br>
<br>
The shading part is something I'd prefer to tackle myself, to make<br>
sure it all integrates well with the nodes and closure system, render<br>
passes, transparency, etc. This gets quite complex if you're not<br>
familiar with rendering and I want to make sure we get this right from<br>
the start. There's also already an experimental patch which contains<br>
volume rendering.<br>
<a href="http://lists.blender.org/pipermail/bf-cycles/2013-April/001266.html" target="_blank">http://lists.blender.org/pipermail/bf-cycles/2013-April/001266.html</a><br>
<br></blockquote><div><br></div><div>That sounds pretty reasonable - besides, the learning curve to get up to speed with the entirety of volume rendering might have proven to be overly steep for GSoC's time frame.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
The other part is texturing, which can be developed independently.<br>
Basically we need equivalents of the blender internal point density<br>
and voxel data textures in cycles. For the point density texture the<br>
points come from particle systems or object vertices, and for the<br>
voxel data they come either from smoke or some voxel file format.<br>
<br></blockquote><div><br></div><div style>This is very interesting too - really like the idea. I'm thinking that simply coding blender internal counterparts on cycles won't cut it - are we looking for improvements, or are there any known problems or limitations with the existing code that we would like to address?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Field3D, OpenVDB and Partio are all interesting libraries to look into<br>
as this would give us some support for more standard file formats than<br>
just Blender specific ones. Also interesting would be adding support<br>
for smoke to export to such file formats, as we can then add support<br>
for rendering such volume data without the entire thing being in<br>
memory at once.<br>
<br></blockquote><div><br></div><div style>This alone is very cool by itself, but a more in-depth survey of the pros and cons of supporting each of these might be needed (or not?). I'm just not sure how open ended I should leave this, ie, how much of each I should evaluate prior to submitting the proposal, or if evaluating each of these might be part of the summer activities.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
The nice part is that this can be developed even if volume shading is<br>
not implemented, surfaces can also do lookups in 3D textures. Just<br>
create a stack of transparent planes and you can test if the texture<br>
works correctly. So maybe implementing support for volume textures<br>
could be an interesting project?<br>
<br>
Brecht.<br></blockquote><div><br></div><div style>Being an independent project is a great thing, since it has to stand on its own. Besides, if this is developed alongside the shading part, even better.</div><div style><br>
</div><div style>Since this is a significant course correction, I have more homework to do, especially checking out what we currently have on blender internal.</div><div style><br></div><div style>Again, thanks for the tips.</div>
<div style><br></div><div style>Regards,</div><div style>Rafael.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div><br>
On Mon, Apr 29, 2013 at 6:56 PM, Rafael Campos <<a href="mailto:rafaelcdn@gmail.com" target="_blank">rafaelcdn@gmail.com</a>> wrote:<br>
> I'm in my last year as a Computer Engineering undergraduate, and not as<br>
> experienced with rendering engines as I had hoped I'd be by now.<br>
><br>
> Nonetheless, I'd really like to tackle Volume Rendering in Cycles for the<br>
> upcoming GSoC.<br>
><br>
> I believe I understand the challenges - it might be the case that the entire<br>
> project will be too much for one summer, but perhaps there's a good enough<br>
> subset of the problem that can serve as basis for future work, even my own.<br>
><br>
> Working out the details of such a proposal is proving to be a challenge,<br>
> since it isn't trivial to anticipate what the best approaches will be for<br>
> Cycles - I'm trying to keep interactivity and responsiveness in mind.<br>
><br>
> For now, I'm going over volume data structures (in the lines of field3d<br>
> (<a href="http://code.google.com/p/field3d/" target="_blank">code.google.com/p/field3d/</a>, but probably less general and simpler) and<br>
> different models for light scattering.<br>
><br>
> Resources I've been using are both code and books for pbrt and pvr, and the<br>
> volume rendering course notes of Siggraph '11<br>
> (<a href="http://magnuswrenninge.com/productionvolumerendering" target="_blank">http://magnuswrenninge.com/productionvolumerendering</a>).<br>
><br>
> Any ideas to help me along the way?<br>
</div></div>_______________________________________________<br>
Bf-cycles mailing list<br>
<a href="mailto:Bf-cycles@blender.org" target="_blank">Bf-cycles@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
</blockquote></div><br></div></div></div></div>