diff --git a/assignment-client/src/avatars/ScriptableAvatar.h b/assignment-client/src/avatars/ScriptableAvatar.h index 3ef908bedb..fc796b418f 100644 --- a/assignment-client/src/avatars/ScriptableAvatar.h +++ b/assignment-client/src/avatars/ScriptableAvatar.h @@ -97,8 +97,10 @@ public: /**jsdoc * Starts playing an animation on the avatar. * @function Avatar.startAnimation - * @param {string} url - The animation file's URL. Animation files need to be in the FBX format but only need to contain - * the avatar skeleton and animation data. + * @param {string} url - The animation file's URL. Animation files need to be in glTF or FBX format but only need to + * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs + * respectively). + *
Warning: glTF animations currently do not always animate correctly.
* @param {number} [fps=30] - The frames per second (FPS) rate for the animation playback. 30 FPS is normal speed. * @param {number} [priority=1] - Not used. * @param {boolean} [loop=false] -true
if the animation should loop, false
if it shouldn't.
diff --git a/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
index d562aae70d..632f137339 100644
--- a/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
+++ b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
@@ -184,7 +184,7 @@ Flickable {
wrapMode: Text.Wrap
Component.onCompleted: {
- var gpu = JSON.parse(PlatformInfo.getGPU(0));
+ var gpu = JSON.parse(PlatformInfo.getGPU(PlatformInfo.getMasterGPU()));
var gpuModel = gpu.model;
if (gpuModel.length === 0) {
gpuModel = "Unknown";
@@ -313,7 +313,7 @@ Flickable {
textToCopy += "# CPU Cores: " + PlatformInfo.getNumLogicalCores() + "\n";
textToCopy += "RAM: " + PlatformInfo.getTotalSystemMemoryMB() + " MB\n";
- var gpu = JSON.parse(PlatformInfo.getGPU(0));
+ var gpu = JSON.parse(PlatformInfo.getGPU(PlatformInfo.getMasterGPU()));
var gpuModel = gpu.model;
if (gpuModel.length === 0) {
gpuModel = "Unknown";
diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h
index 73b6ad08ea..ad45df892b 100644
--- a/interface/src/avatar/MyAvatar.h
+++ b/interface/src/avatar/MyAvatar.h
@@ -609,8 +609,10 @@ public:
* the avatar will move in unpredictable ways. For more information about avatar joint orientation standards, see
* Avatar Standards.
* @function MyAvatar.overrideAnimation
- * @param {string} url - The URL to the animation file. Animation files need to be FBX format, but only need to contain the
- * avatar skeleton and animation data.
+ * @param {string} url - The URL to the animation file. Animation files may be in glTF or FBX format, but only need to
+ * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs
+ * respectively).
+ * Warning: glTF animations currently do not always animate correctly.
* @param {number} fps - The frames per second (FPS) rate for the animation playback. 30 FPS is normal speed. * @param {boolean} loop -true
if the animation should loop, false
if it shouldn't.
* @param {number} firstFrame - The frame to start the animation at.
@@ -630,8 +632,10 @@ public:
* Use {@link MyAvatar.restoreHandAnimation} to restore the default poses.
* @function MyAvatar.overrideHandAnimation
* @param isLeft {boolean} true
to override the left hand, false
to override the right hand.
- * @param {string} url - The URL of the animation file. Animation files need to be FBX format, but only need to contain the
- * avatar skeleton and animation data.
+ * @param {string} url - The URL of the animation file. Animation files need to be in glTF or FBX format, but only need to
+ * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs
+ * respectively).
+ * Warning: glTF animations currently do not always animate correctly.
* @param {number} fps - The frames per second (FPS) rate for the animation playback. 30 FPS is normal speed. * @param {boolean} loop -true
if the animation should loop, false
if it shouldn't.
* @param {number} firstFrame - The frame to start the animation at.
@@ -702,19 +706,22 @@ public:
* Each avatar has an avatar-animation.json file that defines a set of animation roles. Animation roles map to easily
* understandable actions that the avatar can perform, such as "idleStand"
, "idleTalk"
, or
* "walkFwd"
. To get the full list of roles, use {@ link MyAvatar.getAnimationRoles}.
- * For each role, the avatar-animation.json defines when the animation is used, the animation clip (FBX) used, and how
- * animations are blended together with procedural data (such as look at vectors, hand sensors etc.).
- * overrideRoleAnimation()
is used to change the animation clip (FBX) associated with a specified animation
- * role. To end the role animation and restore the default, use {@link MyAvatar.restoreRoleAnimation}.
Note: Hand roles only affect the hand. Other 'main' roles, like 'idleStand', 'idleTalk', 'takeoffStand' are full body.
+ * For each role, the avatar-animation.json defines when the animation is used, the animation clip (glTF or FBX) used, and + * how animations are blended together with procedural data (such as look at vectors, hand sensors etc.). + *overrideRoleAnimation()
is used to change the animation clip (glTF or FBX) associated with a specified
+ * animation role. To end the role animation and restore the default, use {@link MyAvatar.restoreRoleAnimation}.
+ * Note: Hand roles only affect the hand. Other "main" roles, like "idleStand", "idleTalk", and "takeoffStand", are full + * body.
*Note: When using pre-built animation data, it's critical that the joint orientation of the source animation and target * rig are equivalent, since the animation data applies absolute values onto the joints. If the orientations are different, * the avatar will move in unpredictable ways. For more information about avatar joint orientation standards, see * Avatar Standards. * @function MyAvatar.overrideRoleAnimation * @param {string} role - The animation role to override - * @param {string} url - The URL to the animation file. Animation files need to be in FBX format, but only need to contain - * the avatar skeleton and animation data. + * @param {string} url - The URL to the animation file. Animation files need to be in glTF or FBX format, but only need to + * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs + * respectively). + *
Warning: glTF animations currently do not always animate correctly.
* @param {number} fps - The frames per second (FPS) rate for the animation playback. 30 FPS is normal speed. * @param {boolean} loop -true
if the animation should loop, false
if it shouldn't.
* @param {number} firstFrame - The frame the animation should start at.
@@ -739,9 +746,9 @@ public:
* Each avatar has an avatar-animation.json file that defines a set of animation roles. Animation roles map to easily
* understandable actions that the avatar can perform, such as "idleStand"
, "idleTalk"
, or
* "walkFwd"
. To get the full list of roles, use {@link MyAvatar.getAnimationRoles}. For each role,
- * the avatar-animation.json defines when the animation is used, the animation clip (FBX) used, and how animations are
- * blended together with procedural data (such as look-at vectors, hand sensors etc.). You can change the animation clip
- * (FBX) associated with a specified animation role using {@link MyAvatar.overrideRoleAnimation}.
+ * the avatar-animation.json defines when the animation is used, the animation clip (glTF or FBX) used, and how animations
+ * are blended together with procedural data (such as look-at vectors, hand sensors etc.). You can change the animation
+ * clip (glTF or FBX) associated with a specified animation role using {@link MyAvatar.overrideRoleAnimation}.
* restoreRoleAnimation()
is used to restore a specified animation role's default animation clip. If you have
* not specified an override animation for the specified role, this function has no effect.
* @function MyAvatar.restoreRoleAnimation
@@ -2042,17 +2049,19 @@ public slots:
void setEnableDebugDrawDefaultPose(bool isEnabled);
/**jsdoc
- * Displays animation debug graphics. By default it shows the animation poses used for rendering.
- * However, the property MyAvatar.setDebugDrawAnimPoseName can be used to draw a specific animation node.
+ * Displays animation debug graphics. By default, the animation poses used for rendering are displayed. However,
+ * {@link MyAvatar.setDebugDrawAnimPoseName} can be used to set a specific animation node to display.
* @function MyAvatar.setEnableDebugDrawAnimPose
* @param {boolean} enabled - true
to show the debug graphics, false
to hide.
*/
void setEnableDebugDrawAnimPose(bool isEnabled);
/**jsdoc
- * If set it determines which animation debug graphics to draw, when MyAvatar.setEnableDebugDrawAnimPose is set to true.
+ * Sets the animation node to display when animation debug graphics are enabled with
+ * {@link MyAvatar.setEnableDebugDrawAnimPose}.
* @function MyAvatar.setDebugDrawAnimPoseName
- * @param {boolean} enabled - true
to show the debug graphics, false
to hide.
+ * @param {string} poseName - The name of the animation node to display debug graphics for. Use ""
to reset to
+ * default.
*/
void setDebugDrawAnimPoseName(QString poseName);
diff --git a/interface/src/scripting/Audio.h b/interface/src/scripting/Audio.h
index 5baeee4176..d3bc6b9449 100644
--- a/interface/src/scripting/Audio.h
+++ b/interface/src/scripting/Audio.h
@@ -66,15 +66,19 @@ class Audio : public AudioScriptingInterface, protected ReadWriteLockable {
* @property {boolean} pushToTalkHMD - true
if HMD push-to-talk is enabled, otherwise false
.
* @property {boolean} pushingToTalk - true
if the user is currently pushing-to-talk, otherwise
* false
.
- * @property {number} avatarGain - The gain (relative volume) that avatars' voices are played at. This gain is used at the server.
- * @property {number} localInjectorGain - The gain (relative volume) that local injectors (local environment sounds) are played at.
- * @property {number} serverInjectorGain - The gain (relative volume) that server injectors (server environment sounds) are played at. This gain is used at the server.
- * @property {number} systemInjectorGain - The gain (relative volume) that system sounds are played at.
- * @property {number} pushingToTalkOutputGainDesktop - The gain (relative volume) that all sounds are played at when the user is holding
- * the push-to-talk key in Desktop mode.
- * @property {boolean} acousticEchoCancellation - true
if audio-echo-cancellation is enabled, otherwise
- * false
. When enabled, sound from the audio output will be suppressed when it echos back to the
- * input audio signal.
+
+ * @property {number} avatarGain - The gain (relative volume in dB) that avatars' voices are played at. This gain is used
+ * at the server.
+ * @property {number} localInjectorGain - The gain (relative volume in dB) that local injectors (local environment sounds)
+ * are played at.
+ * @property {number} serverInjectorGain - The gain (relative volume in dB) that server injectors (server environment
+ * sounds) are played at. This gain is used at the server.
+ * @property {number} systemInjectorGain - The gain (relative volume in dB) that system sounds are played at.
+ * @property {number} pushingToTalkOutputGainDesktop - The gain (relative volume in dB) that all sounds are played at when
+ * the user is holding the push-to-talk key in desktop mode.
+ * @property {boolean} acousticEchoCancellation - true
if acoustic echo cancellation is enabled, otherwise
+ * false
. When enabled, sound from the audio output is suppressed when it echos back to the input audio
+ * signal.
*
* @comment The following properties are from AudioScriptingInterface.h.
* @property {boolean} isStereoInput - true
if the input audio is being used in stereo, otherwise
@@ -301,18 +305,18 @@ public:
Q_INVOKABLE bool getRecording();
/**jsdoc
- * Sets the output volume gain that will be used when the user is holding the Push to Talk key.
+ * Sets the output volume gain that will be used when the user is holding the push-to-talk key.
* Should be negative.
* @function Audio.setPushingToTalkOutputGainDesktop
- * @param {number} gain - The output volume gain (dB) while using PTT.
+ * @param {number} gain - The output volume gain (dB) while using push-to-talk.
*/
Q_INVOKABLE void setPushingToTalkOutputGainDesktop(float gain);
/**jsdoc
- * Gets the output volume gain that is used when the user is holding the Push to Talk key.
+ * Gets the output volume gain that is used when the user is holding the push-to-talk key.
* Should be negative.
* @function Audio.getPushingToTalkOutputGainDesktop
- * @returns {number} gain - The output volume gain (dB) while using PTT.
+ * @returns {number} gain - The output volume gain (dB) while using push-to-talk.
*/
Q_INVOKABLE float getPushingToTalkOutputGainDesktop();
@@ -457,7 +461,7 @@ signals:
/**jsdoc
* Triggered when the avatar gain changes.
* @function Audio.avatarGainChanged
- * @param {number} gain - The new avatar gain value.
+ * @param {number} gain - The new avatar gain value (dB).
* @returns {Signal}
*/
void avatarGainChanged(float gain);
@@ -465,7 +469,7 @@ signals:
/**jsdoc
* Triggered when the local injector gain changes.
* @function Audio.localInjectorGainChanged
- * @param {number} gain - The new local injector gain value.
+ * @param {number} gain - The new local injector gain value (dB).
* @returns {Signal}
*/
void localInjectorGainChanged(float gain);
@@ -473,7 +477,7 @@ signals:
/**jsdoc
* Triggered when the server injector gain changes.
* @function Audio.serverInjectorGainChanged
- * @param {number} gain - The new server injector gain value.
+ * @param {number} gain - The new server injector gain value (dB).
* @returns {Signal}
*/
void serverInjectorGainChanged(float gain);
@@ -481,7 +485,7 @@ signals:
/**jsdoc
* Triggered when the system injector gain changes.
* @function Audio.systemInjectorGainChanged
- * @param {number} gain - The new system injector gain value.
+ * @param {number} gain - The new system injector gain value (dB).
* @returns {Signal}
*/
void systemInjectorGainChanged(float gain);
@@ -489,7 +493,7 @@ signals:
/**jsdoc
* Triggered when the push to talk gain changes.
* @function Audio.pushingToTalkOutputGainDesktopChanged
- * @param {number} gain - The new output gain value.
+ * @param {number} gain - The new output gain value (dB).
* @returns {Signal}
*/
void pushingToTalkOutputGainDesktopChanged(float gain);
diff --git a/interface/src/scripting/PlatformInfoScriptingInterface.h b/interface/src/scripting/PlatformInfoScriptingInterface.h
index f59d476f0c..25cdc99577 100644
--- a/interface/src/scripting/PlatformInfoScriptingInterface.h
+++ b/interface/src/scripting/PlatformInfoScriptingInterface.h
@@ -15,7 +15,7 @@
class QScriptValue;
/**jsdoc
- * The PlatformInfo
API provides information about the computer and controllers being used.
+ * The PlatformInfo
API provides information about the hardware platform being used.
*
* @namespace PlatformInfo
*
@@ -31,6 +31,21 @@ public:
PlatformInfoScriptingInterface();
virtual ~PlatformInfoScriptingInterface();
+ /**jsdoc
+ *
The platform tier of a computer is an indication of its rendering capability.
+ *Value | Name | Description |
---|---|---|
0 | UNKNOWN | Unknown rendering capability. |
1 | LOW | Low-end PC, capable of rendering low-quality graphics. |
2 | MID | Business-class PC, capable of rendering medium-quality graphics. |
3 | HIGH | High-end PC, capable of rendering high-quality graphics. |
"WINDOWS"
, "MACOS"
, or "UNKNOWN"
.
+ * @returns {string} The operating system type: "WINDOWS"
, "MACOS"
, or "UNKNOWN"
.
* @deprecated This function is deprecated and will be removed.
- * use getComputer()["OS"] instead
+ * Use JSON.parse({@link PlatformInfo.getComputer|PlatformInfo.getComputer()}).OS
instead.
*/
QString getOperatingSystemType();
/**jsdoc
- * Gets information on the CPU.
+ * Gets information on the CPU model.
* @function PlatformInfo.getCPUBrand
* @returns {string} Information on the CPU.
- * @example JSON.parse({@link PlatformInfo.getCPU|PlatformInfo.getCPU(0)}).model
instead.
*/
QString getCPUBrand();
@@ -75,27 +85,27 @@ public slots:
* @function PlatformInfo.getNumLogicalCores
* @returns {number} The number of logical CPU cores.
* @deprecated This function is deprecated and will be removed.
- * use getCPU(0)["numCores"] instead
+ * Use JSON.parse({@link PlatformInfo.getCPU|PlatformInfo.getCPU(0)}).numCores
instead.
*/
unsigned int getNumLogicalCores();
/**jsdoc
- * Returns the total system memory in megabytes.
+ * Gets the total amount of usable physical memory, in MB.
* @function PlatformInfo.getTotalSystemMemoryMB
* @returns {number} The total system memory in megabytes.
* @deprecated This function is deprecated and will be removed.
- * use getMemory()["memTotal"] instead
+ * Use JSON.parse({@link PlatformInfo.getMemory|PlatformInfo.getMemory()}).memTotal
instead.
*/
int getTotalSystemMemoryMB();
/**jsdoc
- * Gets the graphics card type.
+ * Gets the model of the graphics card currently being used.
* @function PlatformInfo.getGraphicsCardType
- * @returns {string} The graphics card type.
+ * @returns {string} The model of the graphics card currently being used.
* @deprecated This function is deprecated and will be removed.
- * use getNumGPUs() to know the number of GPUs in the hardware, at least one is expected
- * use getGPU(getMasterGPU())["vendor"] to get the brand of the vendor
- * use getGPU(getMasterGPU())["model"] to get the model name of the gpu
+ * Use JSON.parse({@link PlatformInfo.getGPU|PlatformInfo.getGPU(}
+ * {@link PlatformInfo.getMasterGPU|PlatformInfo.getMasterGPU() )}).model
+ * instead.
*/
QString getGraphicsCardType();
@@ -117,139 +127,150 @@ public slots:
* Checks whether HTML on 3D surfaces (e.g., Web entities) is supported.
* @function PlatformInfo.has3DHTML
* @returns {boolean} true
if the current display supports HTML on 3D surfaces, false
if it
- * doesn't.
+ * doesn't.
*/
bool has3DHTML();
/**jsdoc
* Checks whether Interface is running on a stand-alone HMD device (CPU incorporated into the HMD display).
* @function PlatformInfo.isStandalone
- * @returns {boolean} true
if Interface is running on a stand-alone device, false
if it isn't.
+ * @returns {boolean} true
if Interface is running on a stand-alone HMD device, false
if it isn't.
*/
bool isStandalone();
/**jsdoc
- * Get the number of CPUs.
- * @function PlatformInfo.getNumCPUs
- * @returns {number} The number of CPUs detected on the hardware platform.
- */
+ * Gets the number of CPUs.
+ * @function PlatformInfo.getNumCPUs
+ * @returns {number} The number of CPUs.
+ */
int getNumCPUs();
/**jsdoc
- * Get the index of the master CPU.
- * @function PlatformInfo.getMasterCPU
- * @returns {number} The index of the master CPU detected on the hardware platform.
- */
+ * Gets the index number of the master CPU.
+ * @function PlatformInfo.getMasterCPU
+ * @returns {number} The index of the master CPU.
+ */
int getMasterCPU();
/**jsdoc
- * Get the description of the CPU at the index parameter
- * expected fields are:
- * - cpuVendor...
- * @param index The index of the CPU of the platform
- * @function PlatformInfo.getCPU
- * @returns {string} The CPU description json field
- */
+ * Gets the platform description of a CPU.
+ * @function PlatformInfo.getCPU
+ * @param {number} index - The index number of the CPU.
+ * @returns {string} The CPU's {@link PlatformInfo.CPUDescription|CPUDescription} information as a JSON string.
+ * @example true
if the current hardware can render using the Deferred method; false
otherwise.
- */
+ * Gets whether the current hardware can use deferred rendering.
+ * @function PlatformInfo.isRenderMethodDeferredCapable
+ * @returns {boolean} true
if the current hardware can use deferred rendering, false
if it can't.
+ */
bool isRenderMethodDeferredCapable();
};
diff --git a/interface/src/scripting/RenderScriptingInterface.h b/interface/src/scripting/RenderScriptingInterface.h
index 9b96448c9d..1c2443144a 100644
--- a/interface/src/scripting/RenderScriptingInterface.h
+++ b/interface/src/scripting/RenderScriptingInterface.h
@@ -15,13 +15,20 @@
#include "RenderForward.h"
/**jsdoc
- * The Render
API allows you to configure the graphics engine
+ * The Render
API enables you to configure the graphics engine.
*
* @namespace Render
*
* @hifi-interface
* @hifi-client-entity
* @hifi-avatar
+ *
+ * @property {Render.RenderMethod} renderMethod - The render method being used.
+ * @property {boolean} shadowsEnabled - true
if shadows are enabled, false
if they're disabled.
+ * @property {boolean} ambientOcclusionEnabled - true
if ambient occlusion is enabled, false
if it's
+ * disabled.
+ * @property {boolean} antialiasingEnabled - true
if anti-aliasing is enabled, false
if it's disabled.
+ * @property {number} viewportResolutionScale - The view port resolution scale, > 0.0
.
*/
class RenderScriptingInterface : public QObject {
Q_OBJECT
@@ -36,6 +43,21 @@ public:
static RenderScriptingInterface* getInstance();
+ /**jsdoc
+ * The rendering method is specified by the following values:
+ *Value | Name | Description | + *
---|---|---|
0 | DEFERRED | More complex rendering pipeline where lighting is applied to the + * scene as a whole after all objects have been rendered. |
1 | FORWARD | Simpler rendering pipeline where each object in the scene, in turn, + * is rendered and has lighting applied. |
Warning: For internal, debugging purposes. Subject to change.
* @function Render.getConfig - * @param {string} name - Can be: - * -"DEFERRED"
or "FORWARD"
+ * @returns {Render.RenderMethod} The render method being used.
+ * @example "DEFERRED"
or "FORWARD"
+ * @param {Render.RenderMethod} renderMethod - The render method to use.
*/
void setRenderMethod(RenderMethod renderMethod);
/**jsdoc
- * Gets the possible enum names of the RenderMethod type
- * @function Render.getRenderMethodNames
- * @returns [string] [ "DEFERRED"
, "FORWARD"
]
- */
+ * Gets the names of the possible render methods, per {@link Render.RenderMethod}.
+ * @function Render.getRenderMethodNames
+ * @returns {string[]} The names of the possible render methods.
+ * @example true
if shadows are enabled, otherwise false
+ * @returns {boolean} true
if shadows are enabled, false
if they're disabled.
*/
bool getShadowsEnabled() const;
/**jsdoc
- * Enables or disables shadows
+ * Sets whether or not shadows are enabled.
* @function Render.setShadowsEnabled
- * @param {bool} enabled - true
to enable shadows, false
to disable them
+ * @param {boolean} enabled - true
to enable shadows, false
to disable.
*/
void setShadowsEnabled(bool enabled);
/**jsdoc
- * Whether or not ambient occlusion is enabled
+ * Gets whether or not ambient occlusion is enabled.
* @function Render.getAmbientOcclusionEnabled
- * @returns {bool} true
if ambient occlusion is enabled, otherwise false
+ * @returns {boolean} true
if ambient occlusion is enabled, false
if it's disabled.
*/
bool getAmbientOcclusionEnabled() const;
/**jsdoc
- * Enables or disables ambient occlusion
+ * Sets whether or not ambient occlusion is enabled.
* @function Render.setAmbientOcclusionEnabled
- * @param {bool} enabled - true
to enable ambient occlusion, false
to disable it
+ * @param {boolean} enabled - true
to enable ambient occlusion, false
to disable.
*/
void setAmbientOcclusionEnabled(bool enabled);
/**jsdoc
- * Whether or not anti-aliasing is enabled
+ * Gets whether or not anti-aliasing is enabled.
* @function Render.getAntialiasingEnabled
- * @returns {bool} true
if anti-aliasing is enabled, otherwise false
+ * @returns {boolean} true
if anti-aliasing is enabled, false
if it's disabled.
*/
bool getAntialiasingEnabled() const;
/**jsdoc
- * Enables or disables anti-aliasing
+ * Sets whether or not anti-aliasing is enabled.
* @function Render.setAntialiasingEnabled
- * @param {bool} enabled - true
to enable anti-aliasing, false
to disable it
+ * @param {boolean} enabled - true
to enable anti-aliasing, false
to disable.
*/
void setAntialiasingEnabled(bool enabled);
/**jsdoc
- * Gets the current viewport resolution scale
+ * Gets the view port resolution scale.
* @function Render.getViewportResolutionScale
- * @returns {number}
+ * @returns {number} The view port resolution scale, > 0.0
.
*/
float getViewportResolutionScale() const;
/**jsdoc
- * Sets the current viewport resolution scale
+ * Sets the view port resolution scale.
* @function Render.setViewportResolutionScale
- * @param {number} resolutionScale - between epsilon and 1.0
+ * @param {number} resolutionScale - The view port resolution scale to set, > 0.0
.
*/
void setViewportResolutionScale(float resolutionScale);
signals:
+
+ /**jsdoc
+ * Triggered when one of the Render
API's properties changes.
+ * @function Render.settingsChanged
+ * @returns {Signal}
+ * @example parentID
is set. Use 65535 or -1 to parent to the parent's position and orientation rather
* than a joint.
*
- * @property {string} url - The URL of the FBX or OBJ model used for the overlay.
+ * @property {string} url - The URL of the glTF, FBX, or OBJ model used for the overlay. glTF models may be in JSON or binary
+ * format (".gltf" or ".glb" URLs respectively). Baked models' URLs have ".baked" before the file type. Model files may
+ * also be compressed in GZ format, in which case the URL ends in ".gz".
* @property {number} loadPriority=0.0 - The priority for loading and displaying the overlay. Overlays with higher values load
* first. Currently not used.
* @property {Object.The pointing state of the hands is specified by the following values: -
+ *The pointing state of the hands is specified by the following values:
*Value | Description | @@ -1268,12 +1267,11 @@ public: /**jsdoc * Attaches a model to your avatar. For example, you can give your avatar a hat to wear, a guitar to hold, or a surfboard to * stand on. - *{@link Entities.EntityProperties-Sphere|EntityProperties-Sphere} |
---|---|---|
"Model" | A mesh model from a glTf, FBX, or OBJ file. | + *|
"Model" | A mesh model from a glTF, FBX, or OBJ file. | *{@link Entities.EntityProperties-Model|EntityProperties-Model} |
"Text" | A pane of text oriented in space. | *{@link Entities.EntityProperties-Text|EntityProperties-Text} |
Value | Description |
---|---|
"WINDOWS" | Windows. |
"MACOS" | Mac OS. |
"LINUX" | Linux. |
"ANDROID" | Android. |
DebugDraw
API renders debug markers and lines. These markers are only visible locally; they are not visible
+ * to other users.
+ *
* @namespace DebugDraw
*
* @hifi-interface
@@ -41,57 +42,107 @@ public:
~DebugDraw();
/**jsdoc
- * Draws a line in world space, but it will only be visible for a single frame.
+ * Draws a line in world space, visible for a single frame. To make the line visually persist, you need to repeatedly draw
+ * it.
* @function DebugDraw.drawRay
- * @param {Vec3} start - start position of line in world space.
- * @param {Vec3} end - end position of line in world space.
- * @param {Vec4} color - color of line, each component should be in the zero to one range. x = red, y = blue, z = green, w = alpha.
+ * @param {Vec3} start - The start position of the line, in world coordinates.
+ * @param {Vec3} end - The end position of the line, in world coordinates.
+ * @param {Vec4} color - The color of the line. Each component should be in the range 0.0
–
+ * 1.0
, with x
= red, y
= green, z
= blue, and w
= alpha.
+ * @example Note: Currently doesn't work.
+ * @function DebugDraw.drawRays
+ * @param {Vec3Pair[]} lines - The start and end points of the lines to draw.
+ * @param {Vec4} color - The color of the lines. Each component should be in the range 0.0
–
+ * 1.0
, with x
= red, y
= green, z
= blue, and w
= alpha.
+ * @param {Vec3} [translation=0,0,0] - A translation applied to each line.
+ * @param {Quat} [rotation=Quat.IDENTITY] - A rotation applied to each line.
+ * @example
name
+ * already exists, its parameters are updated.
* @function DebugDraw.addMarker
- * @param {string} key - name to uniquely identify this marker, later used for DebugDraw.removeMarker.
- * @param {Quat} rotation - start position of line in world space.
- * @param {Vec3} position - position of the marker in world space.
- * @param {Vec4} color - color of the marker.
+ * @param {string} key - A name that uniquely identifies the marker.
+ * @param {Quat} rotation - The orientation of the marker in world coordinates.
+ * @param {Vec3} position - The position of the market in world coordinates.
+ * @param {Vec4} color - The color of the marker.
+ * @example name
already exists, its parameters are updated. The debug marker moves with your avatar.
* @function DebugDraw.addMyAvatarMarker
- * @param {string} key - name to uniquely identify this marker, later used for DebugDraw.removeMyAvatarMarker.
- * @param {Quat} rotation - start position of line in avatar space.
- * @param {Vec3} position - position of the marker in avatar space.
+ * @param {string} key - A name that uniquely identifies the marker.
+ * @param {Quat} rotation - The orientation of the marker in avatar coordinates.
+ * @param {Vec3} position - The position of the market in avatar coordinates.
* @param {Vec4} color - color of the marker.
+ * @example Warning: glTF animations currently do not always animate correctly.
* @property {number} fps - The frames per second(FPS) rate for the animation playback. 30 FPS is normal speed. * @property {number} priority - Not used. * @property {boolean} loop -true
if the animation should loop, false
if it shouldn't.
diff --git a/libraries/task/src/task/Config.h b/libraries/task/src/task/Config.h
index ab76bc5fba..75cecb5f18 100644
--- a/libraries/task/src/task/Config.h
+++ b/libraries/task/src/task/Config.h
@@ -109,14 +109,14 @@ public:
virtual void setPresetList(const QJsonObject& object);
/**jsdoc
- * @function Render.toJSON
+ * @function Workload.toJSON
* @returns {string}
*/
// This must be named toJSON to integrate with the global scripting JSON object
Q_INVOKABLE QString toJSON() { return QJsonDocument(toJsonValue(*this).toObject()).toJson(QJsonDocument::Compact); }
/**jsdoc
- * @function Render.load
+ * @function Workload.load
* @param {object} map
*/
Q_INVOKABLE void load(const QVariantMap& map) { qObjectFromJsonValue(QJsonObject::fromVariantMap(map), *this); emit loaded(); }
@@ -130,25 +130,25 @@ public:
// Describe the node graph data connections of the associated Job/Task
/**jsdoc
- * @function Render.isTask
+ * @function Workload.isTask
* @returns {boolean}
*/
Q_INVOKABLE virtual bool isTask() const { return false; }
/**jsdoc
- * @function Render.getSubConfigs
+ * @function Workload.getSubConfigs
* @returns {object[]}
*/
Q_INVOKABLE virtual QObjectList getSubConfigs() const { return QObjectList(); }
/**jsdoc
- * @function Render.getNumSubs
+ * @function Workload.getNumSubs
* @returns {number}
*/
Q_INVOKABLE virtual int getNumSubs() const { return 0; }
/**jsdoc
- * @function Render.getSubConfig
+ * @function Workload.getSubConfig
* @param {number} index
* @returns {object}
*/
@@ -162,32 +162,32 @@ public:
public slots:
/**jsdoc
- * @function Render.load
+ * @function Workload.load
* @param {object} map
*/
void load(const QJsonObject& val) { qObjectFromJsonValue(val, *this); emit loaded(); }
/**jsdoc
- * @function Render.refresh
+ * @function Workload.refresh
*/
void refresh();
signals:
/**jsdoc
- * @function Render.loaded
+ * @function Workload.loaded
* @returns {Signal}
*/
void loaded();
/**jsdoc
- * @function Render.newStats
+ * @function Workload.newStats
* @returns {Signal}
*/
void newStats();
/**jsdoc
- * @function Render.dirtyEnabled
+ * @function Workload.dirtyEnabled
* @returns {Signal}
*/
void dirtyEnabled();
@@ -202,7 +202,7 @@ public:
/**jsdoc
- * @namespace Render
+ * @namespace Workload
*
* @hifi-interface
* @hifi-client-entity
@@ -221,7 +221,7 @@ public:
TaskConfig(bool enabled) : JobConfig(enabled) {}
/**jsdoc
- * @function Render.getConfig
+ * @function Workload.getConfig
* @param {string} name
* @returns {object}
*/
diff --git a/tools/jsdoc/plugins/hifi.js b/tools/jsdoc/plugins/hifi.js
index a7c62cfc6d..67dafe5a16 100644
--- a/tools/jsdoc/plugins/hifi.js
+++ b/tools/jsdoc/plugins/hifi.js
@@ -56,6 +56,7 @@ exports.handlers = {
'../../libraries/networking/src',
'../../libraries/octree/src',
'../../libraries/physics/src',
+ '../../libraries/platform/src/platform/backend',
'../../libraries/plugins/src/plugins',
'../../libraries/pointers/src',
'../../libraries/render-utils/src',