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; }
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); }