org.lwjgl.vulkan.NVCornerSampledImage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-vulkan Show documentation
Show all versions of lwjgl-vulkan Show documentation
A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
/**
* This extension adds support for a new image organization, which this extension refers to as “{@code corner-sampled}” images. A corner-sampled image differs from a conventional image in the following ways:
*
*
* - Texels are centered on integer coordinates. See Unnormalized Texel Coordinate Operations
* - Normalized coordinates are scaled using
coord × (dim - 1)
rather than coord × dim
, where dim is the size of one dimension of the image. See normalized texel coordinate transform.
* - Partial derivatives are scaled using
coord × (dim - 1)
rather than coord × dim
. See Scale Factor Operation.
* - Calculation of the next higher lod size goes according to
⌈dim / 2⌉
rather than ⌊dim / 2⌋
. See Image Miplevel Sizing.
* - The minimum level size is 2x2 for 2D images and 2x2x2 for 3D images. See Image Miplevel Sizing.
*
*
* This image organization is designed to facilitate a system like Ptex with separate textures for each face of a subdivision or polygon mesh. Placing sample locations at pixel corners allows applications to maintain continuity between adjacent patches by duplicating values along shared edges. Additionally, using the modified mipmapping logic along with texture dimensions of the form 2n+1
allows continuity across shared edges even if the adjacent patches use different level-of-detail values.
*
* VK_NV_corner_sampled_image
*
*
* - Name String
* - {@code VK_NV_corner_sampled_image}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 51
* - Revision
* - 2
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRGetPhysicalDeviceProperties2 VK_KHR_get_physical_device_properties2}
*
* - Contact
*
* - Daniel Koch dgkoch
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2018-08-13
* - Contributors
*
* - Jeff Bolz, NVIDIA
* - Pat Brown, NVIDIA
* - Chris Lentini, NVIDIA
*
*
*/
public final class NVCornerSampledImage {
/** The extension specification version. */
public static final int VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION = 2;
/** The extension name. */
public static final String VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME = "VK_NV_corner_sampled_image";
/** Extends {@code VkImageCreateFlagBits}. */
public static final int VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x2000;
/** Extends {@code VkStructureType}. */
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000;
private NVCornerSampledImage() {}
}