feat: modules moved and engine moved to submodule
This commit is contained in:
parent
dfb5e645cd
commit
c33d2130cc
5136 changed files with 225275 additions and 64485 deletions
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_BODY_TRACKER_H
|
||||
#define XR_BODY_TRACKER_H
|
||||
#pragma once
|
||||
|
||||
#include "servers/xr/xr_positional_tracker.h"
|
||||
|
||||
|
|
@ -162,7 +161,7 @@ protected:
|
|||
|
||||
private:
|
||||
bool has_tracking_data = false;
|
||||
BitField<BodyFlags> body_flags;
|
||||
BitField<BodyFlags> body_flags = {};
|
||||
|
||||
BitField<JointFlags> joint_flags[JOINT_MAX];
|
||||
Transform3D joint_transforms[JOINT_MAX];
|
||||
|
|
@ -171,5 +170,3 @@ private:
|
|||
VARIANT_BITFIELD_CAST(XRBodyTracker::BodyFlags)
|
||||
VARIANT_ENUM_CAST(XRBodyTracker::Joint)
|
||||
VARIANT_BITFIELD_CAST(XRBodyTracker::JointFlags)
|
||||
|
||||
#endif // XR_BODY_TRACKER_H
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_CONTROLLER_TRACKER_H
|
||||
#define XR_CONTROLLER_TRACKER_H
|
||||
#pragma once
|
||||
|
||||
#include "core/os/thread_safe.h"
|
||||
#include "servers/xr/xr_positional_tracker.h"
|
||||
|
|
@ -48,5 +47,3 @@ protected:
|
|||
public:
|
||||
XRControllerTracker();
|
||||
};
|
||||
|
||||
#endif // XR_CONTROLLER_TRACKER_H
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_FACE_TRACKER_H
|
||||
#define XR_FACE_TRACKER_H
|
||||
#pragma once
|
||||
|
||||
#include "servers/xr/xr_tracker.h"
|
||||
|
||||
|
|
@ -213,5 +212,3 @@ private:
|
|||
};
|
||||
|
||||
VARIANT_ENUM_CAST(XRFaceTracker::BlendShapeEntry);
|
||||
|
||||
#endif // XR_FACE_TRACKER_H
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_HAND_TRACKER_H
|
||||
#define XR_HAND_TRACKER_H
|
||||
#pragma once
|
||||
|
||||
#include "servers/xr/xr_positional_tracker.h"
|
||||
|
||||
|
|
@ -128,5 +127,3 @@ private:
|
|||
VARIANT_ENUM_CAST(XRHandTracker::HandTrackingSource)
|
||||
VARIANT_ENUM_CAST(XRHandTracker::HandJoint)
|
||||
VARIANT_BITFIELD_CAST(XRHandTracker::HandJointFlags)
|
||||
|
||||
#endif // XR_HAND_TRACKER_H
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ void XRInterface::_bind_methods() {
|
|||
BIND_ENUM_CONSTANT(XR_PLAY_AREA_SITTING);
|
||||
BIND_ENUM_CONSTANT(XR_PLAY_AREA_ROOMSCALE);
|
||||
BIND_ENUM_CONSTANT(XR_PLAY_AREA_STAGE);
|
||||
BIND_ENUM_CONSTANT(XR_PLAY_AREA_CUSTOM);
|
||||
|
||||
BIND_ENUM_CONSTANT(XR_ENV_BLEND_MODE_OPAQUE);
|
||||
BIND_ENUM_CONSTANT(XR_ENV_BLEND_MODE_ADDITIVE);
|
||||
|
|
@ -218,7 +219,6 @@ void XRInterface::trigger_haptic_pulse(const String &p_action_name, const String
|
|||
}
|
||||
|
||||
Array XRInterface::get_supported_environment_blend_modes() {
|
||||
Array default_blend_modes;
|
||||
default_blend_modes.push_back(XR_ENV_BLEND_MODE_OPAQUE);
|
||||
Array default_blend_modes = { XR_ENV_BLEND_MODE_OPAQUE };
|
||||
return default_blend_modes;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_INTERFACE_H
|
||||
#define XR_INTERFACE_H
|
||||
#pragma once
|
||||
|
||||
#include "core/math/projection.h"
|
||||
#include "core/os/thread_safe.h"
|
||||
|
|
@ -77,6 +76,7 @@ public:
|
|||
XR_PLAY_AREA_SITTING, /* Player is in seated position, limited positional tracking, fixed guardian around player */
|
||||
XR_PLAY_AREA_ROOMSCALE, /* Player is free to move around, full positional tracking */
|
||||
XR_PLAY_AREA_STAGE, /* Same as roomscale but origin point is fixed to the center of the physical space */
|
||||
XR_PLAY_AREA_CUSTOM = 0x7FFFFFFF, /* Used to denote that a custom, possibly non-standard, play area is being used */
|
||||
};
|
||||
|
||||
enum EnvironmentBlendMode {
|
||||
|
|
@ -168,5 +168,3 @@ VARIANT_ENUM_CAST(XRInterface::Capabilities);
|
|||
VARIANT_ENUM_CAST(XRInterface::TrackingStatus);
|
||||
VARIANT_ENUM_CAST(XRInterface::PlayAreaMode);
|
||||
VARIANT_ENUM_CAST(XRInterface::EnvironmentBlendMode);
|
||||
|
||||
#endif // XR_INTERFACE_H
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_INTERFACE_EXTENSION_H
|
||||
#define XR_INTERFACE_EXTENSION_H
|
||||
#pragma once
|
||||
|
||||
#include "servers/xr/xr_interface.h"
|
||||
|
||||
|
|
@ -136,5 +135,3 @@ public:
|
|||
RID get_render_target_texture(RID p_render_target);
|
||||
// RID get_render_target_depth(RID p_render_target);
|
||||
};
|
||||
|
||||
#endif // XR_INTERFACE_EXTENSION_H
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_POSE_H
|
||||
#define XR_POSE_H
|
||||
#pragma once
|
||||
|
||||
#include "core/object/ref_counted.h"
|
||||
|
||||
|
|
@ -77,5 +76,3 @@ public:
|
|||
};
|
||||
|
||||
VARIANT_ENUM_CAST(XRPose::TrackingConfidence);
|
||||
|
||||
#endif // XR_POSE_H
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_POSITIONAL_TRACKER_H
|
||||
#define XR_POSITIONAL_TRACKER_H
|
||||
#pragma once
|
||||
|
||||
#include "core/os/thread_safe.h"
|
||||
#include "servers/xr/xr_pose.h"
|
||||
|
|
@ -80,5 +79,3 @@ public:
|
|||
};
|
||||
|
||||
VARIANT_ENUM_CAST(XRPositionalTracker::TrackerHand);
|
||||
|
||||
#endif // XR_POSITIONAL_TRACKER_H
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_TRACKER_H
|
||||
#define XR_TRACKER_H
|
||||
#pragma once
|
||||
|
||||
#include "core/os/thread_safe.h"
|
||||
#include "servers/xr_server.h"
|
||||
|
|
@ -57,5 +56,3 @@ public:
|
|||
void set_tracker_desc(const String &p_desc);
|
||||
String get_tracker_desc() const;
|
||||
};
|
||||
|
||||
#endif // XR_TRACKER_H
|
||||
|
|
|
|||
|
|
@ -104,13 +104,12 @@ void XRVRS::set_vrs_render_region(const Rect2i &p_vrs_render_region) {
|
|||
RID XRVRS::make_vrs_texture(const Size2 &p_target_size, const PackedVector2Array &p_eye_foci) {
|
||||
ERR_FAIL_COND_V(p_eye_foci.is_empty(), RID());
|
||||
|
||||
int32_t texel_width = RD::get_singleton()->limit_get(RD::LIMIT_VRS_TEXEL_WIDTH);
|
||||
int32_t texel_height = RD::get_singleton()->limit_get(RD::LIMIT_VRS_TEXEL_HEIGHT);
|
||||
Size2i texel_size = RD::get_singleton()->vrs_get_texel_size();
|
||||
|
||||
// Should return sensible data or graphics API does not support VRS.
|
||||
ERR_FAIL_COND_V(texel_width < 1 || texel_height < 1, RID());
|
||||
ERR_FAIL_COND_V(texel_size.x < 1 || texel_size.y < 1, RID());
|
||||
|
||||
Size2 vrs_size = Size2(0.5 + p_target_size.x / texel_width, 0.5 + p_target_size.y / texel_height).round();
|
||||
Size2 vrs_size = Size2(0.5 + p_target_size.x / texel_size.x, 0.5 + p_target_size.y / texel_size.y).floor();
|
||||
|
||||
// Make sure we have at least one pixel.
|
||||
vrs_size = vrs_size.maxf(1.0);
|
||||
|
|
@ -150,16 +149,18 @@ RID XRVRS::make_vrs_texture(const Size2 &p_target_size, const PackedVector2Array
|
|||
|
||||
Vector2i view_center;
|
||||
view_center.x = int(vrs_size.x * (eye_foci[i].x + 1.0) * region_ratio.x * 0.5) + region_offset.x;
|
||||
view_center.y = int(vrs_size.y * (eye_foci[i].y + 1.0) * region_ratio.y * 0.5) + region_offset.y;
|
||||
view_center.y = int(vrs_size.y * (-eye_foci[i].y + 1.0) * region_ratio.y * 0.5) + region_offset.y;
|
||||
|
||||
int d = 0;
|
||||
for (int y = 0; y < vrs_sizei.y; y++) {
|
||||
for (int x = 0; x < vrs_sizei.x; x++) {
|
||||
// Generate a density map that represents the distance to the view focus point. While this leaves the opportunities
|
||||
// offered by the density map being different in each direction currently unused, it was found to give better tile
|
||||
// distribution on hardware that supports the feature natively. This area is open to improvements in the future.
|
||||
Vector2 offset = Vector2(x - view_center.x, y - view_center.y) / region_ratio;
|
||||
real_t density = 255.0 * MAX(0.0, (Math::abs(offset.x) - min_radius) / outer_radius);
|
||||
data_ptr[d++] = MIN(255, density);
|
||||
density = 255.0 * MAX(0.0, (Math::abs(offset.y) - min_radius) / outer_radius);
|
||||
data_ptr[d++] = MIN(255, density);
|
||||
real_t density = MAX(offset.length() - min_radius, 0.0) / outer_radius;
|
||||
data_ptr[d++] = CLAMP(255.0 * density, 0, 255);
|
||||
data_ptr[d++] = CLAMP(255.0 * density, 0, 255);
|
||||
}
|
||||
}
|
||||
images.push_back(Image::create_from_data(vrs_sizei.x, vrs_sizei.y, false, Image::FORMAT_RG8, data));
|
||||
|
|
|
|||
|
|
@ -28,8 +28,7 @@
|
|||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef XR_VRS_H
|
||||
#define XR_VRS_H
|
||||
#pragma once
|
||||
|
||||
#include "core/object/class_db.h"
|
||||
#include "core/object/object.h"
|
||||
|
|
@ -66,5 +65,3 @@ public:
|
|||
|
||||
RID make_vrs_texture(const Size2 &p_target_size, const PackedVector2Array &p_eye_foci);
|
||||
};
|
||||
|
||||
#endif // XR_VRS_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue