public class VkPipelineCoverageModulationStateCreateInfoNV
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
If coverageModulationTableEnable is FALSE, then for each color sample the associated bits of the fragment's coverage are counted and divided by the number of associated bits to produce a modulation factor R in the range (0,1] (a value of zero would have been killed due to a color coverage of 0). Specifically:
N = value of rasterizationSamplesM = value of VkAttachmentDescription::samples for any color attachmentsR = popcount(associated coverage bits) / (N / M)If coverageModulationTableEnable is TRUE, the value R is computed using a programmable lookup table. The lookup table has N / M elements, and the element of the table is selected by:
R = pCoverageModulationTable[popcount(associated coverage bits)-1]Note that the table does not have an entry for popcount(associated coverage bits) = 0, because such samples would have been killed.
The values of pCoverageModulationTable may be rounded to an implementation-dependent precision, which is at least as fine as 1 / N, and clamped to [0,1].
For each color attachment with a floating point or normalized color format, each fragment output color value is replicated to M values which can each be modulated (multiplied) by that color sample's associated value of R. Which components are modulated is controlled by coverageModulationMode.
If this structure is not present, it is as if coverageModulationMode is COVERAGE_MODULATION_MODE_NONE_NV.
If the coverage reduction mode is COVERAGE_REDUCTION_MODE_TRUNCATE_NV, each color sample is associated with only a single coverage sample. In this case, it is as if coverageModulationMode is COVERAGE_MODULATION_MODE_NONE_NV.
coverageModulationTableEnable is TRUE, coverageModulationTableCount must be equal to the number of rasterization samples divided by the number of color samples in the subpasssType must be STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NVflags must be 0coverageModulationMode must be a valid VkCoverageModulationModeNV valuesType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.flags – reserved for future use.coverageModulationMode – a VkCoverageModulationModeNV value controlling which color components are modulated.coverageModulationTableEnable – controls whether the modulation factor is looked up from a table in pCoverageModulationTable.coverageModulationTableCount – the number of elements in pCoverageModulationTable.pCoverageModulationTable – a table of modulation factors containing a value for each number of covered samples.
struct VkPipelineCoverageModulationStateCreateInfoNV {
VkStructureType sType;
void const * pNext;
VkPipelineCoverageModulationStateCreateFlagsNV flags;
VkCoverageModulationModeNV coverageModulationMode;
VkBool32 coverageModulationTableEnable;
uint32_t coverageModulationTableCount;
float const * pCoverageModulationTable;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkPipelineCoverageModulationStateCreateInfoNV.Buffer
An array of
VkPipelineCoverageModulationStateCreateInfoNV structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
COVERAGEMODULATIONMODE
The struct member offsets.
|
static int |
COVERAGEMODULATIONTABLECOUNT
The struct member offsets.
|
static int |
COVERAGEMODULATIONTABLEENABLE
The struct member offsets.
|
static int |
FLAGS
The struct member offsets.
|
static int |
PCOVERAGEMODULATIONTABLE
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
| Constructor and Description |
|---|
VkPipelineCoverageModulationStateCreateInfoNV(java.nio.ByteBuffer container)
Creates a
VkPipelineCoverageModulationStateCreateInfoNV instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkPipelineCoverageModulationStateCreateInfoNV |
calloc()
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance allocated with memCalloc. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
calloc(int capacity)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated with memCalloc. |
static VkPipelineCoverageModulationStateCreateInfoNV |
callocStack()
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
callocStack(int capacity)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkPipelineCoverageModulationStateCreateInfoNV |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the specified MemoryStack and initializes all its bits to zero. |
int |
coverageModulationMode()
Returns the value of the
coverageModulationMode field. |
VkPipelineCoverageModulationStateCreateInfoNV |
coverageModulationMode(int value)
Sets the specified value to the
coverageModulationMode field. |
int |
coverageModulationTableCount()
Returns the value of the
coverageModulationTableCount field. |
VkPipelineCoverageModulationStateCreateInfoNV |
coverageModulationTableCount(int value)
Sets the specified value to the
coverageModulationTableCount field. |
boolean |
coverageModulationTableEnable()
Returns the value of the
coverageModulationTableEnable field. |
VkPipelineCoverageModulationStateCreateInfoNV |
coverageModulationTableEnable(boolean value)
Sets the specified value to the
coverageModulationTableEnable field. |
static VkPipelineCoverageModulationStateCreateInfoNV |
create()
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance allocated with BufferUtils. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
create(int capacity)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated with BufferUtils. |
static VkPipelineCoverageModulationStateCreateInfoNV |
create(long address)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance for the specified memory address. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
create(long address,
int capacity)
Create a
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance at the specified memory. |
static VkPipelineCoverageModulationStateCreateInfoNV |
createSafe(long address)
|
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
createSafe(long address,
int capacity)
|
int |
flags()
Returns the value of the
flags field. |
VkPipelineCoverageModulationStateCreateInfoNV |
flags(int value)
Sets the specified value to the
flags field. |
static VkPipelineCoverageModulationStateCreateInfoNV |
malloc()
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance allocated with memAlloc. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
malloc(int capacity)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated with memAlloc. |
static VkPipelineCoverageModulationStateCreateInfoNV |
mallocStack()
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the thread-local MemoryStack. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
mallocStack(int capacity)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack. |
static VkPipelineCoverageModulationStateCreateInfoNV.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the specified MemoryStack. |
static VkPipelineCoverageModulationStateCreateInfoNV |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the specified MemoryStack. |
static int |
ncoverageModulationMode(long struct)
Unsafe version of
coverageModulationMode(). |
static void |
ncoverageModulationMode(long struct,
int value)
Unsafe version of
coverageModulationMode. |
static int |
ncoverageModulationTableCount(long struct)
Unsafe version of
coverageModulationTableCount(). |
static void |
ncoverageModulationTableCount(long struct,
int value)
Sets the specified value to the
coverageModulationTableCount field of the specified struct. |
static int |
ncoverageModulationTableEnable(long struct)
Unsafe version of
coverageModulationTableEnable(). |
static void |
ncoverageModulationTableEnable(long struct,
int value)
Unsafe version of
coverageModulationTableEnable. |
static int |
nflags(long struct)
Unsafe version of
flags(). |
static void |
nflags(long struct,
int value)
Unsafe version of
flags. |
static java.nio.FloatBuffer |
npCoverageModulationTable(long struct)
Unsafe version of
pCoverageModulationTable. |
static void |
npCoverageModulationTable(long struct,
java.nio.FloatBuffer value)
Unsafe version of
pCoverageModulationTable. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
java.nio.FloatBuffer |
pCoverageModulationTable()
Returns a
FloatBuffer view of the data pointed to by the pCoverageModulationTable field. |
VkPipelineCoverageModulationStateCreateInfoNV |
pCoverageModulationTable(java.nio.FloatBuffer value)
Sets the address of the specified
FloatBuffer to the pCoverageModulationTable field. |
long |
pNext()
Returns the value of the
pNext field. |
VkPipelineCoverageModulationStateCreateInfoNV |
pNext(long value)
Sets the specified value to the
pNext field. |
VkPipelineCoverageModulationStateCreateInfoNV |
set(int sType,
long pNext,
int flags,
int coverageModulationMode,
boolean coverageModulationTableEnable,
int coverageModulationTableCount,
java.nio.FloatBuffer pCoverageModulationTable)
Initializes this struct with the specified values.
|
VkPipelineCoverageModulationStateCreateInfoNV |
set(VkPipelineCoverageModulationStateCreateInfoNV src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
sType()
Returns the value of the
sType field. |
VkPipelineCoverageModulationStateCreateInfoNV |
sType(int value)
Sets the specified value to the
sType field. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int FLAGS
public static final int COVERAGEMODULATIONMODE
public static final int COVERAGEMODULATIONTABLEENABLE
public static final int COVERAGEMODULATIONTABLECOUNT
public static final int PCOVERAGEMODULATIONTABLE
public VkPipelineCoverageModulationStateCreateInfoNV(java.nio.ByteBuffer container)
VkPipelineCoverageModulationStateCreateInfoNV instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be
visible to the struct instance and vice versa.
The created instance holds a strong reference to the container object.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public int flags()
flags field.public int coverageModulationMode()
coverageModulationMode field.public boolean coverageModulationTableEnable()
coverageModulationTableEnable field.public int coverageModulationTableCount()
coverageModulationTableCount field.@Nullable public java.nio.FloatBuffer pCoverageModulationTable()
FloatBuffer view of the data pointed to by the pCoverageModulationTable field.public VkPipelineCoverageModulationStateCreateInfoNV sType(int value)
sType field.public VkPipelineCoverageModulationStateCreateInfoNV pNext(long value)
pNext field.public VkPipelineCoverageModulationStateCreateInfoNV flags(int value)
flags field.public VkPipelineCoverageModulationStateCreateInfoNV coverageModulationMode(int value)
coverageModulationMode field.public VkPipelineCoverageModulationStateCreateInfoNV coverageModulationTableEnable(boolean value)
coverageModulationTableEnable field.public VkPipelineCoverageModulationStateCreateInfoNV coverageModulationTableCount(int value)
coverageModulationTableCount field.public VkPipelineCoverageModulationStateCreateInfoNV pCoverageModulationTable(@Nullable java.nio.FloatBuffer value)
FloatBuffer to the pCoverageModulationTable field.public VkPipelineCoverageModulationStateCreateInfoNV set(int sType, long pNext, int flags, int coverageModulationMode, boolean coverageModulationTableEnable, int coverageModulationTableCount, @Nullable java.nio.FloatBuffer pCoverageModulationTable)
public VkPipelineCoverageModulationStateCreateInfoNV set(VkPipelineCoverageModulationStateCreateInfoNV src)
src - the source structpublic static VkPipelineCoverageModulationStateCreateInfoNV malloc()
VkPipelineCoverageModulationStateCreateInfoNV instance allocated with memAlloc. The instance must be explicitly freed.public static VkPipelineCoverageModulationStateCreateInfoNV calloc()
VkPipelineCoverageModulationStateCreateInfoNV instance allocated with memCalloc. The instance must be explicitly freed.public static VkPipelineCoverageModulationStateCreateInfoNV create()
VkPipelineCoverageModulationStateCreateInfoNV instance allocated with BufferUtils.public static VkPipelineCoverageModulationStateCreateInfoNV create(long address)
VkPipelineCoverageModulationStateCreateInfoNV instance for the specified memory address.@Nullable public static VkPipelineCoverageModulationStateCreateInfoNV createSafe(long address)
public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer malloc(int capacity)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPipelineCoverageModulationStateCreateInfoNV.Buffer calloc(int capacity)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPipelineCoverageModulationStateCreateInfoNV.Buffer create(int capacity)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkPipelineCoverageModulationStateCreateInfoNV.Buffer create(long address, int capacity)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer createSafe(long address, int capacity)
public static VkPipelineCoverageModulationStateCreateInfoNV mallocStack()
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the thread-local MemoryStack.public static VkPipelineCoverageModulationStateCreateInfoNV callocStack()
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkPipelineCoverageModulationStateCreateInfoNV mallocStack(org.lwjgl.system.MemoryStack stack)
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkPipelineCoverageModulationStateCreateInfoNV callocStack(org.lwjgl.system.MemoryStack stack)
VkPipelineCoverageModulationStateCreateInfoNV instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkPipelineCoverageModulationStateCreateInfoNV.Buffer mallocStack(int capacity)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkPipelineCoverageModulationStateCreateInfoNV.Buffer callocStack(int capacity)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkPipelineCoverageModulationStateCreateInfoNV.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkPipelineCoverageModulationStateCreateInfoNV.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPipelineCoverageModulationStateCreateInfoNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static int nflags(long struct)
flags().public static int ncoverageModulationMode(long struct)
coverageModulationMode().public static int ncoverageModulationTableEnable(long struct)
coverageModulationTableEnable().public static int ncoverageModulationTableCount(long struct)
coverageModulationTableCount().@Nullable public static java.nio.FloatBuffer npCoverageModulationTable(long struct)
pCoverageModulationTable.public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void nflags(long struct,
int value)
flags.public static void ncoverageModulationMode(long struct,
int value)
coverageModulationMode.public static void ncoverageModulationTableEnable(long struct,
int value)
coverageModulationTableEnable.public static void ncoverageModulationTableCount(long struct,
int value)
coverageModulationTableCount field of the specified struct.public static void npCoverageModulationTable(long struct,
@Nullable
java.nio.FloatBuffer value)
pCoverageModulationTable.Copyright LWJGL. All Rights Reserved. License terms.