Android Open Source - glvideoplayer-android Texture Factory From Project Back to project page glvideoplayer-android .
License The source code is released under:
Apache License
If you think the Android project glvideoplayer-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package net.binzume.android.glvideoplayer;
/ * w w w . j a v a 2 s . c o m * /
import javax.microedition.khronos.opengles.GL10;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.opengl.GLES20;
import android.opengl.GLUtils;
public class TextureFactory {
/**
*
* @param gl_
* GLES1.x????????????????????GLES2.0????????????????
* @param bitmap
* @return
*/
public static Texture createFromBitmap(GL10 gl_, Bitmap bitmap) {
int [] textureID = new int [1];
GLES20.glGenTextures(1, textureID, 0);
int textureNo = textureID[0];
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
GLES20.glBindTexture(GL10.GL_TEXTURE_2D, textureNo);
GLES20.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);
GLES20.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_NEAREST);
float bmpSize = Math.max(bitmap.getWidth(), bitmap.getHeight());
final float texSize;
if (bmpSize <= 256) {
texSize = 256.0f;
} else if (bmpSize <= 512) {
texSize = 512.0f;
} else {
texSize = 1024.0f;
}
Matrix matrix = new Matrix();
matrix.postScale(texSize / bitmap.getWidth(), texSize / bitmap.getHeight());
Bitmap bmp = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bmp, 0);
bmp.recycle();
return new Texture(textureNo, bitmap.getWidth(), bitmap.getHeight());
}
public static Texture createFromResource(Context context, int resId) {
return createFromBitmap(null, BitmapFactory.decodeResource(context.getResources(), resId));
}
}
Java Source Code List net.binzume.android.glvideoplayer.DeviceCameraPlane.java net.binzume.android.glvideoplayer.FBOTexture.java net.binzume.android.glvideoplayer.GLShaderProgram.java net.binzume.android.glvideoplayer.GLVideoRenderer.java net.binzume.android.glvideoplayer.MainActivity.java net.binzume.android.glvideoplayer.MediaPlayerPlane.java net.binzume.android.glvideoplayer.NicoCommentPlane.java net.binzume.android.glvideoplayer.OESTexture.java net.binzume.android.glvideoplayer.TextureFactory.java net.binzume.android.glvideoplayer.Texture.java net.binzume.android.glvideoplayer.VideoSurfaceView.java net.binzume.android.nicoplayer.player.CommentController.java net.binzume.android.nicoplayer.player.CommentLoadTask.java net.binzume.android.nicoplayer.player.CommentSlot.java net.binzume.android.nicovideo.ChannelCategoryInfo.java net.binzume.android.nicovideo.ChannelInfo.java net.binzume.android.nicovideo.Comment.java net.binzume.android.nicovideo.MyList.java net.binzume.android.nicovideo.NicoSession.java net.binzume.android.nicovideo.ThreadInfo.java net.binzume.android.nicovideo.VideoFileInfo.java net.binzume.android.nicovideo.VideoInfo.java net.binzume.android.nicovideo.util.HtmlUtil.java net.binzume.android.nicovideo.util.HttpClient.java net.binzume.android.nicovideo.webapi.ChannelAPI.java net.binzume.android.nicovideo.webapi.CommentAPI.java net.binzume.android.nicovideo.webapi.Constants.java net.binzume.android.nicovideo.webapi.FriendListAPI.java net.binzume.android.nicovideo.webapi.LoginAPI.java net.binzume.android.nicovideo.webapi.MyListAPI.java net.binzume.android.nicovideo.webapi.NotLoginException.java net.binzume.android.nicovideo.webapi.PaymentRequiredException.java net.binzume.android.nicovideo.webapi.VideoAPI.java net.binzume.android.nicovideo.webapi.VideoRssParser.java net.binzume.android.nicovideo.webapi.VideoSearchAPI.java net.binzume.android.nicovideo.webapi.WatchItemAPI.java net.binzume.android.nicovideo.webapi.WebApiException.java