mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
OpenXR: Use the XR_FB_foveation_vulkan
extension to get the density map for VRS
This commit is contained in:
parent
b13c96b097
commit
79f5a4d9fe
24 changed files with 178 additions and 18 deletions
|
@ -1546,6 +1546,11 @@ RID OpenXRInterface::get_vrs_texture() {
|
|||
return RID();
|
||||
}
|
||||
|
||||
RID density_map = openxr_api->get_density_map_texture();
|
||||
if (density_map.is_valid()) {
|
||||
return density_map;
|
||||
}
|
||||
|
||||
PackedVector2Array eye_foci;
|
||||
|
||||
Size2 target_size = get_render_target_size();
|
||||
|
@ -1561,6 +1566,19 @@ RID OpenXRInterface::get_vrs_texture() {
|
|||
return xr_vrs.make_vrs_texture(target_size, eye_foci);
|
||||
}
|
||||
|
||||
XRInterface::VRSTextureFormat OpenXRInterface::get_vrs_texture_format() {
|
||||
if (!openxr_api) {
|
||||
return XR_VRS_TEXTURE_FORMAT_UNIFIED;
|
||||
}
|
||||
|
||||
RID density_map = openxr_api->get_density_map_texture();
|
||||
if (density_map.is_valid()) {
|
||||
return XR_VRS_TEXTURE_FORMAT_FRAGMENT_DENSITY_MAP;
|
||||
}
|
||||
|
||||
return XR_VRS_TEXTURE_FORMAT_UNIFIED;
|
||||
}
|
||||
|
||||
void OpenXRInterface::set_cpu_level(PerfSettingsLevel p_level) {
|
||||
OpenXRPerformanceSettingsExtension *performance_settings_ext = OpenXRPerformanceSettingsExtension::get_singleton();
|
||||
if (performance_settings_ext && performance_settings_ext->is_available()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue