public HeightMapGen(string name, uint terrainSide) : base(name) { Side = terrainSide; terrainHeightMap = new Image("terrainHeightMap") { Width = terrainSide, Height = terrainSide, Depth = 1, Levels = 1, Layers = 1, Dimensions = 2, Format = ImageFormat.Rg32f, Usage = ImageUsage.Storage | ImageUsage.TransferSrc, InitialLayout = ImageLayout.Undefined, }; terrainHeightMap.Build(0); terrainHeightView = new ImageView("terrainHeightView") { Format = ImageFormat.Rg32f, ViewType = ImageViewType.View2D, BaseLevel = 0, LevelCount = 1, BaseLayer = 0, LayerCount = 1, }; terrainHeightView.Build(terrainHeightMap); Constants = Marshal.AllocHGlobal(sizeof(uint)); unsafe { uint *ui = (uint *)Constants; * ui = 0; } }