您的位置:首页 > 移动开发 > Android开发

Android OpenGL 播放视频学习

2016-03-11 09:34 519 查看
1, 初步接触Open GL:
  /article/4739275.html
  使用GLSurfaceView和Render实现一个简单的三角形和正方形.其中,GLSurfaceView用于显示视图,Render用于3D渲染。这个博客的代码,运行时会报:
  java.lang.IllegalArgumentException: Must use a native order direct Buffer
  是因为顶点Buffer需要使用以下的方式初始化:
  

private static final int FLOAT_SIZE_BYTES = 4;
private FloatBuffer mTriangleVertices;
private final float[] mTriangleVerticesData = {
// X, Y, Z, U, V
-1.0f, -1.0f, 0, 0.f, 0.f,
1.0f, -1.0f, 0, 1.f, 0.f,
-1.0f,  1.0f, 0, 0.f, 1.f,
1.0f,  1.0f, 0, 1.f, 1.f,
};
public void init() {
mTriangleVertices = ByteBuffer.allocateDirect(
mTriangleVerticesData.length * FLOAT_SIZE_BYTES)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
mTriangleVertices.put(mTriangleVerticesData).position(0);
}


2,Android OpenGL ES教程
  http://blog.csdn.net/column/details/apidemoopengl.html?&page=3
  -- 主要包括了OpenGL ES 1.0和2.0的一些简单用法。

  http://www.jayway.com/2009/12/03/opengl-es-tutorial-for-android-part-i/

  -- 一个外国友人的Android OpenGL ES教程.

3, Android关于SurfaceView, GLSurfaceView, SurfaceTexture, Texture几个View的使用和区别(显示视频的界面)。
  http://www.wfuyu.com/technology/22762.html

4, GLSL教程(Shading language)
  /article/1945454.html

5, 使用TextureView, SurfaceTexture,OpenGL ES来播放视频的教程:
  http://www.jianshu.com/p/d3d3186eefcb
  http://www.jianshu.com/p/b2d949ab1a1a
  http://www.jianshu.com/p/291ff6ddc164
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: