import {ObjectBase} from '../../common/lang/ObjectBase'; import {Vector2} from '../../math/Vector2'; import {SamplerFilterEnum} from '../core/SamplerFilterEnum'; import {TextureEnum} from './TextureEnum'; import {TextureFormatEnum} from './TextureFormatEnum'; //========================================================== // 渲染纹理。 // // @author maocy // @history 141230 //========================================================== export class Texture extends ObjectBase { // 代码 public code: string; // 准备好 public ready: boolean; // 纹理类型 public textureCd: TextureEnum; // 开始位置 public offset: Vector2; // 重复单位 public repeat: Vector2; // MIN取样 public filterMinCd: SamplerFilterEnum; // MAG取样 public filterMagCd: SamplerFilterEnum; // S缠绕 public wrapS: SamplerFilterEnum; // T缠绕 public wrapT: SamplerFilterEnum; // 内置格式类型 public formatInternalCd: TextureFormatEnum; // 格式类型 public formatCd: TextureFormatEnum; // 格式类型类型 public formatTypeCd: TextureFormatEnum; // 地址 public url: string; // 加载状态 public statusLoad: boolean; // 脏状态 public statusDirty: boolean; //========================================================== // 构造处理。 //========================================================== public constructor() { super(); // 设置属性 this.filterMinCd = SamplerFilterEnum.Linear; this.filterMagCd = SamplerFilterEnum.Linear; this.wrapS = SamplerFilterEnum.Repeat; this.wrapT = SamplerFilterEnum.Repeat; this.formatInternalCd = TextureFormatEnum.RGBA; this.formatCd = TextureFormatEnum.RGBA; this.formatTypeCd = TextureFormatEnum.UnsignedByte; } //========================================================== // 配置处理。 //========================================================== public setup() { } //========================================================== // 测试是否准备好。 // // @return 准备好 //========================================================== public testReady(): boolean { return this.ready; } //========================================================== // 判断是否有效 // // @return 是否有效 //========================================================== public isValid(): boolean { return true; } //========================================================== // 设置取样。 // // @method // @param minCd MIN取样 // @param magCd MAG取样 //========================================================== public setFilterCd(minCd: SamplerFilterEnum, magCd: SamplerFilterEnum) { this.filterMinCd = minCd; this.filterMagCd = magCd; } //========================================================== // 设置卷动。 // // @method // @param wrapS S缠绕 // @param wrapT T缠绕 //========================================================== public setWrapCd(wrapS: SamplerFilterEnum, wrapT: SamplerFilterEnum) { this.wrapS = wrapS; this.wrapT = wrapT; } //========================================================== // 更新处理。 //========================================================== public update() { } }