Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkViewport

extends Struct<VkViewport>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure specifying a viewport.
Description
Note

Despite their names, minDepth can be less than, equal to, or greater than maxDepth.

The framebuffer depth coordinate zf may be represented using either a fixed-point or floating-point representation. However, a floating-point representation must be used if the depth/stencil attachment has a floating-point depth component. If an m-bit fixed-point representation is used, we assume that it represents each value k / (2m - 1), where k ∈ { 0, 1, …​, 2m-1 }, as k (e.g. 1.0 is represented in binary as a string of all ones).

The viewport parameters shown in the above equations are found from these values as

ox = x + width / 2
oy = y + height / 2
oz = minDepth (or (maxDepth + minDepth) / 2 if VkPipelineViewportDepthClipControlCreateInfoEXT::negativeOneToOne is TRUE)
px = width
py = height
pz = maxDepth - minDepth (or (maxDepth - minDepth) / 2 if VkPipelineViewportDepthClipControlCreateInfoEXT::negativeOneToOne is TRUE)

If a render pass transform is enabled, the values (px,py) and (ox, oy) defining the viewport are transformed as described in render pass transform before participating in the viewport transform.

The application can specify a negative term for height, which has the effect of negating the y coordinate in clip space before performing the transform. When using a negative height, the application should also adjust the y value to point to the lower left corner of the viewport instead of the upper left corner. Using the negative height allows the application to avoid having to negate the y component of the Position output from the last pre-rasterization shader stage.

The width and height of the implementation-dependent maximum viewport dimensions must be greater than or equal to the width and height of the largest image which can be created and attached to a framebuffer.

The floating-point viewport bounds are represented with an implementation-dependent precision.

Valid Usage
See Also

VkCommandBufferInheritanceViewportScissorInfoNV, VkPipelineViewportStateCreateInfo, CmdSetViewport, CmdSetViewportWithCount, CmdSetViewportWithCountEXT

Layout


struct VkViewport {
    float x;
    float y;
    float width;
    float height;
    float minDepth;
    float maxDepth;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
VkViewport.Buffer

An array of VkViewport structs.

Field Summary

Modifier and TypeField and Description
public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
HEIGHT

The struct member offsets.

public static final int
MAXDEPTH

The struct member offsets.

public static final int
MINDEPTH

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
WIDTH

The struct member offsets.

public static final int
X

The struct member offsets.

public static final int
Y

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
VkViewport(long address, ByteBuffer container)

public
VkViewport(ByteBuffer container)

Creates a VkViewport instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public static VkViewport
calloc()

Returns a new VkViewport instance allocated with memCalloc.

public static VkViewport.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkViewport.Buffer instance allocated with memCalloc.

public static VkViewport
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkViewport instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkViewport.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkViewport.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkViewport
callocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkViewport
callocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkViewport.Buffer
callocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkViewport.Buffer
callocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
protected VkViewport
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkViewport
create()

Returns a new VkViewport instance allocated with BufferUtils.

public static VkViewport
create(long address)

Returns a new VkViewport instance for the specified memory address.

public static VkViewport.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkViewport.Buffer instance allocated with BufferUtils.

public static VkViewport.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkViewport.Buffer instance at the specified memory.

public static VkViewport
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkViewport.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public float
height()

see width

public VkViewport
height(float value)

Sets the specified value to the height field.

public static VkViewport
malloc()

Returns a new VkViewport instance allocated with memAlloc.

public static VkViewport.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkViewport.Buffer instance allocated with memAlloc.

public static VkViewport
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkViewport instance allocated on the specified MemoryStack.

public static VkViewport.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkViewport.Buffer instance allocated on the specified MemoryStack.

public static VkViewport
mallocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkViewport
mallocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkViewport.Buffer
mallocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkViewport.Buffer
mallocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public float
maxDepth()

see minDepth

public VkViewport
maxDepth(float value)

Sets the specified value to the maxDepth field.

public float
minDepth()

minDepth and maxDepth are the depth range for the viewport.

public VkViewport
minDepth(float value)

Sets the specified value to the minDepth field.

public static float
nheight(long struct)

Unsafe version of height.

public static void
nheight(long struct, float value)

Unsafe version of height.

public static float
nmaxDepth(long struct)

Unsafe version of maxDepth.

public static void
nmaxDepth(long struct, float value)

Unsafe version of maxDepth.

public static float
nminDepth(long struct)

Unsafe version of minDepth.

public static void
nminDepth(long struct, float value)

Unsafe version of minDepth.

public static float
nwidth(long struct)

Unsafe version of width.

public static void
nwidth(long struct, float value)

Unsafe version of width.

public static float
nx(long struct)

Unsafe version of x.

public static void
nx(long struct, float value)

Unsafe version of x.

public static float
ny(long struct)

Unsafe version of y.

public static void
ny(long struct, float value)

Unsafe version of y.

public VkViewport
set(float x, float y, float width, float height, float minDepth, float maxDepth)

Initializes this struct with the specified values.

public VkViewport

Returns:

this struct
set
(VkViewport
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public float
width()

width and height are the viewport’s width and height, respectively.

public VkViewport
width(float value)

Sets the specified value to the width field.

public float
x()

x and y are the viewport’s upper left corner (x,y).

public VkViewport
x(float value)

Sets the specified value to the x field.

public float
y()

see x

public VkViewport
y(float value)

Sets the specified value to the y field.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate

Field Detail

ALIGNOFback to summary
public static final int ALIGNOF

The struct alignment in bytes.

HEIGHTback to summary
public static final int HEIGHT

The struct member offsets.

MAXDEPTHback to summary
public static final int MAXDEPTH

The struct member offsets.

MINDEPTHback to summary
public static final int MINDEPTH

The struct member offsets.

SIZEOFback to summary
public static final int SIZEOF

The struct size in bytes.

WIDTHback to summary
public static final int WIDTH

The struct member offsets.

Xback to summary
public static final int X

The struct member offsets.

Yback to summary
public static final int Y

The struct member offsets.

Constructor Detail

VkViewportback to summary
protected VkViewport(long address, ByteBuffer container)
VkViewportback to summary
public VkViewport(ByteBuffer container)

Creates a VkViewport 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.

Method Detail

callocback to summary
public static VkViewport calloc()

Returns a new VkViewport instance allocated with memCalloc. The instance must be explicitly freed.

callocback to summary
public static VkViewport.Buffer calloc(int capacity)

Returns a new VkViewport.Buffer instance allocated with memCalloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

callocback to summary
public static VkViewport calloc(MemoryStack stack)

Returns a new VkViewport instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
stack:MemoryStack

the stack from which to allocate

callocback to summary
public static VkViewport.Buffer calloc(int capacity, MemoryStack stack)

Returns a new VkViewport.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

callocStackback to summary
public static VkViewport callocStack()

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkViewport callocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkViewport.Buffer callocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkViewport.Buffer callocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
createback to summary
protected VkViewport create(long address, ByteBuffer container)

Implements abstract org.lwjgl.system.Struct.create.

Doc from org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.

Effectively, every Struct instance is a factory for more instances of the same type. This is used by StructBuffer.

Parameters
address:long

the struct memory address

container:ByteBuffer

an optional container buffer, to be referenced strongly by the struct instance.

Annotations
@Override
createback to summary
public static VkViewport create()

Returns a new VkViewport instance allocated with BufferUtils.

createback to summary
public static VkViewport create(long address)

Returns a new VkViewport instance for the specified memory address.

createback to summary
public static VkViewport.Buffer create(int capacity)

Returns a new VkViewport.Buffer instance allocated with BufferUtils.

Parameters
capacity:int

the buffer capacity

createback to summary
public static VkViewport.Buffer create(long address, int capacity)

Create a VkViewport.Buffer instance at the specified memory.

Parameters
address:long

the memory address

capacity:int

the buffer capacity

createSafeback to summary
public static VkViewport createSafe(long address)

Like create, but returns null if address is NULL.

Annotations
@Nullable
createSafeback to summary
public static VkViewport.Buffer createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

Annotations
@Nullable
heightback to summary
public float height()

see width

heightback to summary
public VkViewport height(float value)

Sets the specified value to the height field.

mallocback to summary
public static VkViewport malloc()

Returns a new VkViewport instance allocated with memAlloc. The instance must be explicitly freed.

mallocback to summary
public static VkViewport.Buffer malloc(int capacity)

Returns a new VkViewport.Buffer instance allocated with memAlloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

mallocback to summary
public static VkViewport malloc(MemoryStack stack)

Returns a new VkViewport instance allocated on the specified MemoryStack.

Parameters
stack:MemoryStack

the stack from which to allocate

mallocback to summary
public static VkViewport.Buffer malloc(int capacity, MemoryStack stack)

Returns a new VkViewport.Buffer instance allocated on the specified MemoryStack.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

mallocStackback to summary
public static VkViewport mallocStack()

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkViewport mallocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkViewport.Buffer mallocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkViewport.Buffer mallocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
maxDepthback to summary
public float maxDepth()

see minDepth

maxDepthback to summary
public VkViewport maxDepth(float value)

Sets the specified value to the maxDepth field.

minDepthback to summary
public float minDepth()

minDepth and maxDepth are the depth range for the viewport.

minDepthback to summary
public VkViewport minDepth(float value)

Sets the specified value to the minDepth field.

nheightback to summary
public static float nheight(long struct)

Unsafe version of height.

nheightback to summary
public static void nheight(long struct, float value)

Unsafe version of height.

nmaxDepthback to summary
public static float nmaxDepth(long struct)

Unsafe version of maxDepth.

nmaxDepthback to summary
public static void nmaxDepth(long struct, float value)

Unsafe version of maxDepth.

nminDepthback to summary
public static float nminDepth(long struct)

Unsafe version of minDepth.

nminDepthback to summary
public static void nminDepth(long struct, float value)

Unsafe version of minDepth.

nwidthback to summary
public static float nwidth(long struct)

Unsafe version of width.

nwidthback to summary
public static void nwidth(long struct, float value)

Unsafe version of width.

nxback to summary
public static float nx(long struct)

Unsafe version of x.

nxback to summary
public static void nx(long struct, float value)

Unsafe version of x.

nyback to summary
public static float ny(long struct)

Unsafe version of y.

nyback to summary
public static void ny(long struct, float value)

Unsafe version of y.

setback to summary
public VkViewport set(float x, float y, float width, float height, float minDepth, float maxDepth)

Initializes this struct with the specified values.

setback to summary
public VkViewport set(VkViewport src)

Copies the specified struct data to this struct.

Parameters
src:VkViewport

the source struct

Returns:VkViewport

this struct

sizeofback to summary
public int sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Doc from org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).

Annotations
@Override
widthback to summary
public float width()

width and height are the viewport’s width and height, respectively.

widthback to summary
public VkViewport width(float value)

Sets the specified value to the width field.

xback to summary
public float x()

x and y are the viewport’s upper left corner (x,y).

xback to summary
public VkViewport x(float value)

Sets the specified value to the x field.

yback to summary
public float y()

see x

yback to summary
public VkViewport y(float value)

Sets the specified value to the y field.

org.lwjgl.vulkan back to summary

public Class VkViewport.Buffer

extends StructBuffer<VkViewport, VkViewport.Buffer>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable

An array of VkViewport structs.

Field Summary

Modifier and TypeField and Description
private static final VkViewport

Constructor Summary

AccessConstructor and Description
public
Buffer(ByteBuffer container)

Creates a new VkViewport.Buffer instance backed by the specified container.

public
Buffer(long address, int cap)

pack-priv
Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Summary

Modifier and TypeMethod and Description
protected VkViewport
public float

Returns:

the value of the VkViewport#height field.
height
()

public VkViewport.Buffer
height(float value)

Sets the specified value to the VkViewport#height field.

public float

Returns:

the value of the VkViewport#maxDepth field.
maxDepth
()

public VkViewport.Buffer
maxDepth(float value)

Sets the specified value to the VkViewport#maxDepth field.

public float

Returns:

the value of the VkViewport#minDepth field.
minDepth
()

public VkViewport.Buffer
minDepth(float value)

Sets the specified value to the VkViewport#minDepth field.

protected VkViewport.Buffer
public float

Returns:

the value of the VkViewport#width field.
width
()

public VkViewport.Buffer
width(float value)

Sets the specified value to the VkViewport#width field.

public float

Returns:

the value of the VkViewport#x field.
x
()

public VkViewport.Buffer
x(float value)

Sets the specified value to the VkViewport#x field.

public float

Returns:

the value of the VkViewport#y field.
y
()

public VkViewport.Buffer
y(float value)

Sets the specified value to the VkViewport#y field.

Inherited from org.lwjgl.system.StructBuffer:
applyapplyforEachgetgetgetgetiteratorparallelStreamputputsizeofspliteratorstream

Field Detail

ELEMENT_FACTORYback to summary
private static final VkViewport ELEMENT_FACTORY

Constructor Detail

Bufferback to summary
public Buffer(ByteBuffer container)

Creates a new VkViewport.Buffer instance backed by the specified container.

Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by VkViewport#SIZEOF, and its mark will be undefined.

The created buffer instance holds a strong reference to the container object.

Bufferback to summary
public Buffer(long address, int cap)
Bufferback to summary
pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Detail

getElementFactoryback to summary
protected VkViewport getElementFactory()

Implements abstract org.lwjgl.system.StructBuffer.getElementFactory.

Annotations
@Override
heightback to summary
public float height()
Returns:float

the value of the VkViewport#height field.

heightback to summary
public VkViewport.Buffer height(float value)

Sets the specified value to the VkViewport#height field.

maxDepthback to summary
public float maxDepth()
Returns:float

the value of the VkViewport#maxDepth field.

maxDepthback to summary
public VkViewport.Buffer maxDepth(float value)

Sets the specified value to the VkViewport#maxDepth field.

minDepthback to summary
public float minDepth()
Returns:float

the value of the VkViewport#minDepth field.

minDepthback to summary
public VkViewport.Buffer minDepth(float value)

Sets the specified value to the VkViewport#minDepth field.

selfback to summary
protected VkViewport.Buffer self()

Implements abstract org.lwjgl.system.CustomBuffer.self.

Annotations
@Override
widthback to summary
public float width()
Returns:float

the value of the VkViewport#width field.

widthback to summary
public VkViewport.Buffer width(float value)

Sets the specified value to the VkViewport#width field.

xback to summary
public float x()
Returns:float

the value of the VkViewport#x field.

xback to summary
public VkViewport.Buffer x(float value)

Sets the specified value to the VkViewport#x field.

yback to summary
public float y()
Returns:float

the value of the VkViewport#y field.

yback to summary
public VkViewport.Buffer y(float value)

Sets the specified value to the VkViewport#y field.