public static void SetVolumeTexture(this Material material, string name, VolumeTexture vt)
 {
     material.SetVector(VolumePaintingPlugin.VOLUME_POSITION_N_SIZE, vt.PosNsize4Shader);
     material.SetVector(VolumePaintingPlugin.VOLUME_H_SLICES, vt.Slices4Shader);
     material.SetTexture(name, vt.ImageData.CurrentTexture());
 }
        public static void SetVolumeTexture(this List <Material> materials, string name, VolumeTexture vt)
        {
            if (vt == null || vt.ImageData == null)
            {
                return;
            }

            var PnS = vt.PosNsize4Shader;
            var VhS = vt.Slices4Shader;

            foreach (var m in materials)
            {
                if (m != null)
                {
                    m.SetVector(VolumePaintingPlugin.VOLUME_POSITION_N_SIZE, PnS);
                    m.SetVector(VolumePaintingPlugin.VOLUME_H_SLICES, VhS);
                    m.SetTexture(name, vt.ImageData.CurrentTexture());
                }
            }
        }
Example #3
0
 public void PrepareVolumeBlit(BrushConfig bc, ImageData id, float alpha, StrokeVector stroke, VolumeTexture volume)
 {
     PrepareBlit(bc, id, alpha, stroke);
     pos          = (stroke.posFrom - volume.transform.position) / volume.size + 0.5f * Vector3.one;
     isVolumeBlit = true;
     slices       = volume.h_slices;
     volHeight    = volume.Height;
     texWidth     = id.width;
 }