| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import { Texture } from './Texture.js';
- import { CubeReflectionMapping, RGBFormat } from '../constants.js';
- class CubeTexture extends Texture {
- constructor( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) {
- images = images !== undefined ? images : [];
- mapping = mapping !== undefined ? mapping : CubeReflectionMapping;
- format = format !== undefined ? format : RGBFormat;
- super( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding );
- // Why CubeTexture._needsFlipEnvMap is necessary:
- //
- // By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js)
- // in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words,
- // in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly.
- // three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped
- // and the flag _needsFlipEnvMap controls this conversion. The flip is not required (and thus _needsFlipEnvMap is set to false)
- // when using WebGLCubeRenderTarget.texture as a cube texture.
- this._needsFlipEnvMap = true;
- this.flipY = false;
- }
- get images() {
- return this.image;
- }
- set images( value ) {
- this.image = value;
- }
- }
- CubeTexture.prototype.isCubeTexture = true;
- export { CubeTexture };
|