1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { FloatNode } from '../inputs/FloatNode.js';
- class MaxMIPLevelNode extends FloatNode {
- constructor( texture ) {
- super();
- this.texture = texture;
- this.maxMIPLevel = 0;
- }
- get value() {
- if ( this.maxMIPLevel === 0 ) {
- var image = this.texture.value.image;
- if ( Array.isArray( image ) ) image = image[ 0 ];
- this.maxMIPLevel = image !== undefined ? Math.log( Math.max( image.width, image.height ) ) * Math.LOG2E : 0;
- }
- return this.maxMIPLevel;
- }
- set value( val ) {
- }
- toJSON( meta ) {
- let data = this.getJSONNode( meta );
- if ( ! data ) {
- data = this.createJSONNode( meta );
- data.texture = this.texture.uuid;
- }
- return data;
- }
- }
- MaxMIPLevelNode.prototype.nodeType = 'MaxMIPLevel';
- export { MaxMIPLevelNode };
|