aboutsummaryrefslogtreecommitdiffstats
path: root/src/javax/media/j3d/TextureCubeMapRetained.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/javax/media/j3d/TextureCubeMapRetained.java')
-rw-r--r--src/javax/media/j3d/TextureCubeMapRetained.java355
1 files changed, 0 insertions, 355 deletions
diff --git a/src/javax/media/j3d/TextureCubeMapRetained.java b/src/javax/media/j3d/TextureCubeMapRetained.java
deleted file mode 100644
index 97fa9ff..0000000
--- a/src/javax/media/j3d/TextureCubeMapRetained.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- */
-
-package javax.media.j3d;
-
-
-/**
- * TextureCubeMap is a subclass of Texture class.
- */
-class TextureCubeMapRetained extends TextureRetained {
-
-
- static final int NUMFACES = 6;
-
-
- @Override
- void initialize(int format, int width, int widPower,
- int height, int heiPower, int mipmapMode,
- int boundaryWidth) {
-
- this.numFaces = 6;
-
- super.initialize(format, width, widPower, height, heiPower,
- mipmapMode, boundaryWidth);
- }
-
-
- /**
- * Sets a specified mipmap level for a particular face of the cubemap.
- */
- void initImage(int level, int face, ImageComponent image) {
-
- // Issue 172 : call checkImageSize even for non-live setImage calls
- checkImageSize(level, image);
-
- if (this.images == null) {
- throw new IllegalArgumentException(
- J3dI18N.getString("TextureRetained0"));
- }
-
- if (image instanceof ImageComponent3D) {
- throw new IllegalArgumentException(
- J3dI18N.getString("TextureCubeMap3"));
- }
-
-
- if (face < TextureCubeMap.POSITIVE_X ||
- face > TextureCubeMap.NEGATIVE_Z) {
- throw new IllegalArgumentException(
- J3dI18N.getString("TextureCubeMap4"));
- }
-
- if (this.source.isLive()) {
- if (this.images[face][level] != null) {
- this.images[face][level].clearLive(refCount);
- }
-
-
- if (image != null) {
- ((ImageComponentRetained)image.retained).setLive(
- inBackgroundGroup, refCount);
- }
- }
-
- /* Don't think this is needed. --- Chien.
- ((ImageComponent2DRetained)image.retained).setTextureRef();
- */
-
- if (image != null) {
- this.images[face][level] = (ImageComponentRetained)image.retained;
- } else {
- this.images[face][level] = null;
- }
- }
-
- final void setImage(int level, int face, ImageComponent image) {
-
- initImage(level, face, image);
-
- Object arg[] = new Object[3];
- arg[0] = new Integer(level);
- arg[1] = image;
- arg[2] = new Integer(face);
- sendMessage(IMAGE_CHANGED, arg);
-
- // If the user has set enable to true, then if the image is null
- // turn off texture enable
- if (userSpecifiedEnable) {
- enable = userSpecifiedEnable;
- if (image != null && level < maxLevels) {
- ImageComponentRetained img= (ImageComponentRetained)image.retained;
- if (img.isByReference()) {
- if (img.getRefImage(0) == null) {
- enable = false;
- }
- }
- else {
- if (img.getImageData(isUseAsRaster()).get() == null) {
- enable = false;
- }
- }
- if (!enable)
- sendMessage(ENABLE_CHANGED, Boolean.FALSE);
- }
- }
- }
-
- void initImages(int face, ImageComponent[] images) {
-
- if (images.length != maxLevels)
- throw new IllegalArgumentException(J3dI18N.getString("Texture20"));
-
- for (int i = 0; i < images.length; i++) {
- initImage(i, face, images[i]);
- }
- }
-
- final void setImages(int face, ImageComponent[] images) {
-
- int i;
-
- initImages(face, images);
-
- ImageComponent [] imgs = new ImageComponent[images.length];
- for (i = 0; i < images.length; i++) {
- imgs[i] = images[i];
- }
-
- Object args[] = new Object[2];
- args[0] = imgs;
- args[1] = new Integer(face);
-
- sendMessage(IMAGES_CHANGED, args);
- // If the user has set enable to true, then if the image is null
- // turn off texture enable
- if (userSpecifiedEnable) {
- enable = userSpecifiedEnable;
- i = 0;
- while (enable && i < maxLevels) {
- if (images[i] != null) {
- ImageComponentRetained img= (ImageComponentRetained)images[i].retained;
- if (img.isByReference()) {
- if (img.getRefImage(0) == null) {
- enable = false;
- }
- }
- else {
- if (img.getImageData(isUseAsRaster()).get() == null) {
- enable = false;
- }
- }
- }
- i++;
- }
- if (!enable) {
- sendMessage(ENABLE_CHANGED, Boolean.FALSE);
- }
- }
- }
-
-
-
-
- /**
- * Gets a specified mipmap level of a particular face of the cube map.
- * @param level mipmap level to get
- * @param face face of the cube map
- * @return the pixel array object containing the texture image
- */
- final ImageComponent getImage(int level, int face) {
-
- if (face < TextureCubeMap.POSITIVE_X ||
- face > TextureCubeMap.NEGATIVE_Z) {
- throw new IllegalArgumentException(
- J3dI18N.getString("TextureCubeMap4"));
- }
-
- return (((images != null) && (images[face][level] != null)) ?
- (ImageComponent)images[face][level].source : null);
- }
-
-
- /**
- * Gets an array of image for a particular face of the cube map.
- * @param face face of the cube map
- * @return the pixel array object containing the texture image
- */
- final ImageComponent[] getImages(int face) {
-
- if (images == null)
- return null;
-
- if (face < TextureCubeMap.POSITIVE_X ||
- face > TextureCubeMap.NEGATIVE_Z) {
- throw new IllegalArgumentException(
- J3dI18N.getString("TextureCubeMap4"));
- }
-
- ImageComponent [] rImages = new ImageComponent[images[face].length];
- for (int i = 0; i < images[face].length; i++) {
- if (images[face][i] != null)
- rImages[i] = (ImageComponent)images[face][i].source;
- else
- rImages[i] = null;
- }
- return rImages;
- }
-
-
- @Override
- void bindTexture(Context ctx, int objectId, boolean enable) {
- Pipeline.getPipeline().bindTextureCubeMap(ctx, objectId, enable);
- }
-
- @Override
- void updateTextureBoundary(Context ctx,
- int boundaryModeS, int boundaryModeT,
- float boundaryRed, float boundaryGreen,
- float boundaryBlue, float boundaryAlpha) {
-
- Pipeline.getPipeline().updateTextureCubeMapBoundary(ctx,
- boundaryModeS, boundaryModeT,
- boundaryRed, boundaryGreen,
- boundaryBlue, boundaryAlpha);
- }
-
- @Override
- void updateTextureFilterModes(Context ctx,
- int minFilter, int magFilter) {
-
- Pipeline.getPipeline().updateTextureCubeMapFilterModes(ctx,
- minFilter, magFilter);
- }
-
- @Override
- void updateTextureSharpenFunc(Context ctx,
- int numSharpenTextureFuncPts,
- float[] sharpenTextureFuncPts) {
-
- Pipeline.getPipeline().updateTextureCubeMapSharpenFunc(ctx,
- numSharpenTextureFuncPts, sharpenTextureFuncPts);
- }
-
- @Override
- void updateTextureFilter4Func(Context ctx,
- int numFilter4FuncPts,
- float[] filter4FuncPts) {
-
- Pipeline.getPipeline().updateTextureCubeMapFilter4Func(ctx,
- numFilter4FuncPts, filter4FuncPts);
- }
-
- @Override
- void updateTextureAnisotropicFilter(Context ctx, float degree) {
- Pipeline.getPipeline().updateTextureCubeMapAnisotropicFilter(ctx, degree);
- }
-
-
- @Override
- void updateTextureLodRange(Context ctx,
- int baseLevel, int maximumLevel,
- float minimumLod, float maximumLod) {
-
- Pipeline.getPipeline().updateTextureCubeMapLodRange(ctx, baseLevel, maximumLevel,
- minimumLod, maximumLod);
- }
-
- @Override
- void updateTextureLodOffset(Context ctx,
- float lodOffsetX, float lodOffsetY,
- float lodOffsetZ) {
-
- Pipeline.getPipeline().updateTextureCubeMapLodOffset(ctx,
- lodOffsetX, lodOffsetY, lodOffsetZ);
- }
-
-
- /**
- * Load level 0 explicitly with null data pointer to allow
- * mipmapping when level 0 is not the base level
- */
- @Override
- void updateTextureDimensions(Canvas3D cv) {
- if(images[0][0] != null) {
- // All faces should have the same image format and type.
- int imageFormat = images[0][0].getImageFormatTypeIntValue(false);
- int imageType = images[0][0].getImageDataTypeIntValue();
-
- for (int i = 0; i < 6; i++) {
- updateTextureImage(cv, i, maxLevels, 0,
- format, imageFormat,
- width, height, boundaryWidth,
- imageType, null);
- }
- }
- }
-
- // This is just a wrapper of the native method.
- @Override
- void updateTextureImage(Canvas3D cv,
- int face, int numLevels, int level,
- int textureFormat, int imageFormat,
- int width, int height,
- int boundaryWidth, int imageDataType,
- Object imageData) {
-
- Pipeline.getPipeline().updateTextureCubeMapImage(cv.ctx,
- face, numLevels, level,
- textureFormat, imageFormat,
- width, height,
- boundaryWidth, imageDataType, imageData, useAutoMipMapGeneration(cv));
- }
-
- // This is just a wrapper of the native method.
- @Override
- void updateTextureSubImage(Canvas3D cv,
- int face, int level,
- int xoffset, int yoffset,
- int textureFormat, int imageFormat,
- int imgXOffset, int imgYOffset,
- int tilew, int width, int height,
- int imageDataType, Object imageData) {
-
- Pipeline.getPipeline().updateTextureCubeMapSubImage(cv.ctx,
- face, level, xoffset, yoffset,
- textureFormat, imageFormat,
- imgXOffset, imgYOffset,
- tilew, width, height,
- imageDataType, imageData, useAutoMipMapGeneration(cv));
-
- }
-}