美文网首页
Opengl 中的方法说明

Opengl 中的方法说明

作者: 这个名字也有宇 | 来源:发表于2016-10-26 09:38 被阅读0次

    一:glClearColor()和glClear()组合

    1. 必须强调glClearColor只起到Set的作用,并不Clear任何!不要混淆~

    2. glClearColor的作用是,指定刷新颜色缓冲区时所用的颜色。

    所以,完成一个刷新过程是要glClearColor(COLOR)glClear(GL_COLOR_BUFFER_BIT)配合使用。

    glClearColor(0.0, 0.0, 1.0, 1.0);//蓝色

    glClear(GL_COLOR_BUFFER_BIT);

    3. 清除颜色缓冲区的作用是,防止缓冲区中原有的颜色信息影响本次绘图(注意!即使认为可以直接覆盖原值,也是有可能会影响的),当绘图区域为整个窗口时,就是通常看到的,颜色缓冲区的清除值就是窗口的背景颜色。所以,这两条清除指令并不是必须的:比如对于静态画面只需要设置一次,比如不需要背景色/背景色为白色。

    4. glClear 比手动涂抹一个背景画布效率高且省力,所以通常使用这种方式。

    二:gl.glMatrixMode()和glLoadIdentity()的组合

    这两个基本是组合使用的。

    设置当前的操作矩阵是什么样类型的矩阵。

    比如在opengl编程:简单的三角形绘制里面

    这是目前的理解:

    在surfaceviewSizeChange的时候设置这个,是说明我们眼前看到的画面是通过投影矩阵来进行获取的,所以在显示的时候 相同的物体会根据在Z轴上面的距离不同有大小的区别

    glMatrixMode(GL10.GL_PROJECTION)

    gl.glLoadIdentity();

    然后在onDraw()中  设置

    //设置为模型视图矩阵

    gl.glMatrixMode(GL10.GL_MODELVIEW);

    //加载单位矩阵

    gl.glLoadIdentity();

    这些在我们操作矩阵的时候是操作模型矩阵或者视图矩阵

    两者达到的效果是一样的,可以在基本概念(二)中看到。

    要么改变的是眼球的位置,要求改变的是物体的位置,两者达到的效果一致

    相关文章

      网友评论

          本文标题:Opengl 中的方法说明

          本文链接:https://www.haomeiwen.com/subject/zngluttx.html