Here are the examples of the csharp api System.Collections.Generic.Dictionary.Remove(VoxelVolumeComponent) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
19
Source : VoxelRenderer.cs
with MIT License
from WhyPenguins
with MIT License
from WhyPenguins
public virtual void Collect(RenderContext Context, Shadows.IShadowMapRenderer ShadowMapRenderer)
{
renderVoxelVolumes = Context.VisibilityGroup.Tags.Get(CurrentRenderVoxelVolumes);
if (renderVoxelVolumes == null || renderVoxelVolumes.Count == 0)
return;
List<VoxelVolumeComponent> toRemove = new List<VoxelVolumeComponent>();
foreach (var pair in renderVoxelVolumeData)
{
bool used = false;
foreach (var pair2 in renderVoxelVolumes)
{
if (pair2.Key == pair.Key)
used = true;
}
if (!used)
{
toRemove.Add(pair.Key);
}
}
foreach (var comp in toRemove)
{
renderVoxelVolumeDataList.Remove(renderVoxelVolumeData[comp]);
renderVoxelVolumeData.Remove(comp);
renderVoxelVolumes.Remove(comp);
}
//Create per-volume textures
foreach ( var pair in renderVoxelVolumes )
{
var volume = pair.Value;
var bounds = volume.VoxelMatrix.ScaleVector;
RenderVoxelVolumeData data;
if (!renderVoxelVolumeData.TryGetValue(pair.Key, out data))
{
data = new RenderVoxelVolumeData();
renderVoxelVolumeDataList.Add(data);
renderVoxelVolumeData.Add(pair.Key, data);
}
VoxelStorageContext storageContext = new VoxelStorageContext
{
device = Context.GraphicsDevice,
Extents = bounds,
VoxelSize = volume.AproxVoxelSize,
Matrix = volume.VoxelMatrix
};
volume.Storage.UpdateFromContext(storageContext, data);
foreach (var attr in volume.Attributes)
{
attr.PrepareLocalStorage(storageContext, volume.Storage);
}
volume.Storage.UpdateTempStorage(storageContext);
ShaderSourceCollection AttributeIndirect = new ShaderSourceCollection();
ShaderSourceCollection AttributeModifiers = new ShaderSourceCollection();
foreach (var attr in volume.Attributes)
{
AttributeIndirect.Add(attr.GetShader());
attr.AddAttributes(AttributeModifiers);
}
if (AttributeModifiers != data.AttributeModifiers)
{
data.AttributeModifiers = AttributeModifiers;
}
if (AttributeIndirect != data.AttributeIndirect)
{
data.AttributeIndirect = AttributeIndirect;
}
data.VisualizeVoxels = volume.VisualizeVoxels;
data.Attributes = volume.Attributes;
data.Storage = volume.Storage;
data.StorageContext = storageContext;
data.VoxelizationMethod = volume.VoxelizationMethod;
data.VoxelVisualization = volume.VoxelVisualization;
data.Voxelize = volume.Voxelize;
data.ReprView = volume.VoxelizationMethod.CollectViews(VoxelStage, volume, storageContext, Context);
ShadowMapRenderer?.RenderViewsWithShadows.Add(data.ReprView);
}
}