多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > three.js 源碼注釋(二十六)Core/BufferAttribute.js

three.js 源碼注釋(二十六)Core/BufferAttribute.js

來源:程序員人生   發布時間:2014-12-23 08:37:54 閱讀次數:3328次

商域無疆 (http://blog.csdn.net/omni360/)

本文遵守“署名-非商業用處-保持1致”創作公用協議

轉載請保存此句:商域無疆 -  本博客專注于 敏捷開發及移動和物聯裝備研究:數據可視化、GOLANG、Html5、WEBGL、THREE.JS否則,出自本博客的文章謝絕轉載或再轉載,謝謝合作。


俺也是剛開始學,好多地兒肯定不對還請見諒.

以下代碼是THREE.JS 源碼文件中Core/BufferAttribute.js文件的注釋.

更多更新在 : https://github.com/omni360/three.js.sourcecode


/** * @author mrdoob / http://mrdoob.com/ */ /* ///BufferAttribute類用來存儲于bufferGeometry相干聯的屬性數據,更多細節可以參考官方的樣例http://threejs.org/ /// 這個類用來存儲內置屬性例如頂點位置,法線,色彩,等,但也能夠用于存儲bufferGeometry對象的自定義屬性. ///BufferAttribute對象的功能函數采取定義構造的函數原型對象來實現. /// TODO:增加1個基類setAttr(index,item,itemSize)根據跟多不同的屬性相長度設置屬性 /// */ ///<summary>BufferAttribute</summary> ///<param name ="array" type="Array">屬性數組</param> ///<param name ="itemSize" type="number">屬性相長度</param> ///<returns type="BufferAttribute">返回新的屬性數組</returns> THREE.BufferAttribute = function ( array, itemSize ) { this.array = array; //BufferAttribute的array屬性 this.itemSize = itemSize; //BufferAttribute的itemSize屬性 }; /**************************************** ****下面是BufferAttribute對象提供的功能函數. ****************************************/ THREE.BufferAttribute.prototype = { constructor: THREE.BufferAttribute, //構造器,返回對創建此對象BufferAttribute函數的援用. /* ///get length 方法用來獲得BufferAttribute的數組長度 ///NOTE: get length()BufferAttribute.prototype.length(),這類用法在除ie閱讀器之外的閱讀器上可使用. */ ///<summary>get length</summary> ///<returns type="number">返回BufferAttribute的數組長度</returns> get length () { return this.array.length; //返回BufferAttribute的數組長度 }, /* ///set方法用來重新設置BufferAttribute的屬性數組 */ ///<summary>set</summary> ///<param name ="value" type="Array">屬性數組</param> ///<returns type="BufferAttribute">返回新的BufferAttribute屬性對象</returns> set: function ( value ) { this.array.set( value ); return this; //返回新的BufferAttribute屬性對象 }, /* ///setX方法用來重新設置含有3個屬性相的BufferAttribute屬性數組的第1個份量 /// NOTE:setX方法中,屬性數組的長度是屬性相的長度乘以屬性的個數.比如要寄存100個點的坐標,坐標有3個屬性相,那末屬性數組的長度是300,如果想改變第30個點的x坐標就將index設為30 */ ///<summary>setX</summary> ///<param name ="index" type="Number">屬性數組的索引</param> ///<param name ="x" type="Number">屬性數組的第1個份量</param> ///<returns type="BufferAttribute">返回新的BufferAttribute屬性對象</returns> setX: function ( index, x ) { this.array[ index * this.itemSize ] = x; return this; //返回新的BufferAttribute屬性對象 }, /* ///setY方法用來重新設置含有3個屬性相的BufferAttribute屬性數組的第2個份量 /// NOTE:setY方法中,屬性數組的長度是屬性相的長度乘以屬性的個數.比如要寄存100個點的坐標,坐標有3個屬性相,那末屬性數組的長度是300,如果想改變第30個點的Y坐標就將index設為30 */ ///<summary>setY</summary> ///<param name ="index" type="Number">屬性數組的索引</param> ///<param name ="y" type="Number">屬性數組的第1個份量</param> ///<returns type="BufferAttribute">返回新的BufferAttribute屬性對象</returns> setY: function ( index, y ) { this.array[ index * this.itemSize + 1 ] = y; return this; //返回新的BufferAttribute屬性對象 }, /* ///setZ方法用來重新設置含有3個屬性相的BufferAttribute屬性數組的第3個份量 /// NOTE:setY方法中,屬性數組的長度是屬性相的長度乘以屬性的個數.比如要寄存100個點的坐標,坐標有3個屬性相,那末屬性數組的長度是300,如果想改變第30個點的Z坐標就將index設為30 */ ///<summary>setZ</summary> ///<param name ="index" type="Number">屬性數組的索引</param> ///<param name ="z" type="Number">屬性數組的第1個份量</param> ///<returns type="BufferAttribute">返回新的BufferAttribute屬性對象</returns> setZ: function ( index, z ) { this.array[ index * this.itemSize + 2 ] = z; return this; //返回新的BufferAttribute屬性對象 }, /* ///setXY方法用來重新設置含有3個屬性相的BufferAttribute屬性數組的第1個和第2個份量 /// NOTE:setXY方法中,屬性數組的長度是屬性相的長度乘以屬性的個數.比如要寄存100個點的坐標,坐標有3個屬性相,那末屬性數組的長度是300,如果想改變第30個點的x,y坐標就將index設為30 */ ///<summary>setXY</summary> ///<param name ="index" type="Number">屬性數組的索引</param> ///<param name ="x" type="Number">屬性數組的第1個份量</param> ///<param name ="y" type="Number">屬性數組的第2個份量</param> ///<returns type="BufferAttribute">返回新的BufferAttribute屬性對象</returns> setXY: function ( index, x, y ) { index *= this.itemSize; this.array[ index ] = x; this.array[ index + 1 ] = y; return this; //返回新的BufferAttribute屬性對象 }, /* ///setXYZ方法用來重新設置含有3個屬性相的BufferAttribute屬性數組的第1個,第2個和第3個份量 /// NOTE:setXY方法中,屬性數組的長度是屬性相的長度乘以屬性的個數.比如要寄存100個點的坐標,坐標有3個屬性相,那末屬性數組的長度是300,如果想改變第30個點的x,y,z坐標就將index設為30 */ ///<summary>setXYZ</summary> ///<param name ="index" type="Number">屬性數組的索引</param> ///<param name ="x" type="Number">屬性數組的第1個份量</param> ///<param name ="y" type="Number">屬性數組的第2個份量</param> ///<param name ="z" type="Number">屬性數組的第3個份量</param> ///<returns type="BufferAttribute">返回新的BufferAttribute屬性對象</returns> setXYZ: function ( index, x, y, z ) { index *= this.itemSize; this.array[ index ] = x; this.array[ index + 1 ] = y; this.array[ index + 2 ] = z; return this; //返回新的BufferAttribute屬性對象 }, /* ///setXYZW方法用來重新設置含有3個屬性相的BufferAttribute屬性數組的第1個,第2個和第3個,第4個份量 /// NOTE:setXYZW方法中,屬性數組的長度是屬性相的長度乘以屬性的個數.比如要寄存100個點的坐標,坐標有4個屬性相,那末屬性數組的長度是400,如果想改變第30個點的x,y,z,w坐標就將index設為30 */ ///<summary>setXYZW</summary> ///<param name ="index" type="Number">屬性數組的索引</param> ///<param name ="x" type="Number">屬性數組的第1個份量</param> ///<param name ="y" type="Number">屬性數組的第2個份量</param> ///<param name ="z" type="Number">屬性數組的第3個份量</param> ///<param name ="w" type="Number">屬性數組的第4個份量</param> ///<returns type="BufferAttribute">返回新的BufferAttribute屬性對象</returns> setXYZW: function ( index, x, y, z, w ) { index *= this.itemSize; this.array[ index ] = x; this.array[ index + 1 ] = y; this.array[ index + 2 ] = z; this.array[ index + 3 ] = w; return this; //返回新的BufferAttribute屬性對象 } }; /********************************************************************************** ****下面這些方法是定義不同數據類型的屬性,已在新版本中刪除,這里保存是為了向后兼容. ***********************************************************************************/ THREE.Int8Attribute = function ( data, itemSize ) { console.warn( 'THREE.Int8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Uint8Attribute = function ( data, itemSize ) { console.warn( 'THREE.Uint8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Uint8ClampedAttribute = function ( data, itemSize ) { console.warn( 'THREE.Uint8ClampedAttribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Int16Attribute = function ( data, itemSize ) { console.warn( 'THREE.Int16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Uint16Attribute = function ( data, itemSize ) { console.warn( 'THREE.Uint16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Int32Attribute = function ( data, itemSize ) { console.warn( 'THREE.Int32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Uint32Attribute = function ( data, itemSize ) { console.warn( 'THREE.Uint32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Float32Attribute = function ( data, itemSize ) { console.warn( 'THREE.Float32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); }; THREE.Float64Attribute = function ( data, itemSize ) { console.warn( 'THREE.Float64Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.' ); return new THREE.BufferAttribute( data, itemSize ); };


商域無疆 (http://blog.csdn.net/omni360/)

本文遵守“署名-非商業用處-保持1致”創作公用協議

轉載請保存此句:商域無疆 -  本博客專注于 敏捷開發及移動和物聯裝備研究:數據可視化、GOLANG、Html5、WEBGL、THREE.JS否則,出自本博客的文章謝絕轉載或再轉載,謝謝合作。


以下代碼是THREE.JS 源碼文件中Core/BufferAttribute.js文件的注釋.

更多更新在 : https://github.com/omni360/three.js.sourcecode

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品的一区二区三区 | 麻豆影 | 嫩草影院精品视频在线观看 | 最近中文字幕免费2019 | 91精品一区二区三区在线 | 久久96精品国产 | 伊人亚洲 | 国产精品久久久久久久久久久久 | 一级欧美一级日韩片 | 在线中文字幕网站 | 国产精品视屏 | 黑人性xxxⅹxxbbbbb| 婷婷伊人久久 | 欧美日韩午夜视频 | 久久久免费精品视频 | 亚洲激情视频在线播放 | 国产精品一区欧美激情 | 国产精品久久久久久久久久妇女 | 狂野欧美性猛交xxxx乱大交 | 抖音毛片 | 最近最新高清免费中文字幕 | 国产老肥妇视频 | 精品无码中出一区二区 | 伊人成人久久 | 五月天综合| 欧美黑人巨大xxxxx视频 | 色黄网址 | 欧美黑人乱大交ⅹxxxxx | 免费一级毛片在线观看 | 亚洲成人小视频 | 日本在线视频二区 | 精品不卡一区中文字幕 | 亚洲国产一区二区三区四区五区 | 欧美极度另类精品 | 日本乱妇18日本乱妇18p | 天堂黄色网 | 国产精品免费_区二区三区观看 | jiizzyou欧美18| 亚洲精品高清久久 | 国产老肥熟xxxx | 国产高清精品一区 |