Skip to content

RealityKit macOS xcode13.0 rc

Alex Soto edited this page Sep 14, 2021 · 1 revision

#RealityKit.framework

diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKit.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKit.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKit.h	2021-08-02 02:25:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKit.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,17 +0,0 @@
-#ifndef REALITYKIT_H_
-#define REALITYKIT_H_
-
-//
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-
-#ifndef __REALITYKIT_INDIRECT
-#define __REALITYKIT_INDIRECT
-#endif
-
-#import <RealityKit/RealityKitGeometryModifier.h>
-#import <RealityKit/RealityKitSurfaceShader.h>
-
-#undef __REALITYKIT_INDIRECT
-
-#endif // REALITYKIT_H_
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitConfig.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitConfig.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitConfig.h	2021-08-02 02:25:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitConfig.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,8 +0,0 @@
-#ifndef REALITYKIT_CONFIG_H
-#define REALITYKIT_CONFIG_H
-
-//
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-
-#endif /* REALITYKIT_CONFIG_H */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitGeometryModifier.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitGeometryModifier.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitGeometryModifier.h	2021-08-05 00:23:43.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitGeometryModifier.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,452 +0,0 @@
-#ifndef REALITYKIT_GEOMETRYMODIFIER_H_
-#define REALITYKIT_GEOMETRYMODIFIER_H_
-
-//
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-#if defined(__METAL_VERSION__)
-
-#ifndef __REALITYKIT_INDIRECT
-#error "Please include <RealityKit/RealityKit.h> instead of individual files directly"
-#endif
-
-#include <RealityKit/RealityKitMaterialParameters.h>
-#include <RealityKit/RealityKitTextures.h>
-#include <RealityKit/RealityKitTypes.h>
-
-#include <metal_stdlib>
-#include <metal_types>
-
-namespace realitykit
-{
-struct geometry_parameters;
-
-namespace geometry_modifier
-{
-struct geometry_data_t;
-
-namespace api
-{
-// Uniforms
-
-RK_API float time(thread geometry_data_t &data);
-
-RK_API metal::float2 uv0_offset(thread geometry_data_t &data);
-RK_API metal::float2x2 uv0_transform(thread geometry_data_t &data);
-
-RK_API metal::float2 uv1_offset(thread geometry_data_t &data);
-RK_API metal::float2x2 uv1_transform(thread geometry_data_t &data);
-
-RK_API float4 custom_parameter(thread geometry_data_t &data);
-
-RK_API thread texture::texture_data_t &textures(thread geometry_data_t &data);
-RK_API thread material::material_constants_t &material_constants(thread geometry_data_t &data);
-
-// Transforms
-
-RK_API metal::float4x4 model_to_world(thread geometry_data_t &data);
-RK_API metal::float4x4 world_to_model(thread geometry_data_t &data);
-
-RK_API metal::float3x3 normal_to_world(thread geometry_data_t &data);
-
-RK_API metal::float4x4 model_to_view(thread geometry_data_t &data);
-
-RK_API metal::float4x4 view_to_projection(thread geometry_data_t &data);
-RK_API metal::float4x4 projection_to_view(thread geometry_data_t &data);
-
-// Geometry
-
-RK_API uint vertex_id(thread geometry_data_t &data);
-RK_API float3 position(thread geometry_data_t &data);
-
-RK_API float3 model_position_offset(thread geometry_data_t &data);
-RK_API void set_model_position_offset(float3 value, thread geometry_data_t &data);
-
-RK_API float4 color(thread geometry_data_t &data);
-RK_API void set_color(float4 value, thread geometry_data_t &data);
-
-RK_API float3 normal(thread geometry_data_t &data);
-RK_API void set_normal(float3 value, thread geometry_data_t &data);
-
-RK_API float3 bitangent(thread geometry_data_t &data);
-RK_API void set_bitangent(float3 value, thread geometry_data_t &data);
-
-RK_API float2 uv0(thread geometry_data_t &data);
-RK_API void set_uv0(float2 value, thread geometry_data_t &data);
-
-RK_API float2 uv1(thread geometry_data_t &data);
-RK_API void set_uv1(float2 value, thread geometry_data_t &data);
-
-RK_API float4 custom_attribute(thread geometry_data_t &data);
-RK_API void set_custom_attribute(float4 value, thread geometry_data_t &data);
-}
-
-// MARK: - Uniforms
-
-/// Uniforms are read-only values that are constant for all vertices from the same model.
-/// You can retrieve this object by calling `geometry_parameters.uniforms()`
-struct uniforms
-{
-    RK_INLINE uniforms(thread geometry_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    /// Returns the current simulation time, which you can use to animate other values,
-    /// such as color or position over time.
-    ///
-    /// Time is expressed as seconds since RealityKit began rendering.
-    RK_INLINE float time() const thread
-    {
-        return geometry_modifier::api::time(data);
-    }
-
-    /// Returns a matrix you can use to transform from model-space into world-space.
-    RK_INLINE metal::float4x4 model_to_world() const thread
-    {
-        return geometry_modifier::api::model_to_world(data);
-    }
-
-    /// Returns a matrix you can use to transform from world-space into model-space.
-    RK_INLINE metal::float4x4 world_to_model() const thread
-    {
-        return geometry_modifier::api::world_to_model(data);
-    }
-
-    /// Returns a 3x3 matrix useful for transforming normal vectors from model-space
-    /// into world space.
-    RK_INLINE metal::float3x3 normal_to_world() const thread
-    {
-        return geometry_modifier::api::normal_to_world(data);
-    }
-
-    /// Returns a matrix you can use to transform from model-space into view-space.
-    RK_INLINE metal::float4x4 model_to_view() const thread
-    {
-        return geometry_modifier::api::model_to_view(data);
-    }
-
-    /// Returns a matrix you can use to transform from view-space into projection-space.
-    RK_INLINE metal::float4x4 view_to_projection() const thread
-    {
-        return geometry_modifier::api::view_to_projection(data);
-    }
-
-    /// Returns a matrix you can use to transform from projection-space into view-space.
-    RK_INLINE metal::float4x4 projection_to_view() const thread
-    {
-        return geometry_modifier::api::projection_to_view(data);
-    }
-
-    /// Returns a float4 value, which you set on a model's `CustomMaterial`.
-    ///
-    /// You can use this for any purpose, as its value has no pre-existing meaning within RealityKit.
-    RK_INLINE float4 custom_parameter() const thread
-    {
-        return geometry_modifier::api::custom_parameter(data);
-    }
-
-    /// Returns the value of a model's UV0 offset.
-    ///
-    /// While the built-in PhysicallyBasedMaterial shaders use this to control uv0, Geometry
-    /// Modifiers give you control to use this in any way you see fit.
-    ///
-    /// @see uv0_transform()
-    RK_INLINE float2 uv0_offset() const thread
-    {
-        return geometry_modifier::api::uv0_offset(data);
-    }
-
-    /// Returns the value of a model's UV0 transform.
-    ///
-    /// While the built-in PhysicallyBasedMaterial shaders use this to control uv0, Geometry
-    /// Modifiers give you control to use this in any way you see fit.
-    ///
-    /// If you want to apply this to uv0, you can use code like the following.
-    ///
-    /// @code
-    /// #include <RealityKit/RealityKit.h>
-    ///
-    /// [[visible]]
-    /// void geometryModifier(realitykit::geometry_parameters params)
-    /// {
-    ///   params.geometry().set_uv0(params.uniforms().uv0_transform() * params.geometry().uv0() + params.uniforms().uv0_offset());
-    /// }
-    /// @endcode
-    RK_INLINE metal::float2x2 uv0_transform() const thread
-    {
-        return geometry_modifier::api::uv0_transform(data);
-    }
-
-    /// Returns the value of a model's UV1 offset.
-    ///
-    /// While the built-in PhysicallyBasedMaterial shaders use this to control uv1, Geometry
-    /// Modifiers give you control to use this in any way you see fit.
-    ///
-    /// @see uv1_transform()
-    RK_INLINE float2 uv1_offset() const thread
-    {
-        return geometry_modifier::api::uv1_offset(data);
-    }
-
-    /// Returns the value of a model's UV1 transform.
-    ///
-    /// While the built-in PhysicallyBasedMaterial shaders use this to control uv1, Geometry
-    /// Modifiers give you control to use this in any way you see fit.
-    ///
-    /// If you want to apply this to uv1, you can use code like the following.
-    ///
-    /// @code
-    /// #include <RealityKit/RealityKit.h>
-    ///
-    /// [[visible]]
-    /// void geometryModifier(realitykit::geometry_parameters params)
-    /// {
-    ///   params.geometry().set_uv1(params.uniforms().uv1_transform() * params.geometry().uv1() + params.uniforms().uv1_offset());
-    /// }
-    /// @endcode
-    RK_INLINE metal::float2x2 uv1_transform() const thread
-    {
-        return geometry_modifier::api::uv1_transform(data);
-    }
-
-private:
-    thread geometry_data_t &data;
-};
-
-// MARK: - Geometry
-
-/// Geometry gives you access to values contained on each vertex within a model,
-/// such as position and color. You can also modify most of the properties, which
-/// you can access later from the surface shader.
-struct geometry
-{
-    RK_INLINE geometry(thread geometry_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    /// Returns per-vertex identifier, as specified by Metal.
-    ///
-    /// See `vertex_id` in Metal Shading Language Section 5.2.3.1.
-    RK_INLINE uint vertex_id() const thread
-    {
-        return geometry_modifier::api::vertex_id(data);
-    }
-
-    /// Position of this vertex in model-space. This will be the value originally
-    /// set when the model was created. You can provide an offset to this value using
-    /// set_model_position_offset().
-    ///
-    /// @see set_model_position_offset()
-    RK_INLINE float3 model_position() const thread
-    {
-        return geometry_modifier::api::position(data);
-    }
-
-    /// Position of this vertex in world-space. This value is computed based on the model_position()
-    /// and the object's position in the virtual world.
-    RK_INLINE float3 world_position() const thread
-    {
-        return (api::model_to_world(data) * float4(model_position(), 1)).xyz;
-    }
-
-    /// Returns any offset for the current vertex, in model-space. Defaults to
-    /// (0,0,0) unless previously set by `set_model_position_offset()`.
-    RK_INLINE float3 model_position_offset() const thread
-    {
-        return geometry_modifier::api::model_position_offset(data);
-    }
-
-    /// Offsets the current vertex by the given value in model-space. The value you provide
-    /// will be added to `model_position()` to determine its final position.
-    RK_INLINE void set_model_position_offset(float3 value) thread
-    {
-        geometry_modifier::api::set_model_position_offset(value, data);
-    }
-
-    /// Returns any offset for the current vertex, by transforming model_position_offset()
-    /// into world-space.
-    RK_INLINE float3 world_position_offset() const thread
-    {
-        return geometry_modifier::api::normal_to_world(data) * model_position_offset();
-    }
-
-    /// Offsets the current vertex by the given value in world-space. The value will be
-    /// transformed into model-space before storing.
-    RK_INLINE void set_world_position_offset(float3 value) thread
-    {
-        float4 model_offset = geometry_modifier::api::world_to_model(data) * float4(value, 0.0);
-
-        set_model_position_offset(model_offset.xyz);
-    }
-
-    /// Returns color for the current vertex. This value is initially any color specified
-    /// on the current vertex, and can be changed with set_color().
-    RK_INLINE float4 color() const thread
-    {
-        return geometry_modifier::api::color(data);
-    }
-
-    /// Sets the current vertex's color.
-    RK_INLINE void set_color(float4 value) thread
-    {
-        geometry_modifier::api::set_color(value, data);
-    }
-
-    /// Returns the normal for the current vertex.
-    RK_INLINE float3 normal() const thread
-    {
-        return geometry_modifier::api::normal(data);
-    }
-
-    /// Sets the current vertex's normal.
-    RK_INLINE void set_normal(float3 value) thread
-    {
-        geometry_modifier::api::set_normal(value, data);
-    }
-
-    /// Returns the bitangent for the current vertex.
-    RK_INLINE float3 bitangent() const thread
-    {
-        return geometry_modifier::api::bitangent(data);
-    }
-
-    /// Sets the current vertex's bitangent.
-    RK_INLINE void set_bitangent(float3 value) thread
-    {
-        geometry_modifier::api::set_bitangent(value, data);
-    }
-
-    /// Returns uv0 for the current vertex. This is the raw value, and may need to be flipped to sample into USD textures.
-    ///
-    /// Most often, you will use this as a primary texture coordinate.
-    RK_INLINE float2 uv0() const thread
-    {
-        return geometry_modifier::api::uv0(data);
-    }
-
-    /// Sets uv0 for the current vertex.
-    RK_INLINE void set_uv0(float2 value) thread
-    {
-        geometry_modifier::api::set_uv0(value, data);
-    }
-
-    /// Returns uv1 for the current vertex. This is the raw value, and may need to be flipped to sample into USD textures.
-    ///
-    /// You can use this as secondary texture coordinate or for any other
-    /// purposes.
-    RK_INLINE float2 uv1() const thread
-    {
-        return geometry_modifier::api::uv1(data);
-    }
-
-    /// Sets uv1 for the current vertex.
-    RK_INLINE void set_uv1(float2 value) thread
-    {
-        geometry_modifier::api::set_uv1(value, data);
-    }
-
-    /// Returns any user-specified attribute on the current vertex.
-    ///
-    /// Defaults to `(0,0,0,0)` unless previously set via set_custom_attribute.
-    RK_INLINE float4 custom_attribute() const thread
-    {
-        return geometry_modifier::api::custom_attribute(data);
-    }
-
-    /// Stores an attribute on the vertex which will later be available in the surface shader.
-    RK_INLINE void set_custom_attribute(float4 value) thread
-    {
-        geometry_modifier::api::set_custom_attribute(value, data);
-    }
-
-private:
-    thread geometry_data_t &data;
-};
-}
-
-// MARK: - Geometry Parameters
-
-/// Parameter passed to geometry modifier functions, providing access to input and
-/// output values.
-///
-/// Geometry modifier functions allow you to modify vertices and their related properties
-/// before rasterization. For example, you can add an offset which simulates the effect of
-/// wind on long grass.
-///
-/// Values are grouped into sub-objects of related values. For example, you can use `textures()`
-/// to access textures bound by your application.
-///
-/// @code
-/// #include <RealityKit/RealityKit.h>
-///
-/// [[visible]]
-/// void myGeometryModifier(realitykit::geometry_parameters params)
-/// {
-/// }
-/// @endcode
-///
-/// Below is a geometry modifier that emulates PhysicallyBasedMaterial's behavior.
-///
-/// @code
-/// #include <RealityKit/RealityKit.h>
-///
-/// [[visible]]
-/// void myGeometryModifier(realitykit::geometry_parameters params)
-/// {
-///     auto geo = params.geometry();
-///     auto uniforms = params.uniforms();
-///
-///     geo.set_uv0(uniforms.uv0_transform() * geo.uv0() + uniforms.uv0_offset());
-///     geo.set_uv1(uniforms.uv1_transform() * geo.uv1() + uniforms.uv1_offset());
-/// }
-/// @endcode
-struct geometry_parameters
-{
-    RK_INLINE geometry_parameters(thread geometry_modifier::geometry_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    RK_INLINE geometry_parameters(const thread geometry_parameters &p) = default;
-
-    /// Returns the uniforms associated with this model.
-    ///
-    /// Uniforms are read-only values that are constant for all vertices and fragments
-    /// from the same model.
-    RK_INLINE geometry_modifier::uniforms uniforms() const thread
-    {
-        return geometry_modifier::uniforms(data);
-    }
-
-    /// Returns the geometry associated with the current vertex, allowing you to access
-    /// and customize aspects of the model, such as the color or uvs, or to add offsets
-    /// to the position.
-    RK_INLINE geometry_modifier::geometry geometry() thread
-    {
-        return geometry_modifier::geometry(data);
-    }
-
-    /// Returns the textures associated with this model, allowing you to retrieve
-    /// and sample textures set on the model.
-    RK_INLINE texture::textures textures() const thread
-    {
-        return texture::textures(geometry_modifier::api::textures(data));
-    }
-
-    /// Returns the material constants associated with this model. These values
-    /// are constant across a given model, and allow access to parameters set on
-    /// the `CustomMaterial`, such as `base_color_tint` or `roughness`.
-    RK_INLINE material::material_parameters material_constants() const thread
-    {
-        return material::material_parameters(geometry_modifier::api::material_constants(data));
-    }
-
-private:
-    thread geometry_modifier::geometry_data_t &data;
-};
-}
-
-#endif // __METAL_VERSION__
-#endif // REALITYKIT_GEOMETRYMODIFIER_H_
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitMaterialParameters.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitMaterialParameters.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitMaterialParameters.h	2021-08-02 02:25:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitMaterialParameters.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,117 +0,0 @@
-#ifndef REALITYKIT_MATERIAL_PARAMETERS_H
-#define REALITYKIT_MATERIAL_PARAMETERS_H
-
-//
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-#if defined(__METAL_VERSION__)
-
-#ifndef __REALITYKIT_INDIRECT
-#error "Please include <RealityKit/RealityKit.h> instead of individual files directly"
-#endif
-
-#include <RealityKit/RealityKitTypes.h>
-
-namespace realitykit
-{
-struct surface_parameters;
-struct geometry_parameters;
-
-namespace material
-{
-struct material_constants_t;
-
-namespace api
-{
-// Material Constants
-
-RK_API float3 base_color_tint(thread material_constants_t &data);
-RK_API float opacity_scale(thread material_constants_t &data);
-RK_API float opacity_threshold(thread material_constants_t &data);
-RK_API float roughness_scale(thread material_constants_t &data);
-RK_API float metallic_scale(thread material_constants_t &data);
-RK_API float specular_scale(thread material_constants_t &data);
-RK_API float3 emissive_color(thread material_constants_t &data);
-RK_API float clearcoat_scale(thread material_constants_t &data);
-RK_API float clearcoat_roughness_scale(thread material_constants_t &data);
-} // namespace api
-
-// MARK: - Material Parameters
-
-/// Material parameters that are constant across one instance of a model. These values
-/// are set on the `Material` and available for use in your calculations.
-///
-/// When providing a surface shader, you are responsible for using these values
-/// as desired for your final look.
-struct material_parameters
-{
-    RK_INLINE material_parameters(thread material::material_constants_t &_data)
-        : data(_data)
-    {
-    }
-
-    /// Returns the value of baseColor.tint set on the model's material.
-    RK_INLINE float3 base_color_tint() const thread
-    {
-        return material::api::base_color_tint(data);
-    }
-
-    /// Returns the value of baseColor.tint.alpha set on the model's material.
-    RK_INLINE float opacity_scale() const thread
-    {
-        return material::api::opacity_scale(data);
-    }
-
-    /// Returns the value of opacityThreshold set on the model's material.
-    ///
-    /// Defaults to 0.
-    RK_INLINE float opacity_threshold() const thread
-    {
-        return material::api::opacity_threshold(data);
-    }
-
-    /// Returns the value of roughness.scale set on the model's material.
-    RK_INLINE float roughness_scale() const thread
-    {
-        return material::api::roughness_scale(data);
-    }
-
-    /// Returns the value of metallic.scale set on the model's material.
-    RK_INLINE float metallic_scale() const thread
-    {
-        return material::api::metallic_scale(data);
-    }
-
-    /// Returns the value of specular.scale set on the model's material.
-    RK_INLINE float specular_scale() const thread
-    {
-        return material::api::specular_scale(data);
-    }
-
-    /// Returns the value of emissiveColor set on the model's material.
-    RK_INLINE float3 emissive_color() const thread
-    {
-        return material::api::emissive_color(data);
-    }
-
-    /// Returns the value of clearcoat.scale set on the model's material.
-    RK_INLINE float clearcoat_scale() const thread
-    {
-        return material::api::clearcoat_scale(data);
-    }
-
-    /// Returns the value of clearcoatRoughness.scale set on the model's material.
-    RK_INLINE float clearcoat_roughness_scale() const thread
-    {
-        return material::api::clearcoat_roughness_scale(data);
-    }
-
-private:
-    thread material::material_constants_t &data;
-};
-
-} // namespace material
-} // namespace realitykit
-
-#endif // __METAL_VERSION__
-#endif /* REALITYKIT_MATERIAL_PARAMETERS_H */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitSurfaceShader.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitSurfaceShader.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitSurfaceShader.h	2021-08-08 22:46:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitSurfaceShader.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,550 +0,0 @@
-#ifndef REALITYKIT_SURFACESHADER_H_
-#define REALITYKIT_SURFACESHADER_H_
-
-//
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-#if defined(__METAL_VERSION__)
-
-#ifndef __REALITYKIT_INDIRECT
-#error "Please include <RealityKit/RealityKit.h> instead of individual files directly"
-#endif
-
-#include <RealityKit/RealityKitMaterialParameters.h>
-#include <RealityKit/RealityKitTextures.h>
-#include <RealityKit/RealityKitTypes.h>
-
-#include <metal_stdlib>
-#include <metal_types>
-
-namespace realitykit
-{
-struct surface_parameters;
-
-namespace surface
-{
-struct surface_data_t;
-
-namespace api
-{
-// Uniforms
-
-RK_API float time(thread surface_data_t &data);
-
-RK_API thread texture::texture_data_t &textures(thread surface_data_t &data);
-RK_API thread material::material_constants_t &material_constants(thread surface_data_t &data);
-RK_API float4 custom_parameter(thread surface_data_t &data);
-
-// Transforms
-RK_API metal::float4x4 model_to_world(thread surface_data_t &data);
-RK_API metal::float4x4 model_to_view(thread surface_data_t &data);
-
-RK_API metal::float4x4 world_to_view(thread surface_data_t &data);
-
-RK_API metal::float4x4 view_to_projection(thread surface_data_t &data);
-RK_API metal::float4x4 projection_to_view(thread surface_data_t &data);
-
-// Geometry
-
-RK_API float3 model_position(thread surface_data_t &data);
-RK_API float4 screen_position(thread surface_data_t &data);
-RK_API float3 world_position(thread surface_data_t &data);
-RK_API float3 view_direction(thread surface_data_t &data);
-
-RK_API float4 color(thread surface_data_t &data);
-
-RK_API float3 geometry_normal(thread surface_data_t &data);
-RK_API float3 geometry_tangent(thread surface_data_t &data);
-RK_API float3 geometry_bitangent(thread surface_data_t &data);
-
-RK_API float2 uv0(thread surface_data_t &data);
-RK_API float2 uv1(thread surface_data_t &data);
-
-RK_API float4 custom_attribute(thread surface_data_t &data);
-
-// Surface
-
-RK_API half3 base_color(thread surface_data_t &data);
-RK_API void set_base_color(half3 value, thread surface_data_t &data);
-
-RK_API float3 tangent_space_normal(thread surface_data_t &data);
-RK_API void set_tangent_space_normal(float3 value, thread surface_data_t &data);
-
-RK_API half3 emissive_color(thread surface_data_t &data);
-RK_API void set_emissive_color(half3 value, thread surface_data_t &data);
-
-RK_API half roughness(thread surface_data_t &data);
-RK_API void set_roughness(half value, thread surface_data_t &data);
-
-RK_API half metallic(thread surface_data_t &data);
-RK_API void set_metallic(half value, thread surface_data_t &data);
-
-RK_API half ambient_occlusion(thread surface_data_t &data);
-RK_API void set_ambient_occlusion(half value, thread surface_data_t &data);
-
-RK_API half specular(thread surface_data_t &data);
-RK_API void set_specular(half value, thread surface_data_t &data);
-
-RK_API half opacity(thread surface_data_t &data);
-RK_API void set_opacity(half value, thread surface_data_t &data);
-
-RK_API half clearcoat(thread surface_data_t &data);
-RK_API void set_clearcoat(half value, thread surface_data_t &data);
-
-RK_API half clearcoat_roughness(thread surface_data_t &data);
-RK_API void set_clearcoat_roughness(half value, thread surface_data_t &data);
-
-} // namespace api
-
-// MARK: - Uniforms
-
-/// Uniforms are read-only values that are constant for all vertices and fragments
-/// from the same model.
-struct uniforms
-{
-    RK_INLINE uniforms(thread surface::surface_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    /// Returns the current simulation time, which you can use to animate other values,
-    /// such as color or position over time.
-    ///
-    /// Time is expressed as seconds since RealityKit began rendering.
-    RK_INLINE float time() const thread
-    {
-        return surface::api::time(data);
-    }
-
-    /// Returns a matrix you can use to transform from model-space into world-space.
-    RK_INLINE metal::float4x4 model_to_world() const thread
-    {
-        return surface::api::model_to_world(data);
-    }
-
-    /// Returns a matrix you can use to transform from model-space into view-space.
-    RK_INLINE metal::float4x4 model_to_view() const thread
-    {
-        return surface::api::model_to_view(data);
-    }
-
-    /// Returns a matrix you can use to transform from world-space into view-space.
-    RK_INLINE metal::float4x4 world_to_view() const thread
-    {
-        return surface::api::world_to_view(data);
-    }
-
-    /// Returns a matrix you can use to transform from view-space into projection-space.
-    RK_INLINE metal::float4x4 view_to_projection() const thread
-    {
-        return surface::api::view_to_projection(data);
-    }
-
-    /// Returns a matrix you can use to transform from projection-space into view-space.
-    RK_INLINE metal::float4x4 projection_to_view() const thread
-    {
-        return surface::api::projection_to_view(data);
-    }
-
-    /// Returns a float4 value, which you set on a model's `CustomMaterial`.
-    ///
-    /// You can use this for any purpose, as its value has no pre-existing meaning within RealityKit.
-    RK_INLINE float4 custom_parameter() const thread
-    {
-        return surface::api::custom_parameter(data);
-    }
-
-private:
-    thread surface::surface_data_t &data;
-};
-
-// MARK: - Geometry
-
-/// Geometry properties for a surface shader.
-///
-/// The geometry object provides access to data about a fragment's input geometry,
-/// such as its screen position, normal, and uv's. This data is read-only at the fragment
-/// stage. See surface_properties for modifyable values, including tangent-space normal.
-struct geometry
-{
-    RK_INLINE geometry(thread surface::surface_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    /// Returns the fragment's position in screen space.
-    ///
-    /// Corresponds to the `[[position]]` fragment function input attribute
-    RK_INLINE float4 screen_position() const thread
-    {
-        return surface::api::screen_position(data);
-    }
-
-    /// Returns the fragment's position in world space
-    RK_INLINE float3 world_position() const thread
-    {
-        return surface::api::world_position(data);
-    }
-
-    /// Returns the fragment's position in model space
-    RK_INLINE float3 model_position() const thread
-    {
-        return surface::api::model_position(data);
-    }
-
-    /// Returns the fragment's interpolated vertex color.
-    RK_INLINE float4 color() const thread
-    {
-        return surface::api::color(data);
-    }
-
-    /// Returns the normal of the fragment's geometry.
-    RK_INLINE float3 normal() const thread
-    {
-        return surface::api::geometry_normal(data);
-    }
-
-    /// Returns the tangent of the fragment's geometry.
-    RK_INLINE float3 tangent() const thread
-    {
-        return surface::api::geometry_tangent(data);
-    }
-
-    /// Returns the bitangent of the fragment's geometry.
-    RK_INLINE float3 bitangent() const thread
-    {
-        return surface::api::geometry_bitangent(data);
-    }
-
-    /// Returns the interpolated uv0 for the current fragment. This is the raw value, and may need to be flipped to sample into USD textures.
-    ///
-    /// Most often, you will use this as a primary texture coordinate.
-    RK_INLINE float2 uv0() const thread
-    {
-        return surface::api::uv0(data);
-    }
-
-    /// Returns the interpolated uv1 for the current fragment. This is the raw value, and may need to be flipped to sample into USD textures.
-    ///
-    /// You can use this as secondary texture coordinate or for any other purpose.
-    RK_INLINE float2 uv1() const thread
-    {
-        return surface::api::uv1(data);
-    }
-
-    /// Returns a user attribute set by a geometry modifier.
-    ///
-    /// You set this value in a geometry modifier and the value is interpolated per-fragment,
-    /// using Metal's default interpolation mode.
-    RK_INLINE float4 custom_attribute() const thread
-    {
-        return surface::api::custom_attribute(data);
-    }
-
-    /// Returns the direction from this fragment to the view, in world-space.
-    RK_INLINE float3 view_direction() const thread
-    {
-        return surface::api::view_direction(data);
-    }
-
-private:
-    thread surface::surface_data_t &data;
-};
-
-// MARK: - Surface Properties
-
-/// Surface properties for a surface shader.
-///
-/// The surface sub-object allows you to define the surface's properties at this fragment,
-/// including color, normal, roughness, etc.
-///
-/// @code
-/// #include <RealityKit/RealityKit.h>
-///
-/// [[visible]]
-/// void mySurfaceShader(realitykit::surface_parameters params)
-/// {
-///     params.surface().set_base_color(half3(1, 1, 1));
-/// }
-/// @endcode
-///
-/// Below is a surface shader for the lit lighting model that emulates 
-/// PhysicallyBasedMaterial's behavior.
-///
-/// @code
-/// #include <RealityKit/RealityKit.h>
-///
-/// [[visible]]
-/// void mySurfaceShader(realitykit::surface_parameters params)
-/// {
-///     constexpr sampler samplerBilinear(coord::normalized,
-///                                       address::repeat,
-///                                       filter::linear,
-///                                       mip_filter::nearest);
-///
-///     auto tex = params.textures();
-///     auto surface = params.surface();
-///     float2 uv = params.geometry().uv0();
-///     // USD textures require uvs to be flipped.
-///     uv.y = 1.0 - uv.y;
-///
-///     half4 colorSample = tex.base_color().sample(samplerBilinear, uv);
-///     half4 emissiveSample = tex.emissive_color().sample(samplerBilinear, uv);
-///
-///     // Color
-///     surface.set_base_color(colorSample.rgb * half3(params.material_constants().base_color_tint()));
-///     surface.set_emissive_color(max(emissiveSample.rgb, half3(params.material_constants().emissive_color())));
-///
-///     // Opacity
-///     surface.set_opacity(tex.opacity().sample(samplerBilinear, uv).r
-///                         * params.material_constants().opacity_scale()
-///                         * colorSample.a);
-///
-///     // Normal
-///     half3 normal = realitykit::unpack_normal(tex.normal().sample(samplerBilinear, uv).rgb);
-///     surface.set_normal(float3(normal));
-///
-///     // Roughness and Metallic
-///     surface.set_roughness(tex.roughness().sample(samplerBilinear, uv).r
-///                           * params.material_constants().roughness_scale());
-///     surface.set_metallic(tex.metallic().sample(samplerBilinear, uv).r
-///                          * params.material_constants().metallic_scale());
-///
-///     // Ambient and Specular
-///     surface.set_ambient_occlusion(tex.ambient_occlusion().sample(samplerBilinear, uv).r);
-///     surface.set_specular(tex.specular().sample(samplerBilinear, uv).r
-///                          * params.material_constants().specular_scale());
-/// }
-/// @endcode
-struct surface_properties
-{
-    RK_INLINE surface_properties(thread surface::surface_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    /// Returns the base color for the fragment. The default value is (1,1,1)
-    ///
-    /// For materials using the unlit lighting model, use set_emissive_color() instead.
-    RK_INLINE half3 base_color() const thread
-    {
-        return surface::api::base_color(data);
-    }
-
-    /// Set the base color of this fragment. The default value is (1,1,1)
-    ///
-    /// For materials with the unlit lighting model, use set_emissive_color instead.
-    RK_INLINE void set_base_color(half3 value) thread
-    {
-        surface::api::set_base_color(value, data);
-    }
-
-    /// Returns the tangent-space normal of the current fragment.
-    ///
-    /// Defaults to (0,0,1).
-    RK_INLINE float3 normal() thread
-    {
-        return surface::api::tangent_space_normal(data);
-    }
-
-    /// Sets the tangent-space normal of the current fragment.
-    ///
-    /// You can set this value to influence lighting calculations. The value will
-    /// be normalized before storing.
-    RK_INLINE void set_normal(float3 value) thread
-    {
-        return surface::api::set_tangent_space_normal(metal::normalize(value), data);
-    }
-
-    /// Returns the emissive color for the fragment's material. The default value is (0,0,0)
-    RK_INLINE half3 emissive_color() const thread
-    {
-        return surface::api::emissive_color(data);
-    }
-
-    /// Set the emissive color of this fragment.
-    ///
-    /// Use this to add light emitted for glowing materials, or as the output color when
-    /// using the unlit lighting model.
-    RK_INLINE void set_emissive_color(half3 value) thread
-    {
-        surface::api::set_emissive_color(value, data);
-    }
-
-    /// Returns the roughness of the fragment's material. The default value is 0.
-    RK_INLINE half roughness() const thread
-    {
-        return surface::api::roughness(data);
-    }
-
-    /// Set the roughness value of this fragment.
-    RK_INLINE void set_roughness(half value) thread
-    {
-        surface::api::set_roughness(value, data);
-    }
-
-    /// Returns the metallic of the fragment's material. The default value is 0.
-    RK_INLINE half metallic() const thread
-    {
-        return surface::api::metallic(data);
-    }
-
-    /// Set the metallic value of this fragment.
-    RK_INLINE void set_metallic(half value) thread
-    {
-        surface::api::set_metallic(value, data);
-    }
-
-    /// Returns the ambient occlusion value of the fragment's material. The default value is 1.
-    RK_INLINE half ambient_occlusion() const thread
-    {
-        return surface::api::ambient_occlusion(data);
-    }
-
-    /// Set the ambient occlusion value of this fragment.
-    RK_INLINE void set_ambient_occlusion(half value) thread
-    {
-        surface::api::set_ambient_occlusion(value, data);
-    }
-
-    /// Returns the specular value of this fragment. The default value is 0.
-    RK_INLINE half specular() const thread
-    {
-        return surface::api::specular(data);
-    }
-
-    /// Set the specular value of this fragment.
-    RK_INLINE void set_specular(half value) thread
-    {
-        surface::api::set_specular(value, data);
-    }
-
-    /// Returns any previously set opacity for this fragment. The default value is 1.
-    RK_INLINE half opacity() const thread
-    {
-        return surface::api::opacity(data);
-    }
-
-    /// Set the opacity of this fragment. When the material has a transparent
-    /// blending mode, this specifies how opaque the fragment is.
-    ///
-    /// @see CustomMaterial.blending
-    RK_INLINE void set_opacity(half value) thread
-    {
-        surface::api::set_opacity(value, data);
-    }
-
-    /// Returns any previously set clearcoat value for this fragment. The default value is 0.
-    RK_INLINE half clearcoat() const thread
-    {
-        return surface::api::clearcoat(data);
-    }
-
-    /// Set the clearcoat value for this fragment.
-    ///
-    /// @discussion This requires that the CustomMaterial's lighting model is clearcoat, otherwise
-    /// its value will be ignored.
-    RK_INLINE void set_clearcoat(half value) thread
-    {
-        surface::api::set_clearcoat(value, data);
-    }
-
-    /// Returns any previously set clearcoat roughness value for this fragment. The default value is 0.
-    RK_INLINE half clearcoat_roughness() const thread
-    {
-        return surface::api::clearcoat_roughness(data);
-    }
-
-    /// Set the clearcoat roughness value for this fragment.
-    ///
-    /// @discussion This requires that the CustomMaterial's lighting model is clearcoat, otherwise
-    /// its value will be ignored.
-    RK_INLINE void set_clearcoat_roughness(half value) thread
-    {
-        surface::api::set_clearcoat_roughness(value, data);
-    }
-
-private:
-    thread surface::surface_data_t &data;
-};
-}
-
-// MARK: - Surface Parameters
-
-/// Parameter passed to surface shader functions, which you use to define the surface's properties
-/// at this fragment. You control the full appearance of the surface; any values not set by your surface
-/// shader use default values.
-///
-/// Values are grouped into sub-objects of related values. For example, you can use `textures()`
-/// to access textures bound by your application and `surface()` to define the surface appearance.
-///
-/// Example shader which pulses its color over time, on a relatively rough surface.
-///
-/// @code
-/// #include <RealityKit/RealityKit.h>
-///
-/// [[visible]]
-/// void pulsingSurfaceShader(realitykit::surface_parameters params)
-/// {
-///     float intensity = sin(params.uniforms().time());
-///     params.surface().set_base_color(half3(intensity));
-///     params.surface().set_roughness(0.75);
-/// }
-/// @endcode
-struct surface_parameters
-{
-    RK_INLINE surface_parameters(thread surface::surface_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    RK_INLINE surface_parameters(const thread surface_parameters &p) = default;
-
-    /// Returns the uniforms associated with this fragments.
-    ///
-    /// Uniforms are read-only values that are constant across all vertices and fragments
-    /// from the same model.
-    RK_INLINE surface::uniforms uniforms() const thread
-    {
-        return surface::uniforms(data);
-    }
-
-    /// Returns the geometric properties of the current fragment
-    ///
-    /// Geometry is read-only at the fragment stage. See surface() for modifyable values,
-    /// including tangent-space normal.
-    RK_INLINE surface::geometry geometry() const thread
-    {
-        return surface::geometry(data);
-    }
-
-    /// Returns an object you use to define the surface's properties for this fragment.
-    ///
-    /// All properties are initialized to default values.
-    RK_INLINE surface::surface_properties surface() thread
-    {
-        return surface::surface_properties(data);
-    }
-
-    /// Returns the textures associated with this model, allowing you to retrieve
-    /// and sample textures set on the model.
-    RK_INLINE texture::textures textures() const thread
-    {
-        return texture::textures(surface::api::textures(data));
-    }
-
-    /// Returns the material constants associated with this model. These values
-    /// are constant across a given model, allowing you to access parameters set on
-    /// the CustomMaterial, such as base_color_tint or roughness.
-    RK_INLINE material::material_parameters material_constants() const thread
-    {
-        return material::material_parameters(surface::api::material_constants(data));
-    }
-
-private:
-    thread surface::surface_data_t &data;
-};
-} // namespace realitykit
-
-#endif // __METAL_VERSION__
-#endif // REALITYKIT_SURFACESHADER_H_
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTextures.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTextures.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTextures.h	2021-08-08 22:46:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTextures.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,223 +0,0 @@
-#ifndef REALITYKIT_TEXTURES_H
-#define REALITYKIT_TEXTURES_H
-
-//
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-#if defined(__METAL_VERSION__)
-
-#ifndef __REALITYKIT_INDIRECT
-#error "Please include <RealityKit/RealityKit.h> instead of individual files directly"
-#endif
-
-#include <RealityKit/RealityKitTypes.h>
-
-#include <metal_common>
-#include <metal_geometric>
-#include <metal_texture>
-
-namespace realitykit
-{
-struct surface_parameters;
-struct geometry_parameters;
-
-/// Unpack a tangent-space normal from a two-component texture representation.
-///
-/// @discussion The Z component will be computed from the xy components, and the result
-/// will be normalized.
-///
-/// Call this overload if your texture encodes only the x/y components of the normal,
-/// or your data may not already be normalized. If you don't need re-normalization, call
-/// unpack_normal with three components
-///
-/// @see unpack_normal(half3)
-RK_INLINE half3 unpack_normal(half2 packed_normal)
-{
-    using namespace metal;
-
-    half3 normal;
-    normal.xy = (packed_normal.xy * 2.0h - 1.0h);
-    normal.z = sqrt(1.0h - saturate(dot(normal.xy,normal.xy)));
-    return normal;
-}
-
-/// Unpack a tangent-space normal from a three-component packed texture representation.
-///
-/// @discussion This overload maps a packed normal in the range (0, 1) into (-1, 1). The resulting
-/// normal will not be normalized. To re-normalize the value, call unpack_normal with the xy components.
-///
-/// @see unpack_normal(half2)
-///
-/// @param packed_normal A packed normal where each component is in the range (0, 1).
-///
-RK_INLINE half3 unpack_normal(half3 packed_normal)
-{
-    return packed_normal * 2.0h - 1.0h;
-}
-
-/// Unpack a tangent-space normal from a three component texture representation, and increases
-/// or decreases its intensity.
-///
-/// @discussion The intensity of the normal will be modulated by scaling the x/y components by intensity.
-/// The Z component will then be computed from the xy components, resulting in a normalized value.
-///
-/// @param intensity Values greater than one will increase the intensity, where values smaller
-/// than 1 will reduce the intensity.
-RK_INLINE half3 unpack_normal(half3 packed_normal, half intensity)
-{
-    using namespace metal;
-
-    half3 normal;
-    normal.xy = (packed_normal.xy * 2.0h - 1.0h) * intensity;
-    normal.z = sqrt(1.0h - saturate(dot(normal.xy,normal.xy)));
-    return normal;
-}
-
-namespace texture
-{
-struct texture_data_t;
-
-namespace api
-{
-RK_API metal::texture2d<half> base_color(thread texture_data_t &data);
-RK_API metal::texture2d<half> opacity(thread texture_data_t &data);
-RK_API metal::texture2d<half> normal(thread texture_data_t &data);
-RK_API metal::texture2d<half> emissive_color(thread texture_data_t &data);
-RK_API metal::texture2d<half> roughness(thread texture_data_t &data);
-RK_API metal::texture2d<half> metallic(thread texture_data_t &data);
-RK_API metal::texture2d<half> ambient_occlusion(thread texture_data_t &data);
-RK_API metal::texture2d<half> specular(thread texture_data_t &data);
-RK_API metal::texture2d<half> clearcoat(thread texture_data_t &data);
-RK_API metal::texture2d<half> clearcoat_roughness(thread texture_data_t &data);
-RK_API metal::texture2d<half> custom(thread texture_data_t &data);
-} // namespace api
-
-// MARK: - Textures
-
-/// Provides access to textures that are applied to a model.
-///
-/// @discussion When textures are loaded from a USD, their origin will be in the bottom
-/// left corner, rather than the top left which Metal samples in. To account for this,
-/// flip your UVs vertically before sampling.
-///
-/// @code
-/// constexpr sampler samplerBilinear(coord::normalized,
-///                                   address::repeat,
-///                                   filter::linear,
-///                                   mip_filter::nearest);
-///
-/// float2 uv = params.geometry().uv0();
-///
-/// // Flip uvs vertically.
-/// uv.y = 1.0 - uv.y;
-///
-/// float4 color = params.textures().base_color().sample(samplerBilinear, uv);
-/// @endcode
-///
-/// This is available in both geometry modifier and surface shader functions.
-struct textures
-{
-    RK_INLINE textures(thread texture::texture_data_t &_data)
-        : data(_data)
-    {
-    }
-
-    /// Returns any base color texture assigned to the model.
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> base_color() const thread
-    {
-        return texture::api::base_color(data);
-    }
-
-    /// Returns any opacity texture assigned to the model.
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> opacity() const thread
-    {
-        return texture::api::opacity(data);
-    }
-
-    /// Returns any normal map texture assigned to the model
-    ///
-    /// If no texture is assigned, returns a texture containing a light blue color,
-    /// representing a default normal.
-    RK_INLINE metal::texture2d<half> normal() const thread
-    {
-        return texture::api::normal(data);
-    }
-
-    /// Returns any emissive color texture assigned to the model
-    ///
-    /// If no texture is assigned, returns a texture containing (0,0,0,1).
-    RK_INLINE metal::texture2d<half> emissive_color() const thread
-    {
-        return texture::api::emissive_color(data);
-    }
-
-    /// Returns any roughness texture assigned to the model
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> roughness() const thread
-    {
-        return texture::api::roughness(data);
-    }
-
-    /// Returns any metallic texture assigned to the model
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> metallic() const thread
-    {
-        return texture::api::metallic(data);
-    }
-
-    /// Returns any ambient occlusion texture assigned to the model
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> ambient_occlusion() const thread
-    {
-        return texture::api::ambient_occlusion(data);
-    }
-
-    /// Returns any specular texture assigned to the model
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> specular() const thread
-    {
-        return texture::api::specular(data);
-    }
-
-    /// Returns any clearcoat texture assigned to the model.
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> clearcoat() const thread
-    {
-        return texture::api::clearcoat(data);
-    }
-
-    /// Returns any clearcoat roughness texture assigned to the model.
-    ///
-    /// If no texture is assigned, returns a texture containing (1,1,1,1).
-    RK_INLINE metal::texture2d<half> clearcoat_roughness() const thread
-    {
-        return texture::api::clearcoat_roughness(data);
-    }
-
-    /// Returns a custom texture you have previously set on the CustomMaterial. You can use
-    /// it to store and access any texture data you'd like. It is not otherwise used within RealityKit.
-    ///
-    /// If no texture is assigned, returns a texture containing (0,0,0,1).
-    RK_INLINE metal::texture2d<half> custom() const thread
-    {
-        return texture::api::custom(data);
-    }
-
-private:
-    thread texture::texture_data_t &data;
-};
-
-} // namespace texture
-} // namespace realitykit
-
-#endif // __METAL_VERSION__
-#endif /* REALITYKIT_TEXTURES_H */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTypes.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTypes.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTypes.h	2021-08-02 02:25:01.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/RealityKit.framework/Headers/RealityKitTypes.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,62 +0,0 @@
-#ifndef REALITYKIT_TYPES_H_
-#define REALITYKIT_TYPES_H_
-
-//
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-#if defined(__METAL_VERSION__)
-
-#include <RealityKit/RealityKitConfig.h>
-
-#include <metal_config>
-
-#if __METAL_VERSION__ < 230
-#warning "Metal version 2.3 is required for surface shaders"
-#endif
-
-#if RK_BUILD_TIME_LINKING
-
-// Temporary flags during experimentation or development on older OS'es. In this
-// mode, the shader is linked at compile-time.
-#define RK_API extern
-#define RK_INLINE inline __attribute__((__always_inline__))
-
-#else
-
-#if __HAVE_VISIBLE_FUNCTIONS__
-#define RK_API [[visible]]
-#else
-#define RK_API
-#endif
-
-#define RK_INLINE inline __attribute__((__always_inline__))
-
-#endif
-
-namespace realitykit
-{
-
-namespace geometry_modifier
-{
-struct geometry_data_t;
-}
-
-namespace texture
-{
-struct texture_data_t;
-}
-
-namespace material
-{
-struct material_constants_t;
-}
-
-namespace surface
-{
-struct surface_data_t;
-}
-
-} // namespace realitykit
-
-#endif // __METAL_VERSION__
-#endif // REALITYKIT_TYPES_H_
Clone this wiki locally