Giter Club home page Giter Club logo

opengldemo's Introduction

OpenGL Demo

OpenGL 体验

01 画一个简单的三角形

02 画一个简单的圆形

03 画一个简单的矩形

在基本清楚了 OpenGL的使用的条件下, 整理了shader的compile和Link, 统一管理了uniform和attribute,使用VBO 代替了原来的客户端数据。 初学难点:VBO的理解。

04 一张贴图和线条

在需要使用 多个坐标点的情况下, 使用了VAO来管理VBO。 简单的做到了渲染多个不一样的图形。 初学难点:1.VAO的理解和切换。2.需要将原始的本地图片转换为可渲染的位图, 理解纹理的绘制方式。3.本例子依旧使用了一个program,在以后的例子中会使用多个。

05 多张纹理贴图

使用多张纹理贴图,可以对glsl编程,对图片处理(显示方式、图片磨皮等)。 初学难点:1.理解纹理单元在opengl的存在方式,glActiveTexture是选择当前纹理的意思。

06 纹理贴图的旋转

使用glsl旋转贴图 初学难点:使用旋转矩阵转换图片的坐标,有图形学基础的不难。

07 一个可旋转的立体菱锥形

在整合之前的画图,贴图之后,绘制一个可旋转的立体菱锥形。 初学难点:1.立体图形贴图,2.图形的透视矩阵,平移,旋转。矩阵计算。

08 09 觉得好玩,又做了两个立方体

使用学过的VAO做了多个相同的立方体

10 获取摄像信息并实时绘制

使用CoreVideo 获取摄像,拿到CMSampleBufferRef后绘制。 初学难点:开始直接将CMSampleBufferRef转换为位图显示,效率底。可使用CVOpenGLESTextureCacheRef对图片缓存,再取出来使用,和使用纹理贴图一样。

11 绘图

使用opengl完成绘图功能,实现了清除全部、重绘所有步骤,撤销前一个步骤的功能。 初学难点:1.输入绘制信息的时候,两个点之间做填充处理。2.因为需要撤销功能,存储了之前的画图步骤。

12 绘制可旋转地球仪

初学难点:需要理解地球仪贴图的坐标计算。

13 绘制可旋转地球仪并加上线

线和地球仪使用的不同shader,有多个program。

14 解析显示YUV格式的文件

理解YUV之后,解析一张YUV格式的文件

opengldemo's People

Contributors

stonelay avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.