Class XrCompositionLayerDepthInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Note
The window space depth values minDepth and maxDepth are akin to the parameters of glDepthRange that specify the mapping from normalized device coordinates into window space.
Note
A reversed mapping of depth, such that points closer to the view have a window space depth that is greater than points further away can be achieved by making nearZ > farZ.
XrCompositionLayerDepthInfoKHR contains the information needed to associate depth with the color information in a projection layer. When submitting depth images along with projection layers, add the XrCompositionLayerDepthInfoKHR to the next chain for all XrCompositionLayerProjectionView structures in the given layer.
The homogeneous transform from view space z to window space depth is given by the following matrix, where a = minDepth, b = maxDepth, n = nearZ, and f = farZ.
Homogeneous values are constructed from real values by appending a w component with value 1.0.
General homogeneous values are projected back to real space by dividing by the w component.
Valid Usage (Implicit)
- The
XR_KHR_composition_layer_depthextension must be enabled prior to usingXrCompositionLayerDepthInfoKHR typemust beTYPE_COMPOSITION_LAYER_DEPTH_INFO_KHRnextmust beNULLor a valid pointer to the next structure in a structure chainsubImagemust be a validXrSwapchainSubImagestructure
See Also
XrCompositionLayerBaseHeader, XrCompositionLayerProjection, XrCompositionLayerProjectionView, XrFrameEndInfo, XrSwapchainSubImage, EndFrame
Layout
struct XrCompositionLayerDepthInfoKHR {
XrStructureType type();
void const * next();
XrSwapchainSubImage subImage();
float minDepth();
float maxDepth();
float nearZ();
float farZ();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrCompositionLayerDepthInfoKHRstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrCompositionLayerDepthInfoKHR(ByteBuffer container) Creates aXrCompositionLayerDepthInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newXrCompositionLayerDepthInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerDepthInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newXrCompositionLayerDepthInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrCompositionLayerDepthInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aXrCompositionLayerDepthInfoKHR.Bufferinstance at the specified memory.static @Nullable XrCompositionLayerDepthInfoKHRcreateSafe(long address) static @Nullable XrCompositionLayerDepthInfoKHR.BuffercreateSafe(long address, int capacity) floatfarZ()seenearZfarZ(float value) Sets the specified value to thefarZ()field.malloc()Returns a newXrCompositionLayerDepthInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerDepthInfoKHRinstance allocated on the specifiedMemoryStack.floatmaxDepth()seeminDepthmaxDepth(float value) Sets the specified value to themaxDepth()field.floatminDepth()minDepthandmaxDepthare the window space depths that correspond to the near and far frustum planes, respectively.minDepth(float value) Sets the specified value to theminDepth()field.floatnearZ()nearZandfarZare the positive distances in meters to the near and far frustum planes, respectively.nearZ(float value) Sets the specified value to thenearZ()field.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static floatnfarZ(long struct) Unsafe version offarZ().static voidnfarZ(long struct, float value) Unsafe version offarZ.static floatnmaxDepth(long struct) Unsafe version ofmaxDepth().static voidnmaxDepth(long struct, float value) Unsafe version ofmaxDepth.static floatnminDepth(long struct) Unsafe version ofminDepth().static voidnminDepth(long struct, float value) Unsafe version ofminDepth.static floatnnearZ(long struct) Unsafe version ofnearZ().static voidnnearZ(long struct, float value) Unsafe version ofnearZ.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static XrSwapchainSubImagensubImage(long struct) Unsafe version ofsubImage().static voidnsubImage(long struct, XrSwapchainSubImage value) Unsafe version ofsubImage.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.set(int type, long next, XrSwapchainSubImage subImage, float minDepth, float maxDepth, float nearZ, float farZ) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()subImage()identifies the depth imageXrSwapchainSubImageto be associated with the color swapchain.subImage(Consumer<XrSwapchainSubImage> consumer) Passes thesubImage()field to the specifiedConsumer.subImage(XrSwapchainSubImage value) Copies the specifiedXrSwapchainSubImageto thesubImage()field.inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_COMPOSITION_LAYER_DEPTH_INFO_KHRvalue to thetype()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
TYPE
public static final int TYPEThe struct member offsets. -
NEXT
public static final int NEXTThe struct member offsets. -
SUBIMAGE
public static final int SUBIMAGEThe struct member offsets. -
MINDEPTH
public static final int MINDEPTHThe struct member offsets. -
MAXDEPTH
public static final int MAXDEPTHThe struct member offsets. -
NEARZ
public static final int NEARZThe struct member offsets. -
FARZ
public static final int FARZThe struct member offsets.
-
-
Constructor Details
-
XrCompositionLayerDepthInfoKHR
Creates aXrCompositionLayerDepthInfoKHRinstance at the current position of the specifiedByteBuffercontainer. 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<XrCompositionLayerDepthInfoKHR>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension. -
subImage
identifies the depth imageXrSwapchainSubImageto be associated with the color swapchain. The swapchain must have been created with aXrSwapchainCreateInfo::faceCountof 1. -
minDepth
public float minDepth()minDepthandmaxDepthare the window space depths that correspond to the near and far frustum planes, respectively.minDepthmust be less thanmaxDepth.minDepthandmaxDepthmust be in the range [0, 1]. -
maxDepth
public float maxDepth()seeminDepth -
nearZ
public float nearZ()nearZandfarZare the positive distances in meters to the near and far frustum planes, respectively.nearZandfarZmust not be equal.nearZandfarZmust be in the range (0, +infinity]. -
farZ
public float farZ()seenearZ -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_COMPOSITION_LAYER_DEPTH_INFO_KHRvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
subImage
Copies the specifiedXrSwapchainSubImageto thesubImage()field. -
subImage
Passes thesubImage()field to the specifiedConsumer. -
minDepth
Sets the specified value to theminDepth()field. -
maxDepth
Sets the specified value to themaxDepth()field. -
nearZ
Sets the specified value to thenearZ()field. -
farZ
Sets the specified value to thefarZ()field. -
set
public XrCompositionLayerDepthInfoKHR set(int type, long next, XrSwapchainSubImage subImage, float minDepth, float maxDepth, float nearZ, float farZ) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newXrCompositionLayerDepthInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrCompositionLayerDepthInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrCompositionLayerDepthInfoKHRinstance allocated withBufferUtils. -
create
Returns a newXrCompositionLayerDepthInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrCompositionLayerDepthInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrCompositionLayerDepthInfoKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newXrCompositionLayerDepthInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrCompositionLayerDepthInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrCompositionLayerDepthInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrCompositionLayerDepthInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerDepthInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ntype
public static int ntype(long struct) Unsafe version oftype(). -
nnext
public static long nnext(long struct) Unsafe version ofnext(). -
nsubImage
Unsafe version ofsubImage(). -
nminDepth
public static float nminDepth(long struct) Unsafe version ofminDepth(). -
nmaxDepth
public static float nmaxDepth(long struct) Unsafe version ofmaxDepth(). -
nnearZ
public static float nnearZ(long struct) Unsafe version ofnearZ(). -
nfarZ
public static float nfarZ(long struct) Unsafe version offarZ(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nsubImage
Unsafe version ofsubImage. -
nminDepth
public static void nminDepth(long struct, float value) Unsafe version ofminDepth. -
nmaxDepth
public static void nmaxDepth(long struct, float value) Unsafe version ofmaxDepth. -
nnearZ
public static void nnearZ(long struct, float value) Unsafe version ofnearZ. -
nfarZ
public static void nfarZ(long struct, float value) Unsafe version offarZ. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-