<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Yes, that is a possible use case. In that case, you would probably create a bunch of decals to simulate a trail of blood. You would have a decal pool for each layer, so you could
 have hundreds or thousands of decals per layer. You could have them at different scales as well (so each decal can grow). I might add functionality to have decal sheets so that each layer can have a number of variations, but this could mess up mipmaps slightly.
<div><br>
</div>
<div>If you wanted something more organic, you would need to do what Tansel did in his blood shaders, but I don't want to implement that until the material editor is more-or-less complete.<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF759875" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Sreekanth Arikatla [sreekanth.arikatla@kitware.com]<br>
<b>Sent:</b> Tuesday, October 03, 2017 10:34 AM<br>
<b>To:</b> Milef, Nicholas Boris<br>
<b>Cc:</b> imstk-developers@imstk.org<br>
<b>Subject:</b> Re: [Imstk-developers] Deferred decals<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Hi Nick,
<div>            Read the blog, option 2 seems fine to me. Can deferred decals be used for the case of cuts with blood that evolves between frames?</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Oct 2, 2017 at 2:44 PM, Milef, Nicholas Boris <span dir="ltr">
<<a href="mailto:milefn@rpi.edu" target="_blank">milefn@rpi.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-family:Tahoma; color:#000000; font-size:10pt">What tradeoffs do you all want for deferred decals? The main issue is which objects get affected by which decals (since a projection volume encompasses the target area). Deferred
 decals would be used for various markings such as burn marks, blood, or possibly just environmental details. You can think of them as a sticker.
<div><br>
</div>
<div>Here is a decent overview of the technique and the problem with volume (please read if you're unfamiliar with this topic):</div>
<div><a href="https://mtnphil.wordpress.com/2014/05/24/decals-deferred-rendering/" target="_blank">https://mtnphil.wordpress.com/<wbr>2014/05/24/decals-deferred-<wbr>rendering/</a></div>
<div><br>
</div>
<div>Option 1:</div>
<div>Add a material option to toggle decals on or off for a given mesh. This is the easiest implementation but also the most limited (meshes are either affected by all decals or none).</div>
<div><br>
</div>
<div>Option 2:</div>
<div>Add a mask for up to 8 types (layers) of decals. Each layer would be a property in the material class. You could can put the same type of decal (such as burn marks) on different layers to apply them to different meshes, but you are only limited to 8 layers
 total. This takes up 1 byte in the GBuffer. If we use two bytes, we can use up to 16 layers.</div>
<div><br>
</div>
<div>Option 3:</div>
<div>Add a material ID for each mesh in the simulator. Each decal would be assigned to one mesh. This would allow up to 256 unique meshes but unlimited types of decals. This takes up 1 byte in the GBuffer. If we use 2 bytes, then we can use up to 65k unique
 meshes. The drawback is that there can be a large amount of drawing/overdraw here (since decals must be drawn multiple times for each compatible material in the scene), which is expensive on both the CPU and GPU side.</div>
<div><br>
</div>
<div>Personally, I'm leaning towards Option 2, but I was wondering what you all thought.</div>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
Imstk-developers mailing list<br>
<a href="mailto:Imstk-developers@imstk.org" target="_blank">Imstk-developers@imstk.org</a><br>
<a href="http://public.kitware.com/mailman/listinfo/imstk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/imstk-<wbr>developers</a><br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Sreekanth Arikatla, Ph.D.,</div>
<div dir="ltr">Senior R&D Engineer,</div>
<div dir="ltr"><a href="http://www.kitware.com" style="font-size:12.8px" target="_blank">Kitware, Inc.</a>, Carrboro, NC.
<div><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>