Esempio n. 1
0
        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;
            }
        }