前言 前面的实践教程: OpenGL ES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 OpenGL ES实践教程3-Demo03-...Mirror OpenGL ES实践教程4-Demo04-VR全景视频播放 OpenGL ES实践教程5-Demo05-多重纹理实现图像混合 OpenGL ES实践教程6-Demo06-全景视频获取焦点...OpenGL ES实践教程7-Demo07-多滤镜叠加处理 OpenGL ES实践教程8-Demo08-blend混合与shader混合 其他教程请移步OpenGL ES文集。...核心思路 用AVFoundation处理视频合并的时间轴关系(混合规则),用OpenGL ES处理两个视频图像混合。...OpenGL ES的文集有将近半年没更新,一部分原因是新的工作比较忙碌,一部分原因是觉得需要沉淀一段时间。
OpenGL ES与WebGL OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计...OpenGL发展史 OpenGL是个开放的标准,虽然它由SGI(美国硅图公司)首创,但它的标准并不是控制在SGI的手中,而是由OpenGL体系结构审核委员会(ARB)所掌管。...ARB每隔4年开一次会,对OpenGL规范进行维护和改善,并出台计划对OpenGL标准进行升级,使OpenGL一直保持与时代的同步。...软件安装 在正式开始学习OpenGL之前,我们需要先配置好OpenGL的软件环境。...常用的OpenGL窗口库有GLUT、GLFW和SDL,此处为我们选择使用得比较多的GLFW。 Visual Studio对于OpenGL(gl.h)只支持到1.1,而我们使用的是OpenGL 3.3。
教程 入门教程和进阶教程,介绍的是OpenGL ES基础,学习图形学基本概念,了解OpenGL ES的特性。...实践教程是OpenGL ES在实际开发中的应用,demo的来源主要是apple官网和github。...这一次的内容是用OpenGL ES绘制YUV视频:获取到视频的每帧图像信息,用OpenGL ES绘制出来。 效果展示 ?...OpenGL ES的基础不再赘述,入门教程和进阶教程这里有详细的介绍,这次着重介绍如何把YUV的视频显示绘制到屏幕上。...使用OpenGL ES绘制视频部分的逻辑与之前教程介绍相差不多,增加了CVOpenGLESTextureCacheRef的使用。 附上代码
教程 OpenGLES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 其他教程请移步OpenGL ES文集,这一篇介绍帧缓存、Eye坐标系...、OpenGL ES调试技巧。...具体细节 1、帧缓存 OpenGL ES的绘制都是输出到帧缓存,GLKView的帧缓存会显示到屏幕。...3、出现OpenGL ES的调试画面 ? 思考:如何使用? 这里是个人的使用方式,不一定正确,有疑问可以看苹果的教程。...绘制镜子用的三角形带 —— OPENGL_三角形带GL_TRIANGLE_STRIP详解
教程 OpenGL ES入门教程1-Tutorial01-GLKit OpenGL ES入门教程2-Tutorial02-shader入门 OpenGL ES入门教程3-Tutorial03-三维变换...OpenGL ES系列教程在这里。 OpenGL ES系列教程的代码地址 - 你的star和fork是我的源动力,你的意见能让我走得更远。 效果展示 ?...4、深度测试 在前面的教程介绍过,开启深度测试需要分配深度测试的缓冲区,并挂载到相应的帧缓冲区。 在GLKit代码中,深度测试的开启十分简单。...总结这几篇教程花了一个星期左右。...学习过程中有几部分最难受: 第一部分是OpenGL ES的顶点属性、纹理贴图,对顶点到图形的过程不理解,对OpenGL ES的数据缓存机制不了解,无知容易使人知难而退; 第二部分是shader和glsl
教程 OpenGLES入门教程1-Tutorial01-GLKit 这次的是shader编译链接、glsl入门和简单图形变换。 OpenGL ES系列教程在这里。...OpenGL ES系列教程的代码地址 - 你的star和fork是我的源动力,你的意见能让我走得更远。 效果展示 ?...type); glShaderSource(*shader, 1, &source, NULL); glCompileShader(*shader); } 2、glsl入门 glsl是OpenGL...总结 这一篇的内容作为教程2难度有点大,特别是shader和glsl语言容易让人兴趣直接降到谷底,如果觉得难,可以暂时不用管glsl语言。
文章目录 1 预备知识 1.1 坐标系 1.2 投影 1.3 视景体 1.4 视口 1.5 视点 1.6 OpenGL 变换 2 安装 pyopengl 3 OpenGL 库及函数简介 3.1 OpenGL...核心库 GL 3.2 OpenGL 实用库 GLU 3.3 OpenGL 工具库 GLUT 3.4 Windows 专用库 WGL 4 开始 OpenGL 的奇幻之旅 4.1 OpenGL 基本图形的绘制...使用 OpenGL 不需要具备多么高深的数学水平,只要能辅导初中学生的数学作业,就足够用了。 1.1 坐标系 在 OpenGL 的世界里,有各式各样的坐标系。...OpenGL中的核心库和实用库可以在所有的OpenGL平台上运行。...《OpenGL编程精粹》杨柏林 陈根浪 徐静 编著 Opengl开发库介绍 OpenGL的API函数使用手册 glut处理鼠标事件 Learn OpenGL 本文写作过程持续了两三周,期间可谓呕心沥血。
教程 OpenGL ES入门教程1-Tutorial01-GLKit OpenGL ES入门教程2-Tutorial02-shader入门 这次是三维图形变换。...OpenGL ES系列教程在这里。 OpenGL ES系列教程的代码地址 - 你的star和fork是我的源动力,你的意见能让我走得更远。 效果展示 ?...透视投影的推导可以看 这里 OpenGL ES的变换 OpenGL ES通过顶点缓存数组和图元绘制指令,形成基本的图元;图元在顶点着色器会进行顶点变换,也就是几何处理阶段的几何变换和投影变换;到了像素处理阶段...position; // vPos = position; gl_Position = vPos; } 思考题 透视投影里面有一个视锥体的概念,物体不在视锥体内的部分不可见,OpenGL...总结 教程2、3是shader的一个分支,内容相对较难,接下的教程主要以GLKit为主。 附上源码地址 代码里面的util在 这里
前言 这里是一篇新手教程,环境是Xcode7+OpenGL ES 2.0,目标写一个OpenGL ES的hello world。 OpenGL ES系列教程在这里。...OpenGL ES系列教程的代码地址 你的star和fork是我的源动力,你的意见能让我走得更远。 核心思路 通过GLKit,尽量简单地实现把一张图片绘制到屏幕。 效果展示 ?...具体细节 1、新建OpenGL ES上下文 - (void)setupConfig { //新建OpenGLES 上下文 self.mContext = [[EAGLContext alloc...setCurrentContext:self.mContext]; } GLKView* view = (GLKView *)self.view;这里需要在storyboard里面把view的类设置成GLKView,其他代码是OpenGL...如果对OpengGL ES感兴趣,但是却毫无图形学基础的,可以看看LearnOpenGL教程。 思考题 1、代码中有6个顶点坐标,能否使用更少的顶点显示一个图像?
文章目录 一、OpenGL 状态机概念 二、OpenGL 矩阵概念 上一篇博客 【OpenGL】八、初始化 OpenGL 渲染环境 ( 导入 OpenGL 头文件 | 链接 OpenGL 库 | 将窗口设置为...OpenGL 窗口 | 设置像素格式描述符 | 渲染绘制 ) ★ 进行了 OpenGL 渲染环境初始化 ; 本篇博客简单介绍 OpenGL 中的一些理论概念 ; 一、OpenGL 状态机概念 ----...OpenGL 是一个状态机 , 其中包含了很多状态 , 简单列举下面的几项 : OpenGL 中的 矩阵 Matrix , 包含了 投影 ( Projection ) 矩阵 , 模型 ( Model...绘制 3D 图形时 , 就会读取当前的状态机参数 , 利用这些状态机进行绘制 , 而我们就在绘制之前设置上述一系列的状态机 , 确保 OpenGL 绘制按照我们设想的进行 ; 在上一篇博客 【OpenGL...】八、初始化 OpenGL 渲染环境 ( 导入 OpenGL 头文件 | 链接 OpenGL 库 | 将窗口设置为 OpenGL 窗口 | 设置像素格式描述符 | 渲染绘制 ) ★ 中Windows 窗口创建完成后
include // Windows的头文件 #include // 包含最新的gl.h,glu.h库 #include // 包含OpenGL...实用库 #pragma comment(lib, "opengl32.lib") #pragma comment(lib, "glu32.lib") #pragma comment(lib, "glut32....lib") HGLRC hRC=NULL; // 窗口着色描述表句柄 HDC hDC=NULL; // OpenGL渲染描述表句柄...WPARAM, LPARAM); // WndProc的定义,函数的注册 GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // 重置OpenGL...fullscreen; // 切换 全屏 / 窗口 模式 // 重建 OpenGL 窗口 if (!
教程 OpenGL ES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 OpenGL ES实践教程3-Demo03-Mirror OpenGL...ES实践教程4-Demo04-VR全景视频播放 OpenGL ES实践教程5-Demo05-多重纹理实现图像混合 其他教程请移步OpenGL ES文集。...当用户一直移动屏幕的时候,需要不断重绘);最后,glReadPixel是同步操作,对性能有较大的影响; 方案3是较为合理的实现方案,仅需要CPU进行少量的浮点变化运算,不需要外设和离屏渲染; 本文在OpenGL...ES实践教程4-Demo04-VR全景视频播放的基础上,添加简单的色块,单焦点进入色块时进行变色。...具体细节 先把OpenGL ES实践教程4-Demo04-VR全景视频播放的工程拖过来。
教程 OpenGL ES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 OpenGL ES实践教程3-Demo03-Mirror 其他教程请移步...OpenGL ES文集,这一篇介绍以下知识点: AVFoundation——加载视频; CoreVideo——配置纹理; OpenGL ES——渲染视频; 3D数学——球体以及3维变换; 核心思路 通过...AVFoundation加载视频源,读取到每一帧的CMSampleBuffer之后,用CoreVideo创建OpenGL ES纹理缓存并上传GPU;OpenGL ES按照球体的模型来渲染视频;用移动摄像机朝向或者旋转球体的方式来响应手指的移动达到移动镜头的效果...具体细节 1、配置OpenGL ES; loadShaders加载着色器和compileShader编译着色器的内容前面的教程已经介绍过都次,不再赘述; setupBuffers配置缓存信息,并且创建顶点数据缓存...2D视频到球面的显示 之前的教程有介绍过,点这里 下图是一张展开了的地球图像 ? 下图是按照球体的顶点数据进行渲染 ? 6、视角变化 球的圆心在原点,摄像机的所在也是原点,如下图。
教程 OpenGL ES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 OpenGL ES实践教程3-Demo03-Mirror OpenGL...ES实践教程4-Demo04-VR全景视频播放 OpenGL ES实践教程5-Demo05-多重纹理实现图像混合 OpenGL ES实践教程6-Demo06-全景视频获取焦点 其他教程请移步OpenGL...饱和度和色温.gif 具体步骤 1、初始化OpenGL ES配置 初始化数据->设置CAEAGLLayer->选择OpenGL ES上下文->初始化帧缓存->编译shader->配置顶点数组信息。...GL_TRIANGLE_STRIP, 0, 4); [_context presentRenderbuffer:GL_RENDERBUFFER]; 遇到的问题 GPU Frame Capture没有返回 在OpenGL...在用instrucment的OpenGL ES Analysis时发现帧缓存的设置有问题; 回来检查帧缓存的初始化代码,发现是glFramebufferTexture2D的第一个参数被设置成_tempFramebuffer
OpenGL(五)-- OpenGL中矩阵的变换 前言 照常提出几个问题,希望通过阅读可以找到答案。 对物体3维的2维投影进行位移,有几种方式? 模型视图矩阵代表了什么?...确立透视投影需要的参数: aspect(远/近裁切面的宽高比,它本身也是视口) , near(近裁切面位置) , far(远裁切面位置),投影角度,视口位置 以上图片都出自:_superhuihui-OpenGL...中涉及到的矩阵变换 在OpenGL中矩阵的计算方式 // 矩阵计算 m3dMatrixMultiply44(ModelViewMatrix(模型视图矩阵),ViewMatrix(观察者矩阵), ModelMatrix...如果想要了解具体矩阵是如何计算的:3D数学 矩阵知识 矩阵栈 在计算时会发现这种计算会导致物体唯一无法重置,为了解决这种问题OpenGL提出了矩阵栈的概念。栈这个概念应该是很熟悉了吧!
教程 OpenGL ES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 OpenGL ES实践教程3-Demo03-Mirror OpenGL...ES实践教程4-Demo04-VR全景视频播放 其他教程请移步OpenGL ES文集。...本文探究如何使用OpenGL ES实现两个图片的混合。...This is Jeff LaMarche's GLProgram OpenGL shader wrapper class from his OpenGL ES 2.0 book....###总结 最近几周都忙着[直播系列的补齐](http://www.jianshu.com/notebooks/5037333/latest),OpenGL ES的上一篇[OpenGL ES实践教程(四
前面的教程介绍了Metal的图片绘制、三维变换、视频渲染、天空盒,用计算管道实现灰度计算和sobel边界检测,这次探究Metal与OpenGL ES的交互。...Metal系列教程的代码地址; OpenGL ES系列教程在这里; 你的star和fork是我的源动力,你的意见能让我走得更远。...CVPixelBufferRef Metal纹理在Metal入门教程(五)视频渲染有详细的介绍; CVPixelBufferRef OpenGL ES纹理在OpenGL ES文集也有相关的介绍...回忆下OpenGL ES教程里的内容,苹果用CAEAGLLayer来承载OpenGL ES的内容,最终渲染结果都是CAEAGLLayer上颜色缓冲区的数据。...预告,下一篇是对入门教程的总结。
教程 OpenGL ES实践教程1-Demo01-AVPlayer OpenGL ES实践教程2-Demo02-摄像头采集数据和渲染 OpenGL ES实践教程3-Demo03-Mirror OpenGL...ES实践教程4-Demo04-VR全景视频播放 OpenGL ES实践教程5-Demo05-多重纹理实现图像混合 OpenGL ES实践教程6-Demo06-全景视频获取焦点 OpenGL ES...实践教程7-Demo07-多滤镜叠加处理 其他教程请移步OpenGL ES文集。...在OpenGL ES实践教程5-Demo05-多重纹理实现图像混合尝试把两个图像用多重纹理的方式进行混合,这次补充介绍其他混合方式--blend混合与shader混合。...gl_LastFragData[0]; gl_FragColor = (1.0 - text.a) * test + text * text.a; } ``` ###总结 blend混合的优势在于OpenGL
A 3D scene rendered by OpenGL must be projected onto the computer screen as a 2D image....Then, OpenGL will reconstruct the edges of the polygon where clipping occurs....-Wc < Xc,Yc,Zc 然后,openGL会建视锥体裁剪剔除多面体的边缘。...(See more details on OpenGL Transformation.)...完成投影矩阵: OpenGL Perspective Projection Matrix 翻译: openGL透视投影矩阵 This projection matrix is for a general
OpenGl.png
领取专属 10元无门槛券
手把手带您无忧上云