Down to 260 Javadoc warnings from 324
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9255 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
0af3e46a45
commit
533fb86c50
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -106,7 +106,7 @@ public class AndroidAssetManager extends DesktopAssetManager {
|
|||||||
/**
|
/**
|
||||||
* Loads a texture.
|
* Loads a texture.
|
||||||
*
|
*
|
||||||
* @return
|
* @return the texture
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Texture loadTexture(TextureKey key) {
|
public Texture loadTexture(TextureKey key) {
|
||||||
|
@ -1,3 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are
|
||||||
|
* met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||||
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
package com.jme3.scene.plugins.blender.textures.blending;
|
package com.jme3.scene.plugins.blender.textures.blending;
|
||||||
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -20,7 +51,7 @@ public class TextureBlenderFactory {
|
|||||||
*
|
*
|
||||||
* @param format
|
* @param format
|
||||||
* the texture format
|
* the texture format
|
||||||
* @returntexture blending class
|
* @return texture blending class
|
||||||
*/
|
*/
|
||||||
public static TextureBlender createTextureBlender(Format format) {
|
public static TextureBlender createTextureBlender(Format format) {
|
||||||
switch (format) {
|
switch (format) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -376,7 +376,7 @@ public class PhysicsSpace {
|
|||||||
* calls the callable on the next physics tick (ensuring e.g. force applying)
|
* calls the callable on the next physics tick (ensuring e.g. force applying)
|
||||||
* @param <V>
|
* @param <V>
|
||||||
* @param callable
|
* @param callable
|
||||||
* @return
|
* @return Future object
|
||||||
*/
|
*/
|
||||||
public <V> Future<V> enqueue(Callable<V> callable) {
|
public <V> Future<V> enqueue(Callable<V> callable) {
|
||||||
AppTask<V> task = new AppTask<V>(callable);
|
AppTask<V> task = new AppTask<V>(callable);
|
||||||
|
@ -186,7 +186,7 @@ public class SSAOFilter extends Filter {
|
|||||||
/**
|
/**
|
||||||
* Return the bias<br>
|
* Return the bias<br>
|
||||||
* see {@link #setBias(float bias)}
|
* see {@link #setBias(float bias)}
|
||||||
* @return
|
* @return bias
|
||||||
*/
|
*/
|
||||||
public float getBias() {
|
public float getBias() {
|
||||||
return bias;
|
return bias;
|
||||||
@ -205,7 +205,7 @@ public class SSAOFilter extends Filter {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* returns the ambient occlusion intensity
|
* returns the ambient occlusion intensity
|
||||||
* @return
|
* @return intensity
|
||||||
*/
|
*/
|
||||||
public float getIntensity() {
|
public float getIntensity() {
|
||||||
return intensity;
|
return intensity;
|
||||||
@ -226,7 +226,7 @@ public class SSAOFilter extends Filter {
|
|||||||
/**
|
/**
|
||||||
* returns the sample radius<br>
|
* returns the sample radius<br>
|
||||||
* see {link setSampleRadius(float sampleRadius)}
|
* see {link setSampleRadius(float sampleRadius)}
|
||||||
* @return
|
* @return the sample radius
|
||||||
*/
|
*/
|
||||||
public float getSampleRadius() {
|
public float getSampleRadius() {
|
||||||
return sampleRadius;
|
return sampleRadius;
|
||||||
@ -247,7 +247,7 @@ public class SSAOFilter extends Filter {
|
|||||||
/**
|
/**
|
||||||
* returns the scale<br>
|
* returns the scale<br>
|
||||||
* see {@link #setScale(float scale)}
|
* see {@link #setScale(float scale)}
|
||||||
* @return
|
* @return scale
|
||||||
*/
|
*/
|
||||||
public float getScale() {
|
public float getScale() {
|
||||||
return scale;
|
return scale;
|
||||||
@ -267,7 +267,7 @@ public class SSAOFilter extends Filter {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* debugging only , will be removed
|
* debugging only , will be removed
|
||||||
* @return
|
* @return Whether or not
|
||||||
*/
|
*/
|
||||||
public boolean isUseAo() {
|
public boolean isUseAo() {
|
||||||
return useAo;
|
return useAo;
|
||||||
@ -286,7 +286,7 @@ public class SSAOFilter extends Filter {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* debugging only , will be removed
|
* debugging only , will be removed
|
||||||
* @return
|
* @return useOnlyAo
|
||||||
*/
|
*/
|
||||||
public boolean isUseOnlyAo() {
|
public boolean isUseOnlyAo() {
|
||||||
return useOnlyAo;
|
return useOnlyAo;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -185,11 +185,8 @@ public class GLSLLoader implements AssetLoader {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param owner
|
* @param info
|
||||||
* @param in
|
* @return String of GLSL code
|
||||||
* @param extension
|
|
||||||
* @param key
|
|
||||||
* @return
|
|
||||||
* @throws java.io.IOException
|
* @throws java.io.IOException
|
||||||
*/
|
*/
|
||||||
public Object load(AssetInfo info) throws IOException {
|
public Object load(AssetInfo info) throws IOException {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -29,7 +29,6 @@
|
|||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.jme3.texture.plugins;
|
package com.jme3.texture.plugins;
|
||||||
|
|
||||||
import com.jme3.asset.AssetInfo;
|
import com.jme3.asset.AssetInfo;
|
||||||
@ -59,37 +58,32 @@ public final class TGALoader implements AssetLoader {
|
|||||||
|
|
||||||
// 0 - no image data in file
|
// 0 - no image data in file
|
||||||
public static final int TYPE_NO_IMAGE = 0;
|
public static final int TYPE_NO_IMAGE = 0;
|
||||||
|
|
||||||
// 1 - uncompressed, color-mapped image
|
// 1 - uncompressed, color-mapped image
|
||||||
public static final int TYPE_COLORMAPPED = 1;
|
public static final int TYPE_COLORMAPPED = 1;
|
||||||
|
|
||||||
// 2 - uncompressed, true-color image
|
// 2 - uncompressed, true-color image
|
||||||
public static final int TYPE_TRUECOLOR = 2;
|
public static final int TYPE_TRUECOLOR = 2;
|
||||||
|
|
||||||
// 3 - uncompressed, black and white image
|
// 3 - uncompressed, black and white image
|
||||||
public static final int TYPE_BLACKANDWHITE = 3;
|
public static final int TYPE_BLACKANDWHITE = 3;
|
||||||
|
|
||||||
// 9 - run-length encoded, color-mapped image
|
// 9 - run-length encoded, color-mapped image
|
||||||
public static final int TYPE_COLORMAPPED_RLE = 9;
|
public static final int TYPE_COLORMAPPED_RLE = 9;
|
||||||
|
|
||||||
// 10 - run-length encoded, true-color image
|
// 10 - run-length encoded, true-color image
|
||||||
public static final int TYPE_TRUECOLOR_RLE = 10;
|
public static final int TYPE_TRUECOLOR_RLE = 10;
|
||||||
|
|
||||||
// 11 - run-length encoded, black and white image
|
// 11 - run-length encoded, black and white image
|
||||||
public static final int TYPE_BLACKANDWHITE_RLE = 11;
|
public static final int TYPE_BLACKANDWHITE_RLE = 11;
|
||||||
|
|
||||||
public Object load(AssetInfo info) throws IOException{
|
public Object load(AssetInfo info) throws IOException {
|
||||||
if (!(info.getKey() instanceof TextureKey))
|
if (!(info.getKey() instanceof TextureKey)) {
|
||||||
throw new IllegalArgumentException("Texture assets must be loaded using a TextureKey");
|
throw new IllegalArgumentException("Texture assets must be loaded using a TextureKey");
|
||||||
|
}
|
||||||
|
|
||||||
boolean flip = ((TextureKey)info.getKey()).isFlipY();
|
boolean flip = ((TextureKey) info.getKey()).isFlipY();
|
||||||
InputStream in = null;
|
InputStream in = null;
|
||||||
try {
|
try {
|
||||||
in = info.openStream();
|
in = info.openStream();
|
||||||
Image img = load(in, flip);
|
Image img = load(in, flip);
|
||||||
return img;
|
return img;
|
||||||
} finally {
|
} finally {
|
||||||
if (in != null){
|
if (in != null) {
|
||||||
in.close();
|
in.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -99,14 +93,14 @@ public final class TGALoader implements AssetLoader {
|
|||||||
* <code>loadImage</code> is a manual image loader which is entirely
|
* <code>loadImage</code> is a manual image loader which is entirely
|
||||||
* independent of AWT. OUT: RGB888 or RGBA8888 Image object
|
* independent of AWT. OUT: RGB888 or RGBA8888 Image object
|
||||||
*
|
*
|
||||||
* @return <code>Image</code> object that contains the
|
*
|
||||||
* image, either as a RGB888 or RGBA8888
|
|
||||||
|
* @param in
|
||||||
|
* InputStream of an uncompressed 24b RGB or 32b RGBA TGA
|
||||||
* @param flip
|
* @param flip
|
||||||
* Flip the image vertically
|
* Flip the image vertically
|
||||||
* @param exp32
|
* @return <code>Image</code> object that contains the
|
||||||
* Add a dummy Alpha channel to 24b RGB image.
|
* image, either as a RGB888 or RGBA8888
|
||||||
* @param fis
|
|
||||||
* InputStream of an uncompressed 24b RGB or 32b RGBA TGA
|
|
||||||
* @throws java.io.IOException
|
* @throws java.io.IOException
|
||||||
*/
|
*/
|
||||||
public static Image load(InputStream in, boolean flip) throws IOException {
|
public static Image load(InputStream in, boolean flip) throws IOException {
|
||||||
@ -151,21 +145,26 @@ public final class TGALoader implements AssetLoader {
|
|||||||
int pixelDepth = dis.readUnsignedByte();
|
int pixelDepth = dis.readUnsignedByte();
|
||||||
int imageDescriptor = dis.readUnsignedByte();
|
int imageDescriptor = dis.readUnsignedByte();
|
||||||
if ((imageDescriptor & 32) != 0) // bit 5 : if 1, flip top/bottom ordering
|
if ((imageDescriptor & 32) != 0) // bit 5 : if 1, flip top/bottom ordering
|
||||||
|
{
|
||||||
flip = !flip;
|
flip = !flip;
|
||||||
|
}
|
||||||
if ((imageDescriptor & 16) != 0) // bit 4 : if 1, flip left/right ordering
|
if ((imageDescriptor & 16) != 0) // bit 4 : if 1, flip left/right ordering
|
||||||
|
{
|
||||||
flipH = !flipH;
|
flipH = !flipH;
|
||||||
|
}
|
||||||
|
|
||||||
// ---------- Done Reading the TGA header ---------- //
|
// ---------- Done Reading the TGA header ---------- //
|
||||||
|
|
||||||
// Skip image ID
|
// Skip image ID
|
||||||
if (idLength > 0)
|
if (idLength > 0) {
|
||||||
in.skip(idLength);
|
in.skip(idLength);
|
||||||
|
}
|
||||||
|
|
||||||
ColorMapEntry[] cMapEntries = null;
|
ColorMapEntry[] cMapEntries = null;
|
||||||
if (colorMapType != 0) {
|
if (colorMapType != 0) {
|
||||||
// read the color map.
|
// read the color map.
|
||||||
int bytesInColorMap = (cMapDepth * cMapLength) >> 3;
|
int bytesInColorMap = (cMapDepth * cMapLength) >> 3;
|
||||||
int bitsPerColor = Math.min(cMapDepth/3 , 8);
|
int bitsPerColor = Math.min(cMapDepth / 3, 8);
|
||||||
|
|
||||||
byte[] cMapData = new byte[bytesInColorMap];
|
byte[] cMapData = new byte[bytesInColorMap];
|
||||||
in.read(cMapData);
|
in.read(cMapData);
|
||||||
@ -174,19 +173,20 @@ public final class TGALoader implements AssetLoader {
|
|||||||
// table if this is declared a color mapped image.
|
// table if this is declared a color mapped image.
|
||||||
if (imageType == TYPE_COLORMAPPED || imageType == TYPE_COLORMAPPED_RLE) {
|
if (imageType == TYPE_COLORMAPPED || imageType == TYPE_COLORMAPPED_RLE) {
|
||||||
cMapEntries = new ColorMapEntry[cMapLength];
|
cMapEntries = new ColorMapEntry[cMapLength];
|
||||||
int alphaSize = cMapDepth - (3*bitsPerColor);
|
int alphaSize = cMapDepth - (3 * bitsPerColor);
|
||||||
float scalar = 255f / (FastMath.pow(2, bitsPerColor) - 1);
|
float scalar = 255f / (FastMath.pow(2, bitsPerColor) - 1);
|
||||||
float alphaScalar = 255f / (FastMath.pow(2, alphaSize) - 1);
|
float alphaScalar = 255f / (FastMath.pow(2, alphaSize) - 1);
|
||||||
for (int i = 0; i < cMapLength; i++) {
|
for (int i = 0; i < cMapLength; i++) {
|
||||||
ColorMapEntry entry = new ColorMapEntry();
|
ColorMapEntry entry = new ColorMapEntry();
|
||||||
int offset = cMapDepth * i;
|
int offset = cMapDepth * i;
|
||||||
entry.red = (byte)(int)(getBitsAsByte(cMapData, offset, bitsPerColor) * scalar);
|
entry.red = (byte) (int) (getBitsAsByte(cMapData, offset, bitsPerColor) * scalar);
|
||||||
entry.green = (byte)(int)(getBitsAsByte(cMapData, offset+bitsPerColor, bitsPerColor) * scalar);
|
entry.green = (byte) (int) (getBitsAsByte(cMapData, offset + bitsPerColor, bitsPerColor) * scalar);
|
||||||
entry.blue = (byte)(int)(getBitsAsByte(cMapData, offset+(2*bitsPerColor), bitsPerColor) * scalar);
|
entry.blue = (byte) (int) (getBitsAsByte(cMapData, offset + (2 * bitsPerColor), bitsPerColor) * scalar);
|
||||||
if (alphaSize <= 0)
|
if (alphaSize <= 0) {
|
||||||
entry.alpha = (byte)255;
|
entry.alpha = (byte) 255;
|
||||||
else
|
} else {
|
||||||
entry.alpha = (byte)(int)(getBitsAsByte(cMapData, offset+(3*bitsPerColor), alphaSize) * alphaScalar);
|
entry.alpha = (byte) (int) (getBitsAsByte(cMapData, offset + (3 * bitsPerColor), alphaSize) * alphaScalar);
|
||||||
|
}
|
||||||
|
|
||||||
cMapEntries[i] = entry;
|
cMapEntries[i] = entry;
|
||||||
}
|
}
|
||||||
@ -217,32 +217,36 @@ public final class TGALoader implements AssetLoader {
|
|||||||
// just make a seperate loop for each.
|
// just make a seperate loop for each.
|
||||||
if (pixelDepth == 16) {
|
if (pixelDepth == 16) {
|
||||||
byte[] data = new byte[2];
|
byte[] data = new byte[2];
|
||||||
float scalar = 255f/31f;
|
float scalar = 255f / 31f;
|
||||||
for (int i = 0; i <= (height - 1); i++) {
|
for (int i = 0; i <= (height - 1); i++) {
|
||||||
if (!flip)
|
if (!flip) {
|
||||||
rawDataIndex = (height - 1 - i) * width * dl;
|
rawDataIndex = (height - 1 - i) * width * dl;
|
||||||
|
}
|
||||||
for (int j = 0; j < width; j++) {
|
for (int j = 0; j < width; j++) {
|
||||||
data[1] = dis.readByte();
|
data[1] = dis.readByte();
|
||||||
data[0] = dis.readByte();
|
data[0] = dis.readByte();
|
||||||
rawData[rawDataIndex++] = (byte)(int)(getBitsAsByte(data, 1, 5) * scalar);
|
rawData[rawDataIndex++] = (byte) (int) (getBitsAsByte(data, 1, 5) * scalar);
|
||||||
rawData[rawDataIndex++] = (byte)(int)(getBitsAsByte(data, 6, 5) * scalar);
|
rawData[rawDataIndex++] = (byte) (int) (getBitsAsByte(data, 6, 5) * scalar);
|
||||||
rawData[rawDataIndex++] = (byte)(int)(getBitsAsByte(data, 11, 5) * scalar);
|
rawData[rawDataIndex++] = (byte) (int) (getBitsAsByte(data, 11, 5) * scalar);
|
||||||
if (dl == 4) {
|
if (dl == 4) {
|
||||||
// create an alpha channel
|
// create an alpha channel
|
||||||
alpha = getBitsAsByte(data, 0, 1);
|
alpha = getBitsAsByte(data, 0, 1);
|
||||||
if (alpha == 1) alpha = (byte)255;
|
if (alpha == 1) {
|
||||||
|
alpha = (byte) 255;
|
||||||
|
}
|
||||||
rawData[rawDataIndex++] = alpha;
|
rawData[rawDataIndex++] = alpha;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
format = dl == 4 ? Format.RGBA8 : Format.RGB8;
|
format = dl == 4 ? Format.RGBA8 : Format.RGB8;
|
||||||
} else if (pixelDepth == 24){
|
} else if (pixelDepth == 24) {
|
||||||
for (int y = 0; y < height; y++) {
|
for (int y = 0; y < height; y++) {
|
||||||
if (!flip)
|
if (!flip) {
|
||||||
rawDataIndex = (height - 1 - y) * width * dl;
|
rawDataIndex = (height - 1 - y) * width * dl;
|
||||||
else
|
} else {
|
||||||
rawDataIndex = y * width * dl;
|
rawDataIndex = y * width * dl;
|
||||||
|
}
|
||||||
|
|
||||||
dis.readFully(rawData, rawDataIndex, width * dl);
|
dis.readFully(rawData, rawDataIndex, width * dl);
|
||||||
// for (int x = 0; x < width; x++) {
|
// for (int x = 0; x < width; x++) {
|
||||||
@ -256,10 +260,11 @@ public final class TGALoader implements AssetLoader {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
format = Format.BGR8;
|
format = Format.BGR8;
|
||||||
} else if (pixelDepth == 32){
|
} else if (pixelDepth == 32) {
|
||||||
for (int i = 0; i <= (height - 1); i++) {
|
for (int i = 0; i <= (height - 1); i++) {
|
||||||
if (!flip)
|
if (!flip) {
|
||||||
rawDataIndex = (height - 1 - i) * width * dl;
|
rawDataIndex = (height - 1 - i) * width * dl;
|
||||||
|
}
|
||||||
|
|
||||||
for (int j = 0; j < width; j++) {
|
for (int j = 0; j < width; j++) {
|
||||||
blue = dis.readByte();
|
blue = dis.readByte();
|
||||||
@ -273,26 +278,26 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
format = Format.RGBA8;
|
format = Format.RGBA8;
|
||||||
}else{
|
} else {
|
||||||
throw new IOException("Unsupported TGA true color depth: "+pixelDepth);
|
throw new IOException("Unsupported TGA true color depth: " + pixelDepth);
|
||||||
}
|
}
|
||||||
} else if( imageType == TYPE_TRUECOLOR_RLE ) {
|
} else if (imageType == TYPE_TRUECOLOR_RLE) {
|
||||||
byte red = 0;
|
byte red = 0;
|
||||||
byte green = 0;
|
byte green = 0;
|
||||||
byte blue = 0;
|
byte blue = 0;
|
||||||
byte alpha = 0;
|
byte alpha = 0;
|
||||||
// Faster than doing a 16-or-24-or-32 check on each individual pixel,
|
// Faster than doing a 16-or-24-or-32 check on each individual pixel,
|
||||||
// just make a seperate loop for each.
|
// just make a seperate loop for each.
|
||||||
if( pixelDepth == 32 ){
|
if (pixelDepth == 32) {
|
||||||
for( int i = 0; i <= ( height - 1 ); ++i ){
|
for (int i = 0; i <= (height - 1); ++i) {
|
||||||
if( !flip ){
|
if (!flip) {
|
||||||
rawDataIndex = ( height - 1 - i ) * width * dl;
|
rawDataIndex = (height - 1 - i) * width * dl;
|
||||||
}
|
}
|
||||||
|
|
||||||
for( int j = 0; j < width; ++j ){
|
for (int j = 0; j < width; ++j) {
|
||||||
// Get the number of pixels the next chunk covers (either packed or unpacked)
|
// Get the number of pixels the next chunk covers (either packed or unpacked)
|
||||||
int count = dis.readByte();
|
int count = dis.readByte();
|
||||||
if( ( count & 0x80 ) != 0 ){
|
if ((count & 0x80) != 0) {
|
||||||
// Its an RLE packed block - use the following 1 pixel for the next <count> pixels
|
// Its an RLE packed block - use the following 1 pixel for the next <count> pixels
|
||||||
count &= 0x07f;
|
count &= 0x07f;
|
||||||
j += count;
|
j += count;
|
||||||
@ -300,16 +305,16 @@ public final class TGALoader implements AssetLoader {
|
|||||||
green = dis.readByte();
|
green = dis.readByte();
|
||||||
red = dis.readByte();
|
red = dis.readByte();
|
||||||
alpha = dis.readByte();
|
alpha = dis.readByte();
|
||||||
while( count-- >= 0 ){
|
while (count-- >= 0) {
|
||||||
rawData[rawDataIndex++] = red;
|
rawData[rawDataIndex++] = red;
|
||||||
rawData[rawDataIndex++] = green;
|
rawData[rawDataIndex++] = green;
|
||||||
rawData[rawDataIndex++] = blue;
|
rawData[rawDataIndex++] = blue;
|
||||||
rawData[rawDataIndex++] = alpha;
|
rawData[rawDataIndex++] = alpha;
|
||||||
}
|
}
|
||||||
} else{
|
} else {
|
||||||
// Its not RLE packed, but the next <count> pixels are raw.
|
// Its not RLE packed, but the next <count> pixels are raw.
|
||||||
j += count;
|
j += count;
|
||||||
while( count-- >= 0 ){
|
while (count-- >= 0) {
|
||||||
blue = dis.readByte();
|
blue = dis.readByte();
|
||||||
green = dis.readByte();
|
green = dis.readByte();
|
||||||
red = dis.readByte();
|
red = dis.readByte();
|
||||||
@ -323,30 +328,30 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
format = Format.RGBA8;
|
format = Format.RGBA8;
|
||||||
} else if( pixelDepth == 24 ){
|
} else if (pixelDepth == 24) {
|
||||||
for( int i = 0; i <= ( height - 1 ); i++ ){
|
for (int i = 0; i <= (height - 1); i++) {
|
||||||
if( !flip ){
|
if (!flip) {
|
||||||
rawDataIndex = ( height - 1 - i ) * width * dl;
|
rawDataIndex = (height - 1 - i) * width * dl;
|
||||||
}
|
}
|
||||||
for( int j = 0; j < width; ++j ){
|
for (int j = 0; j < width; ++j) {
|
||||||
// Get the number of pixels the next chunk covers (either packed or unpacked)
|
// Get the number of pixels the next chunk covers (either packed or unpacked)
|
||||||
int count = dis.readByte();
|
int count = dis.readByte();
|
||||||
if( ( count & 0x80 ) != 0 ){
|
if ((count & 0x80) != 0) {
|
||||||
// Its an RLE packed block - use the following 1 pixel for the next <count> pixels
|
// Its an RLE packed block - use the following 1 pixel for the next <count> pixels
|
||||||
count &= 0x07f;
|
count &= 0x07f;
|
||||||
j += count;
|
j += count;
|
||||||
blue = dis.readByte();
|
blue = dis.readByte();
|
||||||
green = dis.readByte();
|
green = dis.readByte();
|
||||||
red = dis.readByte();
|
red = dis.readByte();
|
||||||
while( count-- >= 0 ){
|
while (count-- >= 0) {
|
||||||
rawData[rawDataIndex++] = red;
|
rawData[rawDataIndex++] = red;
|
||||||
rawData[rawDataIndex++] = green;
|
rawData[rawDataIndex++] = green;
|
||||||
rawData[rawDataIndex++] = blue;
|
rawData[rawDataIndex++] = blue;
|
||||||
}
|
}
|
||||||
} else{
|
} else {
|
||||||
// Its not RLE packed, but the next <count> pixels are raw.
|
// Its not RLE packed, but the next <count> pixels are raw.
|
||||||
j += count;
|
j += count;
|
||||||
while( count-- >= 0 ){
|
while (count-- >= 0) {
|
||||||
blue = dis.readByte();
|
blue = dis.readByte();
|
||||||
green = dis.readByte();
|
green = dis.readByte();
|
||||||
red = dis.readByte();
|
red = dis.readByte();
|
||||||
@ -358,39 +363,39 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
format = Format.RGB8;
|
format = Format.RGB8;
|
||||||
} else if( pixelDepth == 16 ){
|
} else if (pixelDepth == 16) {
|
||||||
byte[] data = new byte[ 2 ];
|
byte[] data = new byte[2];
|
||||||
float scalar = 255f / 31f;
|
float scalar = 255f / 31f;
|
||||||
for( int i = 0; i <= ( height - 1 ); i++ ){
|
for (int i = 0; i <= (height - 1); i++) {
|
||||||
if( !flip ){
|
if (!flip) {
|
||||||
rawDataIndex = ( height - 1 - i ) * width * dl;
|
rawDataIndex = (height - 1 - i) * width * dl;
|
||||||
}
|
}
|
||||||
for( int j = 0; j < width; j++ ){
|
for (int j = 0; j < width; j++) {
|
||||||
// Get the number of pixels the next chunk covers (either packed or unpacked)
|
// Get the number of pixels the next chunk covers (either packed or unpacked)
|
||||||
int count = dis.readByte();
|
int count = dis.readByte();
|
||||||
if( ( count & 0x80 ) != 0 ){
|
if ((count & 0x80) != 0) {
|
||||||
// Its an RLE packed block - use the following 1 pixel for the next <count> pixels
|
// Its an RLE packed block - use the following 1 pixel for the next <count> pixels
|
||||||
count &= 0x07f;
|
count &= 0x07f;
|
||||||
j += count;
|
j += count;
|
||||||
data[1] = dis.readByte();
|
data[1] = dis.readByte();
|
||||||
data[0] = dis.readByte();
|
data[0] = dis.readByte();
|
||||||
blue = (byte) (int) ( getBitsAsByte( data, 1, 5 ) * scalar );
|
blue = (byte) (int) (getBitsAsByte(data, 1, 5) * scalar);
|
||||||
green = (byte) (int) ( getBitsAsByte( data, 6, 5 ) * scalar );
|
green = (byte) (int) (getBitsAsByte(data, 6, 5) * scalar);
|
||||||
red = (byte) (int) ( getBitsAsByte( data, 11, 5 ) * scalar );
|
red = (byte) (int) (getBitsAsByte(data, 11, 5) * scalar);
|
||||||
while( count-- >= 0 ){
|
while (count-- >= 0) {
|
||||||
rawData[rawDataIndex++] = red;
|
rawData[rawDataIndex++] = red;
|
||||||
rawData[rawDataIndex++] = green;
|
rawData[rawDataIndex++] = green;
|
||||||
rawData[rawDataIndex++] = blue;
|
rawData[rawDataIndex++] = blue;
|
||||||
}
|
}
|
||||||
} else{
|
} else {
|
||||||
// Its not RLE packed, but the next <count> pixels are raw.
|
// Its not RLE packed, but the next <count> pixels are raw.
|
||||||
j += count;
|
j += count;
|
||||||
while( count-- >= 0 ){
|
while (count-- >= 0) {
|
||||||
data[1] = dis.readByte();
|
data[1] = dis.readByte();
|
||||||
data[0] = dis.readByte();
|
data[0] = dis.readByte();
|
||||||
blue = (byte) (int) ( getBitsAsByte( data, 1, 5 ) * scalar );
|
blue = (byte) (int) (getBitsAsByte(data, 1, 5) * scalar);
|
||||||
green = (byte) (int) ( getBitsAsByte( data, 6, 5 ) * scalar );
|
green = (byte) (int) (getBitsAsByte(data, 6, 5) * scalar);
|
||||||
red = (byte) (int) ( getBitsAsByte( data, 11, 5 ) * scalar );
|
red = (byte) (int) (getBitsAsByte(data, 11, 5) * scalar);
|
||||||
rawData[rawDataIndex++] = red;
|
rawData[rawDataIndex++] = red;
|
||||||
rawData[rawDataIndex++] = green;
|
rawData[rawDataIndex++] = green;
|
||||||
rawData[rawDataIndex++] = blue;
|
rawData[rawDataIndex++] = blue;
|
||||||
@ -399,21 +404,23 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
format = Format.RGB8;
|
format = Format.RGB8;
|
||||||
} else{
|
} else {
|
||||||
throw new IOException( "Unsupported TGA true color depth: " + pixelDepth );
|
throw new IOException("Unsupported TGA true color depth: " + pixelDepth);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if( imageType == TYPE_COLORMAPPED ){
|
} else if (imageType == TYPE_COLORMAPPED) {
|
||||||
int bytesPerIndex = pixelDepth / 8;
|
int bytesPerIndex = pixelDepth / 8;
|
||||||
|
|
||||||
if (bytesPerIndex == 1) {
|
if (bytesPerIndex == 1) {
|
||||||
for (int i = 0; i <= (height - 1); i++) {
|
for (int i = 0; i <= (height - 1); i++) {
|
||||||
if (!flip)
|
if (!flip) {
|
||||||
rawDataIndex = (height - 1 - i) * width * dl;
|
rawDataIndex = (height - 1 - i) * width * dl;
|
||||||
|
}
|
||||||
for (int j = 0; j < width; j++) {
|
for (int j = 0; j < width; j++) {
|
||||||
int index = dis.readUnsignedByte();
|
int index = dis.readUnsignedByte();
|
||||||
if (index >= cMapEntries.length || index < 0)
|
if (index >= cMapEntries.length || index < 0) {
|
||||||
throw new IOException("TGA: Invalid color map entry referenced: "+index);
|
throw new IOException("TGA: Invalid color map entry referenced: " + index);
|
||||||
|
}
|
||||||
|
|
||||||
ColorMapEntry entry = cMapEntries[index];
|
ColorMapEntry entry = cMapEntries[index];
|
||||||
rawData[rawDataIndex++] = entry.red;
|
rawData[rawDataIndex++] = entry.red;
|
||||||
@ -427,12 +434,14 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
} else if (bytesPerIndex == 2) {
|
} else if (bytesPerIndex == 2) {
|
||||||
for (int i = 0; i <= (height - 1); i++) {
|
for (int i = 0; i <= (height - 1); i++) {
|
||||||
if (!flip)
|
if (!flip) {
|
||||||
rawDataIndex = (height - 1 - i) * width * dl;
|
rawDataIndex = (height - 1 - i) * width * dl;
|
||||||
|
}
|
||||||
for (int j = 0; j < width; j++) {
|
for (int j = 0; j < width; j++) {
|
||||||
int index = flipEndian(dis.readShort());
|
int index = flipEndian(dis.readShort());
|
||||||
if (index >= cMapEntries.length || index < 0)
|
if (index >= cMapEntries.length || index < 0) {
|
||||||
throw new IOException("TGA: Invalid color map entry referenced: "+index);
|
throw new IOException("TGA: Invalid color map entry referenced: " + index);
|
||||||
|
}
|
||||||
|
|
||||||
ColorMapEntry entry = cMapEntries[index];
|
ColorMapEntry entry = cMapEntries[index];
|
||||||
rawData[rawDataIndex++] = entry.red;
|
rawData[rawDataIndex++] = entry.red;
|
||||||
@ -444,7 +453,7 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new IOException("TGA: unknown colormap indexing size used: "+bytesPerIndex);
|
throw new IOException("TGA: unknown colormap indexing size used: " + bytesPerIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
format = dl == 4 ? Format.RGBA8 : Format.RGB8;
|
format = dl == 4 ? Format.RGBA8 : Format.RGB8;
|
||||||
@ -474,14 +483,15 @@ public final class TGALoader implements AssetLoader {
|
|||||||
int rVal = 0;
|
int rVal = 0;
|
||||||
|
|
||||||
// start at data[offsetBytes]... spill into next byte as needed.
|
// start at data[offsetBytes]... spill into next byte as needed.
|
||||||
for (int i = length; --i >=0;) {
|
for (int i = length; --i >= 0;) {
|
||||||
byte b = data[offsetBytes];
|
byte b = data[offsetBytes];
|
||||||
int test = indexBits == 7 ? 1 : 2 << (6-indexBits);
|
int test = indexBits == 7 ? 1 : 2 << (6 - indexBits);
|
||||||
if ((b & test) != 0) {
|
if ((b & test) != 0) {
|
||||||
if (i == 0)
|
if (i == 0) {
|
||||||
rVal++;
|
rVal++;
|
||||||
else
|
} else {
|
||||||
rVal += (2 << i-1);
|
rVal += (2 << i - 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
indexBits++;
|
indexBits++;
|
||||||
if (indexBits == 8) {
|
if (indexBits == 8) {
|
||||||
@ -490,7 +500,7 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (byte)rVal;
|
return (byte) rVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -507,11 +517,12 @@ public final class TGALoader implements AssetLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static class ColorMapEntry {
|
static class ColorMapEntry {
|
||||||
|
|
||||||
byte red, green, blue, alpha;
|
byte red, green, blue, alpha;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "entry: "+red+","+green+","+blue+","+alpha;
|
return "entry: " + red + "," + green + "," + blue + "," + alpha;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -98,7 +98,7 @@ public class AssetCache {
|
|||||||
* <br/><br/>
|
* <br/><br/>
|
||||||
* <font color="red">Thread-safe.</font>
|
* <font color="red">Thread-safe.</font>
|
||||||
* @param key
|
* @param key
|
||||||
* @return
|
* @return the object matching the {@link AssetKey}
|
||||||
*/
|
*/
|
||||||
public Object getFromCache(AssetKey key){
|
public Object getFromCache(AssetKey key){
|
||||||
synchronized (regularCache){
|
synchronized (regularCache){
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -218,7 +218,7 @@ public class DesktopAssetManager implements AssetManager {
|
|||||||
*
|
*
|
||||||
* @param <T>
|
* @param <T>
|
||||||
* @param key
|
* @param key
|
||||||
* @return
|
* @return the loaded asset
|
||||||
*/
|
*/
|
||||||
public <T> T loadAsset(AssetKey<T> key){
|
public <T> T loadAsset(AssetKey<T> key){
|
||||||
if (key == null)
|
if (key == null)
|
||||||
@ -319,7 +319,7 @@ public class DesktopAssetManager implements AssetManager {
|
|||||||
/**
|
/**
|
||||||
* Loads a texture.
|
* Loads a texture.
|
||||||
*
|
*
|
||||||
* @return
|
* @return the texture
|
||||||
*/
|
*/
|
||||||
public Texture loadTexture(TextureKey key){
|
public Texture loadTexture(TextureKey key){
|
||||||
return (Texture) loadAsset(key);
|
return (Texture) loadAsset(key);
|
||||||
@ -335,7 +335,7 @@ public class DesktopAssetManager implements AssetManager {
|
|||||||
* @param name
|
* @param name
|
||||||
* @param generateMipmaps Enable if applying texture to 3D objects, disable
|
* @param generateMipmaps Enable if applying texture to 3D objects, disable
|
||||||
* for GUI/HUD elements.
|
* for GUI/HUD elements.
|
||||||
* @return
|
* @return the loaded texture
|
||||||
*/
|
*/
|
||||||
public Texture loadTexture(String name, boolean generateMipmaps){
|
public Texture loadTexture(String name, boolean generateMipmaps){
|
||||||
TextureKey key = new TextureKey(name, true);
|
TextureKey key = new TextureKey(name, true);
|
||||||
@ -368,7 +368,7 @@ public class DesktopAssetManager implements AssetManager {
|
|||||||
* Loads a bitmap font with the given name.
|
* Loads a bitmap font with the given name.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
* @return
|
* @return the loaded {@link BitmapFont}
|
||||||
*/
|
*/
|
||||||
public BitmapFont loadFont(String name){
|
public BitmapFont loadFont(String name){
|
||||||
return (BitmapFont) loadAsset(new AssetKey(name));
|
return (BitmapFont) loadAsset(new AssetKey(name));
|
||||||
@ -382,7 +382,7 @@ public class DesktopAssetManager implements AssetManager {
|
|||||||
* Load a vertex/fragment shader combo.
|
* Load a vertex/fragment shader combo.
|
||||||
*
|
*
|
||||||
* @param key
|
* @param key
|
||||||
* @return
|
* @return the loaded {@link Shader}
|
||||||
*/
|
*/
|
||||||
public Shader loadShader(ShaderKey key){
|
public Shader loadShader(ShaderKey key){
|
||||||
// cache abuse in method
|
// cache abuse in method
|
||||||
@ -412,7 +412,7 @@ public class DesktopAssetManager implements AssetManager {
|
|||||||
* Load a model.
|
* Load a model.
|
||||||
*
|
*
|
||||||
* @param name
|
* @param name
|
||||||
* @return
|
* @return the loaded model
|
||||||
*/
|
*/
|
||||||
public Spatial loadModel(String name){
|
public Spatial loadModel(String name){
|
||||||
return loadModel(new ModelKey(name));
|
return loadModel(new ModelKey(name));
|
||||||
|
@ -1,3 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are
|
||||||
|
* met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||||
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
package com.jme3.effect.influencers;
|
package com.jme3.effect.influencers;
|
||||||
|
|
||||||
import com.jme3.effect.Particle;
|
import com.jme3.effect.Particle;
|
||||||
@ -48,7 +79,7 @@ public interface ParticleInfluencer extends Savable, Cloneable {
|
|||||||
* Set the variation by which the initial velocity
|
* Set the variation by which the initial velocity
|
||||||
* of the particle is determined. <code>variation</code> should be a value
|
* of the particle is determined. <code>variation</code> should be a value
|
||||||
* from 0 to 1, where 0 means particles are to spawn with exactly
|
* from 0 to 1, where 0 means particles are to spawn with exactly
|
||||||
* the velocity given in {@link ParticleEmitter#setStartVel(com.jme3.math.Vector3f) },
|
* the velocity given in {@link ParticleEmitter#setInitialVelocity(com.jme3.math.Vector3f) },
|
||||||
* and 1 means particles are to spawn with a completely random velocity.
|
* and 1 means particles are to spawn with a completely random velocity.
|
||||||
*/
|
*/
|
||||||
void setVelocityVariation(float variation);
|
void setVelocityVariation(float variation);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -128,7 +128,7 @@ public class BitmapFont implements Savable {
|
|||||||
/**
|
/**
|
||||||
* Gets the line height of a StringBlock.
|
* Gets the line height of a StringBlock.
|
||||||
* @param sb
|
* @param sb
|
||||||
* @return
|
* @return the line height
|
||||||
*/
|
*/
|
||||||
public float getLineHeight(StringBlock sb) {
|
public float getLineHeight(StringBlock sb) {
|
||||||
return charSet.getLineHeight() * (sb.getSize() / charSet.getRenderedSize());
|
return charSet.getLineHeight() * (sb.getSize() / charSet.getRenderedSize());
|
||||||
@ -261,7 +261,7 @@ public class BitmapFont implements Savable {
|
|||||||
/**
|
/**
|
||||||
* Merge two fonts.
|
* Merge two fonts.
|
||||||
* If two font have the same style, merge will fail.
|
* If two font have the same style, merge will fail.
|
||||||
* @param styleSet Style must be assigned to this.
|
* @param newFont Style must be assigned to this.
|
||||||
* @author Yonghoon
|
* @author Yonghoon
|
||||||
*/
|
*/
|
||||||
public void merge(BitmapFont newFont) {
|
public void merge(BitmapFont newFont) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -338,7 +338,7 @@ public abstract class Filter implements Savable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* returns the name of the filter
|
* returns the name of the filter
|
||||||
* @return
|
* @return the Filter's name
|
||||||
*/
|
*/
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -87,7 +87,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Don't use this constructor use {@link FilterPostProcessor(AssetManager assetManager)}<br>
|
* Don't use this constructor, use {@link #FilterPostProcessor(AssetManager assetManager)}<br>
|
||||||
* This constructor is used for serialization only
|
* This constructor is used for serialization only
|
||||||
*/
|
*/
|
||||||
public FilterPostProcessor() {
|
public FilterPostProcessor() {
|
||||||
@ -488,7 +488,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|||||||
/**
|
/**
|
||||||
* For internal use only<br>
|
* For internal use only<br>
|
||||||
* returns the depth texture of the scene
|
* returns the depth texture of the scene
|
||||||
* @return
|
* @return the depth texture
|
||||||
*/
|
*/
|
||||||
public Texture2D getDepthTexture() {
|
public Texture2D getDepthTexture() {
|
||||||
return depthTexture;
|
return depthTexture;
|
||||||
@ -497,7 +497,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
|
|||||||
/**
|
/**
|
||||||
* For internal use only<br>
|
* For internal use only<br>
|
||||||
* returns the rendered texture of the scene
|
* returns the rendered texture of the scene
|
||||||
* @return
|
* @return the filter texture
|
||||||
*/
|
*/
|
||||||
public Texture2D getFilterTexture() {
|
public Texture2D getFilterTexture() {
|
||||||
return filterTexture;
|
return filterTexture;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -270,7 +270,7 @@ public interface Renderer {
|
|||||||
public void renderMesh(Mesh mesh, int lod, int count);
|
public void renderMesh(Mesh mesh, int lod, int count);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets all previously used {@link GLObject}s on this Renderer.
|
* Resets all previously used GLObjects on this Renderer.
|
||||||
* The state of the GLObjects is reset in such way, that using
|
* The state of the GLObjects is reset in such way, that using
|
||||||
* them again will cause the renderer to reupload them.
|
* them again will cause the renderer to reupload them.
|
||||||
* Call this method when you know the GL context is going to shutdown.
|
* Call this method when you know the GL context is going to shutdown.
|
||||||
@ -280,7 +280,7 @@ public interface Renderer {
|
|||||||
public void resetGLObjects();
|
public void resetGLObjects();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes all previously used {@link GLObject}s on this Renderer, and
|
* Deletes all previously used GLObjects on this Renderer, and
|
||||||
* then resets the GLObjects.
|
* then resets the GLObjects.
|
||||||
*
|
*
|
||||||
* @see #resetGLObjects()
|
* @see #resetGLObjects()
|
||||||
|
@ -56,7 +56,7 @@ import java.util.logging.Logger;
|
|||||||
* this geometries are directly attached to the node in the scene graph.
|
* this geometries are directly attached to the node in the scene graph.
|
||||||
* usage is like any other node except you have to call the {@link #batch()} method once all geoms have been attached to the sub scene graph and theire material set
|
* usage is like any other node except you have to call the {@link #batch()} method once all geoms have been attached to the sub scene graph and theire material set
|
||||||
* (see todo more automagic for further enhancements)
|
* (see todo more automagic for further enhancements)
|
||||||
* all the geometry that have been batched are set to {@link CullHint#Always} to not render them.
|
* all the geometry that have been batched are set to {@link Spatial.CullHint#Always} to not render them.
|
||||||
* the sub geometries can be transformed as usual their transforms are used to update the mesh of the geometryBatch.
|
* the sub geometries can be transformed as usual their transforms are used to update the mesh of the geometryBatch.
|
||||||
* sub geoms can be removed but it may be slower than the normal spatial removing
|
* sub geoms can be removed but it may be slower than the normal spatial removing
|
||||||
* Sub geoms can be added after the batch() method has been called but won't be batched and will be rendered as normal geometries.
|
* Sub geoms can be added after the batch() method has been called but won't be batched and will be rendered as normal geometries.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -106,14 +106,14 @@ public class LwjglSmoothingTimer extends Timer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see com.jme.util.Timer#getTime()
|
* @see Timer#getTime()
|
||||||
*/
|
*/
|
||||||
public long getTime() {
|
public long getTime() {
|
||||||
return Sys.getTime() - startTime;
|
return Sys.getTime() - startTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see com.jme.util.Timer#getResolution()
|
* @see Timer#getResolution()
|
||||||
*/
|
*/
|
||||||
public long getResolution() {
|
public long getResolution() {
|
||||||
return LWJGL_TIMER_RES;
|
return LWJGL_TIMER_RES;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2012 jMonkeyEngine
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -81,14 +81,14 @@ public class LwjglTimer extends Timer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see com.jme.util.Timer#getTime()
|
* @see Timer#getTime()
|
||||||
*/
|
*/
|
||||||
public long getTime() {
|
public long getTime() {
|
||||||
return Sys.getTime() - startTime;
|
return Sys.getTime() - startTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see com.jme.util.Timer#getResolution()
|
* @see Timer#getResolution()
|
||||||
*/
|
*/
|
||||||
public long getResolution() {
|
public long getResolution() {
|
||||||
return LWJGL_TIMER_RES;
|
return LWJGL_TIMER_RES;
|
||||||
|
@ -65,7 +65,7 @@ public class OgreMaterialKey extends AssetKey<MaterialList> {
|
|||||||
/**
|
/**
|
||||||
* Returns the {@link MaterialExtensionSet} previously set using
|
* Returns the {@link MaterialExtensionSet} previously set using
|
||||||
* {@link OgreMaterialKey#setMaterialExtensionSet(com.jme3.scene.plugins.ogre.matext.MaterialExtensionSet) } method.
|
* {@link OgreMaterialKey#setMaterialExtensionSet(com.jme3.scene.plugins.ogre.matext.MaterialExtensionSet) } method.
|
||||||
* @return
|
* @return the {@link MaterialExtensionSet}
|
||||||
*/
|
*/
|
||||||
public MaterialExtensionSet getMaterialExtensionSet() {
|
public MaterialExtensionSet getMaterialExtensionSet() {
|
||||||
return matExts;
|
return matExts;
|
||||||
|
@ -218,7 +218,7 @@ public class TerrainPatch extends Geometry {
|
|||||||
* If the patch size is 32 then the returned value would be log2(32)-2 = 3
|
* If the patch size is 32 then the returned value would be log2(32)-2 = 3
|
||||||
* You can then use that value, 3, to see how many times you can divide 32 by 2
|
* You can then use that value, 3, to see how many times you can divide 32 by 2
|
||||||
* before the terrain gets too un-detailed (can't stitch it any further).
|
* before the terrain gets too un-detailed (can't stitch it any further).
|
||||||
* @return
|
* @return the maximum LOD
|
||||||
*/
|
*/
|
||||||
public int getMaxLod() {
|
public int getMaxLod() {
|
||||||
if (maxLod < 0)
|
if (maxLod < 0)
|
||||||
|
@ -368,7 +368,7 @@ public class TextureAtlas {
|
|||||||
/**
|
/**
|
||||||
* Get the <code>TextureAtlasTile</code> for the given Texture
|
* Get the <code>TextureAtlasTile</code> for the given Texture
|
||||||
* @param texture The texture to retrieve the <code>TextureAtlasTile</code> for.
|
* @param texture The texture to retrieve the <code>TextureAtlasTile</code> for.
|
||||||
* @return
|
* @return the atlas tile
|
||||||
*/
|
*/
|
||||||
public TextureAtlasTile getAtlasTile(Texture texture) {
|
public TextureAtlasTile getAtlasTile(Texture texture) {
|
||||||
String sourceTextureName = textureName(texture);
|
String sourceTextureName = textureName(texture);
|
||||||
@ -390,7 +390,7 @@ public class TextureAtlas {
|
|||||||
/**
|
/**
|
||||||
* Creates a new atlas texture for the given map name.
|
* Creates a new atlas texture for the given map name.
|
||||||
* @param mapName
|
* @param mapName
|
||||||
* @return
|
* @return the atlas texture
|
||||||
*/
|
*/
|
||||||
public Texture getAtlasTexture(String mapName) {
|
public Texture getAtlasTexture(String mapName) {
|
||||||
if (images == null) {
|
if (images == null) {
|
||||||
|
@ -94,7 +94,7 @@ public class TriangleCollector {
|
|||||||
*
|
*
|
||||||
* @param inGeoms
|
* @param inGeoms
|
||||||
* @param tris
|
* @param tris
|
||||||
* @return
|
* @return The optimized geometries
|
||||||
*/
|
*/
|
||||||
public static final List<Geometry> gatherTris(Geometry[] inGeoms, List<OCTTriangle> tris){
|
public static final List<Geometry> gatherTris(Geometry[] inGeoms, List<OCTTriangle> tris){
|
||||||
Collections.sort(tris, comparator);
|
Collections.sort(tris, comparator);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user