您现在的位置是:首页 > 正文

opengles学习笔记

2024-02-01 03:47:25阅读 3
GLSL语言里面的
attribute和uniform类型的变量,在程序中通过GLES20.glGetAttribLocation和GLES20.glGetUniformLocation获取,
这里获取类似取到了他的地址一样,
就像是指针,然后在程序里面可以通过指针改变这些变量的值,怎么改变呢?
1.通过GLES20.glEnableVertexAttribArray(xxxhandle);来启用这些变量句柄
2.通过GLES20.glVertexAttribPointer来传入顶点矩阵或者颜色矩阵等等,颜色矩阵和顶点坐标是我们定义的,
这样就和GLSL里面的变量关联起来了

private final String vertexShaderCode=
        "attribute vec4 vPosition;"+
        "void main() {"+
        "  gl_Position = vPosition;"+
        "}";
static float triangleCoords[]={
        0.5f,0.5f,0.0f, // top
        -0.5f,-0.5f,0.0f, // bottom left
        0.5f,-0.5f,0.0f  // bottom right
        };
private int mPositionHandle;
//获取顶点着色器的vPosition成员句柄
mPositionHandle=GLES20.glGetAttribLocation(mProgram,"vPosition");
//启用三角形顶点的句
GLES20.glEnableVertexAttribArray(mPositionHandle);
//准备三角形的坐标数据
GLES20.glVertexAttribPointer(mPositionHandle,COORDS_PER_VERTEX,
GLES20.GL_FLOAT,false,
vertexStride,vertexBuffer);

网站文章

  • Android 当前时间差,返回几分钟前、几小时前、几个月前

    总DateUtil时间工具类地址: 需求: 以前的一个时间和当前时间多对比,返回几分钟前、几小时前、几个月前、几年前 代码: /** * 时间差 * * @param date * @return */ public static String getTimeFormatText(Date date) { long...

    2024-02-01 03:47:18
  • logback.xml配置文件logger与root标签详解

    logback.xml配置文件logger与root标签详解

    2024-02-01 03:46:49
  • 自定义服务器控件,将web方法添加到自定义服务器控件

    我创建了一个服务器用户控件,我希望它能够使用WebMethod。如果Web方法在我的主应用程序(作为ASMX文件),它工作正常。问题是我想将此方法包含在与用户控件相同的项目库中,以便我可以将DLL作为...

    2024-02-01 03:46:43
  • pip安装超时,Exception:Traceback(most recent call last)

    pip安装 Exception:Traceback

    2024-02-01 03:46:35
  • u3d游戏客户端面试遇到需要准备的知识

    三 常问的问题1 你们游戏中模型的顶点数面数的要求?角色的面数控制在2000以内,小怪控制在1500以内2 你对UI优化的一些处理优化由Unity UI实现的用户界面是一门艺术。很少见很清楚的规则,相反,每种情况都必须联系系统行为,仔细考虑评估。考虑优化Unity UI时最核心的原则是结合开销,平衡draw calls,复杂的UI 需要做权衡这里有Unity UI用户遇到的四个常见的问题过...

    2024-02-01 03:46:29
  • readme, 自学记录

    这里的文章用于自学记录,便于忘记时翻查。不经常使用的东西,很容易忘记,所以记录在这里。其中的发现,也都是基于自己电脑、系统、软件、折腾经历、等相关,不具有普遍性。如果我的经历对你有所帮助,很开心。如果没有帮助,请到“其它店家”看看。谢谢包含。欢迎指点。...

    2024-02-01 03:46:00
  • Centos7 最小化安装,导致 ifconfig,netstat 命令找不到

    在使用 Linux/UNIX 时,会经常遇到 “command not found” 的错误,就如提示的信息,Linux /UNIX 没有找到该命令。原因在于命令拼写错误或 Linux/UNIX 系统...

    2024-02-01 03:45:52
  • 将EdgeRouter-X固件恢复为以前的版本

    最近我将EdgeRouter-X的固件从1.10.9升级到2.01,在使用过程中,发现新固件不太稳定,于是为了谨慎起见,我决定将路由器的固件降级回v1.10.9。如果你有旧的固件配置备份,你也可以选择刷回低版本固件,然后恢复备份文件。当然,也可以跟我一样,直接在系统中切换回旧的固件。因为无论何时执行固件升级,EdgeOS都会将当前固件设置为辅助固件,而不会去删除旧固件,这为我...

    2024-02-01 03:45:47
  • 1.27qq思维导图

    1.27qq思维导图

    2024-02-01 03:45:19
  • Cookie 可以跨端口吗?Cookie 可以绑定 IP 吗? 热门推荐

    前两天在 实现基于 ASP.NET Forms 身份验证的跨子域单点登录 一文中提到利用 cookie 支持跨子域 domain 特性来实现单点登录,今天忽然想假如不是缺省端口 80 呢?比如 808...

    2024-02-01 03:45:12