Class METAPassthroughColorLut
This extension adds the capability to define and apply RGB to RGB(A) color look-up tables (LUTs) to passthrough layers created using XR_FB_passthrough.
Color LUTs are 3-dimensional arrays which map each input color to a different output color. When applied to a Passthrough layer, the runtime must transform Passthrough camera images according to this map before display. Color LUTs may be used to achieve effects such as color grading, level control, color filtering, or chroma keying.
Color LUTs must be created using CreatePassthroughColorLutMETA before they can be applied to a Passthrough layer in a call to PassthroughLayerSetStyleFB (as a part of XrPassthroughColorMapLutMETA or XrPassthroughColorMapInterpolatedLutMETA). A color LUT may be applied to multiple Passthrough layers simultaneously.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intExtendsXrResult.static final StringThe extension name.static final intThe extension specification version.static final intExtendsXrObjectType.static final intXrPassthroughColorLutChannelsMETA - Color channelsstatic final intXrPassthroughColorLutChannelsMETA - Color channelsstatic final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnxrCreatePassthroughColorLutMETA(XrPassthroughFB passthrough, long createInfo, long colorLut) Unsafe version of:CreatePassthroughColorLutMETAstatic intnxrUpdatePassthroughColorLutMETA(XrPassthroughColorLutMETA colorLut, long updateInfo) Unsafe version of:UpdatePassthroughColorLutMETAstatic intxrCreatePassthroughColorLutMETA(XrPassthroughFB passthrough, XrPassthroughColorLutCreateInfoMETA createInfo, org.lwjgl.PointerBuffer colorLut) Create a passthrough color LUT.static intDestroy a passthrough color LUT.static intxrUpdatePassthroughColorLutMETA(XrPassthroughColorLutMETA colorLut, XrPassthroughColorLutUpdateInfoMETA updateInfo) Update a passthrough color LUT.
-
Field Details
-
XR_META_passthrough_color_lut_SPEC_VERSION
public static final int XR_META_passthrough_color_lut_SPEC_VERSIONThe extension specification version.- See Also:
-
XR_META_PASSTHROUGH_COLOR_LUT_EXTENSION_NAME
The extension name.- See Also:
-
XR_TYPE_SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META
public static final int XR_TYPE_SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_METAExtendsXrStructureType.Enum values:
- See Also:
-
XR_TYPE_PASSTHROUGH_COLOR_LUT_CREATE_INFO_META
public static final int XR_TYPE_PASSTHROUGH_COLOR_LUT_CREATE_INFO_METAExtendsXrStructureType.Enum values:
- See Also:
-
XR_TYPE_PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META
public static final int XR_TYPE_PASSTHROUGH_COLOR_LUT_UPDATE_INFO_METAExtendsXrStructureType.Enum values:
- See Also:
-
XR_TYPE_PASSTHROUGH_COLOR_MAP_LUT_META
public static final int XR_TYPE_PASSTHROUGH_COLOR_MAP_LUT_METAExtendsXrStructureType.Enum values:
- See Also:
-
XR_TYPE_PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META
public static final int XR_TYPE_PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_METAExtendsXrStructureType.Enum values:
- See Also:
-
XR_OBJECT_TYPE_PASSTHROUGH_COLOR_LUT_META
public static final int XR_OBJECT_TYPE_PASSTHROUGH_COLOR_LUT_METAExtendsXrObjectType.- See Also:
-
XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META
public static final int XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_METAExtendsXrResult.- See Also:
-
XR_PASSTHROUGH_COLOR_LUT_CHANNELS_RGB_META
public static final int XR_PASSTHROUGH_COLOR_LUT_CHANNELS_RGB_METAXrPassthroughColorLutChannelsMETA - Color channelsSee Also
XrPassthroughColorLutCreateInfoMETAEnum values:
- See Also:
-
XR_PASSTHROUGH_COLOR_LUT_CHANNELS_RGBA_META
public static final int XR_PASSTHROUGH_COLOR_LUT_CHANNELS_RGBA_METAXrPassthroughColorLutChannelsMETA - Color channelsSee Also
XrPassthroughColorLutCreateInfoMETAEnum values:
- See Also:
-
-
Method Details
-
nxrCreatePassthroughColorLutMETA
public static int nxrCreatePassthroughColorLutMETA(XrPassthroughFB passthrough, long createInfo, long colorLut) Unsafe version of:CreatePassthroughColorLutMETA -
xrCreatePassthroughColorLutMETA
public static int xrCreatePassthroughColorLutMETA(XrPassthroughFB passthrough, XrPassthroughColorLutCreateInfoMETA createInfo, org.lwjgl.PointerBuffer colorLut) Create a passthrough color LUT.C Specification
The
CreatePassthroughColorLutMETAfunction is defined as:XrResult xrCreatePassthroughColorLutMETA( XrPassthroughFB passthrough, const XrPassthroughColorLutCreateInfoMETA* createInfo, XrPassthroughColorLutMETA* colorLut);Description
Creates a passthrough color LUT. The resulting
XrPassthroughColorLutMETAmay be referenced inXrPassthroughColorMapLutMETAandXrPassthroughColorMapInterpolatedLutMETAin subsequent calls toPassthroughLayerSetStyleFB.Valid Usage (Implicit)
- The
XR_META_passthrough_color_lutextension must be enabled prior to callingCreatePassthroughColorLutMETA passthroughmust be a validXrPassthroughFBhandlecreateInfomust be a pointer to a validXrPassthroughColorLutCreateInfoMETAstructurecolorLutmust be a pointer to anXrPassthroughColorLutMETAhandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
passthrough- theXrPassthroughFBthis color LUT is created for.createInfo- theXrPassthroughColorLutCreateInfoMETA.colorLut- the resultingXrPassthroughColorLutMETA.
- The
-
xrDestroyPassthroughColorLutMETA
Destroy a passthrough color LUT.C Specification
The
DestroyPassthroughColorLutMETAfunction is defined as:XrResult xrDestroyPassthroughColorLutMETA( XrPassthroughColorLutMETA colorLut);Description
Destroys a passthrough color LUT. If the color LUT is still in use (i.e. if for at least one passthrough layer,
PassthroughLayerSetStyleFBhas last been called with an instance ofXrPassthroughColorMapLutMETAorXrPassthroughColorMapInterpolatedLutMETAin the next chain that references this color LUT), the runtime must retain the color LUT data and continue applying it to the affected passthrough layer until a different style is applied.Valid Usage (Implicit)
- The
XR_META_passthrough_color_lutextension must be enabled prior to callingDestroyPassthroughColorLutMETA colorLutmust be a validXrPassthroughColorLutMETAhandle
Thread Safety
- Access to
colorLut, and any child handles, must be externally synchronized
Return Codes
- On success, this command returns
- On failure, this command returns
- Parameters:
colorLut- theXrPassthroughColorLutMETAto be destroyed.
- The
-
nxrUpdatePassthroughColorLutMETA
public static int nxrUpdatePassthroughColorLutMETA(XrPassthroughColorLutMETA colorLut, long updateInfo) Unsafe version of:UpdatePassthroughColorLutMETA -
xrUpdatePassthroughColorLutMETA
public static int xrUpdatePassthroughColorLutMETA(XrPassthroughColorLutMETA colorLut, XrPassthroughColorLutUpdateInfoMETA updateInfo) Update a passthrough color LUT.C Specification
The
UpdatePassthroughColorLutMETAfunction is defined as:XrResult xrUpdatePassthroughColorLutMETA( XrPassthroughColorLutMETA colorLut, const XrPassthroughColorLutUpdateInfoMETA* updateInfo);Description
Updates the LUT data of a passthrough color LUT. The data type of the color LUT (resolution and channels) is immutable. The provided data in this call must therefore match the data type specified at creation time. Specifically,
XrPassthroughColorLutDataMETA::bufferSizeof the new data must be equal to theXrPassthroughColorLutDataMETA::bufferSizespecified during creation. Otherwise, the runtime must returnERROR_VALIDATION_FAILURE.The runtime must reflect changes to color LUT data on all Passthrough layers the color LUT is currently applied to.
Valid Usage (Implicit)
- The
XR_META_passthrough_color_lutextension must be enabled prior to callingUpdatePassthroughColorLutMETA colorLutmust be a validXrPassthroughColorLutMETAhandleupdateInfomust be a pointer to a validXrPassthroughColorLutUpdateInfoMETAstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
colorLut- theXrPassthroughColorLutMETAto be updated.updateInfo- theXrPassthroughColorLutUpdateInfoMETA.
- The
-