Skip to content

Commit

Permalink
docs: update jsdoc comments
Browse files Browse the repository at this point in the history
  • Loading branch information
06wj committed Sep 1, 2020
1 parent 1e98b31 commit 72d7613
Show file tree
Hide file tree
Showing 16 changed files with 181 additions and 32 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"devDependencies": {
"@babel/core": "^7.1.0",
"@babel/preset-env": "^7.1.0",
"@hilo/tsd-jsdoc": "^0.1.0",
"@hilo/tsd-jsdoc": "^0.1.5",
"babel-loader": "^8.0.2",
"conventional-changelog-cli": "^2.0.31",
"del": "^3.0.0",
Expand Down
7 changes: 7 additions & 0 deletions src/camera/OrthographicCamera.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,13 @@ const OrthographicCamera = Class.create(/** @lends OrthographicCamera.prototype
/**
* @constructs
* @param {object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {number} [params.left=1]
* @param {number} [params.right=1]
* @param {number} [params.top=1]
* @param {number} [params.bottom=1]
* @param {number} [params.near=0.1]
* @param {number} [params.far=1]
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
OrthographicCamera.superclass.constructor.call(this, params);
Expand Down
7 changes: 6 additions & 1 deletion src/camera/PerspectiveCamera.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,12 @@ const PerspectiveCamera = Class.create(/** @lends PerspectiveCamera.prototype */

/**
* @constructs
* @param {object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {number} [params.fov=50] 相机视野大小,角度制
* @param {number} [params.near=0.1] 相机视锥体近平面z
* @param {number} [params.far=null] 相机视锥体远平面z,null 时为无限远
* @param {number} [params.aspect=1] 宽高比
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
PerspectiveCamera.superclass.constructor.call(this, params);
Expand Down
16 changes: 6 additions & 10 deletions src/core/Class.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,10 @@ export default Class;
/**
* @memberOf Class
* @method create
* @param {ClassProperty | Object} props
*/

/**
* 类属性
* @interface ClassProperty
* @property {Object} [Statics] 静态属性
* @property {Object} [Extends] 继承
* @property {Object} [Mixes] mixes
* @property {Function} [constructor] 构造函数
* @param {Object} params 类属性
* @param {Object} [params.Statics] 静态属性
* @param {Object} [params.Extends] 继承
* @param {Object} [params.Mixes] mixes
* @param {Function} [params.constructor] 构造函数
* @param {any} [params.[value:string]] 其它属性
*/
5 changes: 4 additions & 1 deletion src/core/Mesh.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@ const Mesh = Class.create(/** @lends Mesh.prototype */ {
frustumTest: true,
/**
* @constructs
* @param {object} [params] 初始化参数,所有params都会复制到实例上
* @param {Object} [params] 初始化参数,所有params都会复制到实例上
* @param {Geometry} [params.geometry] 几何体
* @param {Material} [params.material] 材质
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
Mesh.superclass.constructor.call(this, params);
Expand Down
26 changes: 15 additions & 11 deletions src/core/Stage.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,19 +72,23 @@ const Stage = Class.create(/** @lends Stage.prototype */ {
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性,所有属性会透传给 Renderer。
* @param {HTMLElement} [params.container] stage的容器, 如果有,会把canvas加进container里。
* @param {HTMLCanvasElement} [params.canvas] stage的canvas,不传会自动创建。
* @param {Number} [params.pixelRatio=根据设备自动判断] 像素密度。
* @param {Camera} [params.camera] stage的摄像机。
* @param {number} [params.width=innerWidth] stage的宽,默认网页宽度
* @param {number} [params.height=innerHeight] stage的高,默认网页高度
* @param {number} [params.pixelRatio=根据设备自动判断] 像素密度。
* @param {Color} [params.clearColor=new Color(1, 1, 1, 1)] 背景色。
* @param {Boolean} [params.useFramebuffer=false] 是否使用Framebuffer,有后处理需求时需要。
* @param {boolean} [params.useFramebuffer=false] 是否使用Framebuffer,有后处理需求时需要。
* @param {Object} [params.framebufferOption={}] framebufferOption Framebuffer的配置,useFramebuffer为true时生效。
* @param {Boolean} [params.useLogDepth=false] 是否使用对数深度,处理深度冲突。
* @param {Boolean} [params.alpha=false] 是否背景透明。
* @param {Boolean} [params.depth=true] 是否需要深度缓冲区。
* @param {Boolean} [params.stencil=false] 是否需要模版缓冲区。
* @param {Boolean} [params.antialias=true] 是否抗锯齿。
* @param {Boolean} [params.premultipliedAlpha=true] 是否需要 premultipliedAlpha。
* @param {Boolean} [params.preserveDrawingBuffer=false] 是否需要 preserveDrawingBuffer。
* @param {Boolean} [params.failIfMajorPerformanceCaveat=false] 是否需要 failIfMajorPerformanceCaveat。
* @param {Boolean} [params.gameMode=false] 是否开启游戏模式,UC 浏览器专用
* @param {boolean} [params.useLogDepth=false] 是否使用对数深度,处理深度冲突。
* @param {boolean} [params.alpha=false] 是否背景透明。
* @param {boolean} [params.depth=true] 是否需要深度缓冲区。
* @param {boolean} [params.stencil=false] 是否需要模版缓冲区。
* @param {boolean} [params.antialias=true] 是否抗锯齿。
* @param {boolean} [params.premultipliedAlpha=true] 是否需要 premultipliedAlpha。
* @param {boolean} [params.preserveDrawingBuffer=false] 是否需要 preserveDrawingBuffer。
* @param {boolean} [params.failIfMajorPerformanceCaveat=false] 是否需要 failIfMajorPerformanceCaveat。
* @param {boolean} [params.gameMode=false] 是否开启游戏模式,UC 浏览器专用
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
if (!params.width) {
Expand Down
9 changes: 8 additions & 1 deletion src/geometry/BoxGeometry.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,14 @@ const BoxGeometry = Class.create(/** @lends BoxGeometry.prototype */ {
depthSegments: 1,
/**
* @constructs
* @param {object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {number} [params.width=1] box的宽度
* @param {number} [params.height=1] box的高度
* @param {number} [params.depth=1] box的深度
* @param {number} [params.widthSegments=1] 水平分割面的数量
* @param {number} [params.heightSegments=1] 垂直分割面的数量
* @param {number} [params.depthSegments=1] 深度分割面的数量
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
BoxGeometry.superclass.constructor.call(this, params);
Expand Down
5 changes: 5 additions & 0 deletions src/geometry/PlaneGeometry.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@ const PlaneGeometry = Class.create(/** @lends PlaneGeometry.prototype */ {
/**
* @constructs
* @param {object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {number} [params.width=1] 宽度
* @param {number} [params.height=1] 高度
* @param {number} [params.widthSegments=1] 水平分割面的数量
* @param {number} [params.heightSegments=1] 垂直分割面的数量
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
PlaneGeometry.superclass.constructor.call(this, params);
Expand Down
6 changes: 5 additions & 1 deletion src/geometry/SphereGeometry.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,11 @@ const SphereGeometry = Class.create(/** @lends SphereGeometry.prototype */ {
widthSegments: 32,
/**
* @constructs
* @param {object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {number} [params.radius=1] 半径
* @param {number} [params.heightSegments=16] 垂直分割面的数量
* @param {number} [params.widthSegments=32] 水平分割面的数量
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
SphereGeometry.superclass.constructor.call(this, params);
Expand Down
4 changes: 3 additions & 1 deletion src/light/AmbientLight.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ const AmbientLight = Class.create(/** @lends AmbientLight.prototype */{
autoUpdateWorldMatrix: false,
/**
* @constructs
* @override
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {Color} [params.color=new Color(1, 1, 1)] 光颜色
* @param {number} [params.amount=1] 光强度
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
AmbientLight.superclass.constructor.call(this, params);
Expand Down
4 changes: 4 additions & 0 deletions src/light/DirectionalLight.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ const DirectionalLight = Class.create(/** @lends DirectionalLight.prototype */ {
/**
* @constructs
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {Color} [params.color=new Color(1, 1, 1)] 光颜色
* @param {number} [params.amount=1] 光强度
* @param {Vector3} [params.direction=new Vector3(0, 0, 1)] 光方向
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
/**
Expand Down
4 changes: 4 additions & 0 deletions src/light/PointLight.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ const PointLight = Class.create(/** @lends PointLight.prototype */ {
/**
* @constructs
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {Color} [params.color=new Color(1, 1, 1)] 光颜色
* @param {number} [params.amount=1] 光强度
* @param {number} [params.range=0] 光照范围, 0 时代表光照范围无限大。
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
PointLight.superclass.constructor.call(this, params);
Expand Down
7 changes: 7 additions & 0 deletions src/light/SpotLight.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,13 @@ const SpotLight = Class.create(/** @lends SpotLight.prototype */{
/**
* @constructs
* @param {Object} [params] 创建对象的属性参数。可包含此类的所有属性。
* @param {Color} [params.color=new Color(1, 1, 1)] 光颜色
* @param {number} [params.amount=1] 光强度
* @param {number} [params.range=0] 光照范围, 0 时代表光照范围无限大。
* @param {Vector3} [params.direction=new Vector3(0, 0, 1)] 光方向
* @param {number} [params.cutoff=12.5] 切光角(角度),落在这个角度之内的光亮度为1
* @param {number} [params.outerCutoff=17.5] 外切光角(角度),在切光角合外切光角之间的光亮度渐变到0
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
/**
Expand Down
14 changes: 13 additions & 1 deletion src/material/BasicMaterial.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,19 @@ const BasicMaterial = Class.create(/** @lends BasicMaterial.prototype */ {
usedUniformVectors: 11,
/**
* @constructs
* @param {object} [params] 初始化参数,所有params都会复制到实例上
* @param {Object} [params] 初始化参数,所有params都会复制到实例上
* @param {string} [params.lightType=BLINN-PHONG] 光照类型,支持: NONE, PHONG, BLINN-PHONG, LAMBERT
* @param {Texture|Color} [params.diffuse=new Color(.5, .5, .5)] 漫反射贴图,或颜色
* @param {Texture|Color} [params.ambient] 环境光贴图,或颜色
* @param {Texture|Color} [params.specular=new Color(1, 1, 1)] 镜面贴图,或颜色
* @param {Texture|Color} [params.emission=new Color(0, 0, 0)] 放射光贴图,或颜色
* @param {Texture} [params.specularEnvMap] 环境贴图
* @param {Matrix4} [params.specularEnvMatrix] 环境贴图变化矩阵,如旋转等
* @param {number} [params.reflectivity=0] 反射率
* @param {number} [params.refractRatio=0] 折射比率
* @param {number} [params.refractivity=0] 折射率
* @param {number} [params.shininess=32] 高光发光值
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
this.diffuse = new Color(.5, .5, .5);
Expand Down
25 changes: 21 additions & 4 deletions src/material/PBRMaterial.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const PBRMaterial = Class.create(/** @lends PBRMaterial.prototype */ {
className: 'PBRMaterial',

/**
* 光照类型,只能为 PBR
* 光照类型,只能为 PBR 或 NONE
* @default PBR
* @readOnly
* @type {string}
Expand Down Expand Up @@ -143,7 +143,7 @@ const PBRMaterial = Class.create(/** @lends PBRMaterial.prototype */ {
brdfLUT: null,

/**
* 环境反射(Specular IBL)贴图
* 环境反射(Specular IBL)贴图强度
* @default 1
* @type {Number}
*/
Expand All @@ -165,7 +165,7 @@ const PBRMaterial = Class.create(/** @lends PBRMaterial.prototype */ {

/**
* 放射光贴图(sRGB 空间),或颜色
* @default Color(0, 0, 0)
* @default null
* @type {Texture|Color}
*/
emission: null,
Expand Down Expand Up @@ -203,7 +203,24 @@ const PBRMaterial = Class.create(/** @lends PBRMaterial.prototype */ {

/**
* @constructs
* @param {object} [params] 初始化参数,所有params都会复制到实例上
* @param {Object} [params] 初始化参数,所有params都会复制到实例上
* @param {string} [params.lightType=PBR] 光照类型,只能为 PBR 或 NONE
* @param {Color} [params.baseColor=new Color(1, 1, 1)] 基础颜色
* @param {Texture} [params.baseColorMap] 基础颜色贴图(sRGB空间)
* @param {number} [params.metallic=1] 金属度
* @param {Texture} [params.metallicMap] 金属度贴图
* @param {number} [params.roughness=1] 粗糙度
* @param {Texture} [params.roughnessMap] 粗糙度贴图
* @param {Texture} [params.occlusionMap] 环境光遮蔽贴图
* @param {number} [params.occlusionStrength=1] 环境光遮蔽强度
* @param {Texture|Color} [params.emission] 放射光贴图(sRGB 空间),或颜色
* @param {Texture} [params.diffuseEnvMap] 漫反射辐照(Diffuse IBL)贴图
* @param {SphericalHarmonics3} [params.diffuseEnvSphereHarmonics3] 漫反射 SphericalHarmonics3
* @param {number} [params.diffuseEnvIntensity=1] 漫反射强度
* @param {Texture} [params.specularEnvMap] 环境反射(Specular IBL)贴图
* @param {Texture} [params.brdfLUT] BRDF贴图,跟环境反射贴图一起使用
* @param {number} [params.specularEnvIntensity=1] 环境反射(Specular IBL)贴图强度
* @param {any} [params.[value:string]] 其它属性
*/
constructor(params) {
this.baseColor = new Color(1, 1, 1);
Expand Down
72 changes: 72 additions & 0 deletions src/utils/Ticker.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,76 @@
*/
import Ticker from 'hilojs/util/Ticker';

/**
* 添加定时器对象。定时器对象必须实现 tick 方法。
* @memberOf Ticker.prototype
* @method addTick
* @param {Object} tickObject
*/

/**
* 删除定时器对象。
* @memberOf Ticker.prototype
* @method removeTick
* @param {Object} tickObject
*/

/**
* 开始计时器
* @memberOf Ticker.prototype
* @method start
*/

/**
* 停止计时器
* @memberOf Ticker.prototype
* @method stop
*/

/**
* 暂停计时器
* @memberOf Ticker.prototype
* @method pause
*/

/**
* 恢复计时器
* @memberOf Ticker.prototype
* @method resume
*/

/**
* 延迟指定的时间后调用回调, 类似setTimeout
* @memberOf Ticker.prototype
* @method timeout
* @param {Function} callback
* @param {number} duration 时间周期,单位毫秒
* @returns {Object} tickObject 定时器对象
*/

/**
* 指定的时间周期来调用函数, 类似setInterval
* @memberOf Ticker.prototype
* @method interval
* @param {Function} callback
* @param {number} duration 时间周期,单位毫秒
* @returns {Object} tickObject 定时器对象
*/

/**
* 下次tick时回调
* @memberOf Ticker.prototype
* @method nextTick
* @param {Function} callback
* @returns {Object} tickObject 定时器对象
*/

/**
* 获得测定的运行时帧率。
* @memberOf Ticker.prototype
* @method getMeasuredFPS
* @returns {number}
*/


export default Ticker;

0 comments on commit 72d7613

Please sign in to comment.