Launcher 滑屏特效 3d水晶空翻 之多重纹理贴图

这是一个使用OpenGL ES 2.0和shader着色器技术的项目,展示了如何通过多重纹理贴图实现3D立方体(Cube)滑屏特效。项目源码可在GitHub上找到,优化了立方体的渲染效果。
摘要由CSDN通过智能技术生成

项目源码:https://github.com/xufeifandj/CubeEffectTest

CubeEffectTest 运用opengl es 2.0 shder着色器 多重纹理贴图的例子,优化cube立方体



package xu.ferris.cubeeffecttest;

import android.opengl.GLES11Ext;
import android.opengl.GLES20;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import  static xu.ferris.cubeeffecttest.Constant.UNIT_SIZE;
import  static xu.ferris.cubeeffecttest.Constant.UNIT_SIZE_ZERO;
import  static xu.ferris.cubeeffecttest.Constant.UNIT_SIZE_TAB;
//颜色矩形
public class PageRect {
    int mProgram;//自定义渲染管线着色器程序id
    int muMVPMatrixHandle;//总变换矩阵引用
    int muMMatrixHandle;//位置、旋转变换矩阵引用
    int maPositionHandle; //顶点位置属性引用 

    private int mTextureUniformHandle;
    private int mTextureUniformLightHandle;
    private int mTextureCoordinateHandle;

    String mVertexShader;//顶点着色器代码脚本  	 
    String mFragmentShader;//片元着色器代码脚本

    FloatBuffer mVertexBuffer;//顶点坐标数据缓冲

    FloatBuffer mCubeTextureCoordinates;//顶点着色数据缓冲
    int vCount = 0;

    int muRHandle;
    int muAlpha;

    public PageRect(MySurfaceView mv) {
        //初始化顶点坐标与着色数据
        initVertexData();
        //初始化shader
        initShader(mv);

        initTexture(mv);
    }
    private int textures[]=new int[2];
    private void initTexture(MySurfaceView mv) {
        textures[0]=TextureHelper.loadTexture(mv.getContext(),R.drawable.gl_crystal_font)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重播

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值