博客专栏  >  移动开发   >  OpenGL 从入门到起飞

OpenGL 从入门到起飞

主要介绍OpenGL的基础知识,以及一些常规效果的实现。

关注
2 已关注
10篇博文
  • OpenGL(十) 手机不可用特性 ComputeShader GeometryShader ...

    由于当前市场上还存在大量低端Android机器,它们只支持到OpenGL ES2.0,因此 手机不可用特性 有很多。对于一些3.0 甚至4.0的特性,只能看看热闹了。当然基本了解还是需要的,万一哪天都...

    2017-04-25 14:05
    744
  • OpenGL(九)使用 FrameBufferObject

    在OpenGL中所有的图形,都会绘制到 FrameBufferObject 上。如果想使用界面的做分屏渲染,或需要屏幕图像制成贴图以备后期处理,就需要用到 FrameBufferObject 技术,这...

    2017-04-19 15:27
    1684
  • OpenGL(八)使用 subroutine 切换可编程管线

    Subroutine 功能是在OpenGL 4.0 版本里才增加的,因此对于各种Android手机,这个功能基本跪了。如果你发现你的程序报错:ARB_shader_subroutine,那就说明当前显...

    2017-04-14 13:57
    1517
  • OpenGL(七) GeometryInstancing 几何体实例化

    几何体实例化( GeometryInstancing ),是一种用于大批量重复物件渲染的GPU技术,以降低客户端和显卡端数据传输量,所谓的“一次提交,多次渲染”。简单说来就是合并DrawCall。通过...

    2017-04-10 15:34
    596
  • OpenGL(六)使用 VAO 打包指令 优化代码结构

    通常说来当创建好vbo的数据结构,还需要设置 glVertexAttribPointer 等一系列属性,在OpenGL中提供了 VAO (Vertex Array Object)它相当于同时记录了数据...

    2017-03-29 12:16
    636
  • OpenGL(五) 指令错误 检测的封装方法

    OpenGL的指令,返回值均为void,因此没法通过返回值来判断 指令错误 。为了能够第一时间发现问题,需要加入一个封装来监测是否有指令调用失败。当OpenGL调用出现错误时,会将错误的ID储存到一个...

    2017-03-27 13:43
    819
  • OpenGL(四)Shader错误 检测

    由于shader不需要预编译,因此在OpenGL动态加载时会碰到 shader错误 。因此需要区分错误属于C++代码还是shader代码。本文主要探讨如何封装检测 shader错误 的接口。在Open...

    2017-03-20 12:53
    1712
  • OpenGL(三) 加载贴图

    有了模型还需要贴图。 加载贴图 的流程大体分为两部分,首先是图片的解码,其次是使用UV坐标与模型对应。本文主要从底层原理和第三方库两个方面来介绍 加载贴图 。下面分别介绍硬编码实现和SOIL库两种方式...

    2017-03-15 12:12
    748
  • OpenGL(二)加载模型

    在OpenGL(一) OpenGL管线 与 可编程管线流程中,提到加载VBO、IBO的相关技术,本篇详细说一下。实际应用时,我们是不可能手写顶点和索引点。通常模型是使用3dMax或Maya制作,然后在...

    2017-03-13 12:59
    1756
  • OpenGL(一) OpenGL管线 与 可编程管线流程

    由于OpenGL是一个纯渲染核心,要写OpenGL程序,得先搭建一个外壳程序。不同平台下外壳程序的实现各有不同,这个系列的文章都在win32的平台上进行。具体实现,网上能找到很多,所以这不是本文的重点...

    2017-03-10 12:21
    1963
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部