예제 #1
0
 public SamplerDescription(float maxLod, float minLod, VkCompareOp compareOp, bool compareEnable, float mipLodBias,
                           VkSamplerAddressMode addressModeW, VkSamplerAddressMode addressModeV, VkSamplerAddressMode addressModeU,
                           VkSamplerMipmapMode mipmapMode, VkFilter minFilter, VkFilter magFilter, VkBorderColor borderColor, bool unNormalizedCoordinates)
 {
     MaxLod                  = maxLod;
     MinLod                  = minLod;
     CompareOp               = compareOp;
     CompareEnable           = compareEnable;
     MipLodBias              = mipLodBias;
     AddressModeW            = addressModeW;
     AddressModeV            = addressModeV;
     AddressModeU            = addressModeU;
     MipmapMode              = mipmapMode;
     MinFilter               = minFilter;
     MagFilter               = magFilter;
     BorderColor             = borderColor;
     UnNormalizedCoordinates = unNormalizedCoordinates;
 }
예제 #2
0
        public Sampler(VkFilter filter, VkSamplerMipmapMode mipmapMode,
                       VkSamplerAddressMode addressMode, uint mipLevels, bool anisotropyEnable, VkBorderColor borderColor = VkBorderColor.FloatOpaqueWhite)
        {
            // Create sampler
            var samplerCreateInfo = new VkSamplerCreateInfo
            {
                sType            = VkStructureType.SamplerCreateInfo,
                magFilter        = filter,
                minFilter        = filter,
                mipmapMode       = mipmapMode,
                addressModeU     = addressMode,
                addressModeV     = addressMode,
                addressModeW     = addressMode,
                mipLodBias       = 0.0f,
                compareOp        = VkCompareOp.Never,
                minLod           = 0.0f,
                maxLod           = mipLevels,
                borderColor      = borderColor,
                maxAnisotropy    = anisotropyEnable ? Device.Properties.limits.maxSamplerAnisotropy : 1,
                anisotropyEnable = anisotropyEnable
            };

            handle = Device.CreateSampler(ref samplerCreateInfo);
        }