
OpenGL
文章平均质量分 82
jeffasd
这个作者很懒,什么都没留下…
展开
-
OpenGL中常用函数详解和VBO VAO详解以及VAO的使用
OpenGL中常用函数详解和VBO VAO详解以及VAO的使用VBO将顶点信息放到GPU中,GPU在渲染时去缓存中取数据,二者中间的桥梁是GL-Context。GL-Context整个程序一般只有一个,所以如果一个渲染流程里有两份不同的绘制代码,GL-context就负责在他们之间进行切换。这也是为什么要在渲染过程中,在每份绘制代码之中会有glBindbuffer、glEnableVe原创 2017-09-07 11:08:00 · 2526 阅读 · 0 评论 -
FreeType文字绘制笔记
http://blog.icodeten.com/game/dev/2015/01/31/opengl-text-drawing-note/与D3D相比,OpenGL本身并不支持文字绘制。因此,对于文字绘制功能的实现,并不能像D3D一样,只需对相关API进行简单的封装。对于OpenGL而言,开发人员必须自己实现一套文字绘制功能。 经过对OGRE相关代码的简单分析,以及在网上进行了一转载 2017-09-18 22:52:00 · 4609 阅读 · 0 评论 -
OpenGL中齐次坐标背后的真相和坐标的归一化
翻译原文:http://deltaorange.com/2012/03/08/the-truth-behind-homogenous-coordinates/游戏程序员定期处理齐次坐标。它们是标准三维向量的整齐扩展,并允许我们简化各种变换。但你真的知道,他们的意思是什么?通常,gamedevs描述了像这样的齐次坐标:“你添加第四个坐标到你的Vec3并调用它。哦,w通常设置为1.翻译 2017-09-12 13:57:51 · 2243 阅读 · 2 评论 -
OpenGL glPixelStore glReadPixels 详解
http://www.zwqxin.com/archives/opengl/opengl-api-memorandum-2.htmlglPixelStore像glPixelStorei(GL_PACK_ALIGNMENT, 1)这样的调用,通常会用于像素传输(PACK/UNPACK)的场合。尤其是导入纹理(glTexImage2D)的时候:C++代码glPixe转载 2017-09-29 14:02:12 · 7055 阅读 · 0 评论 -
OpenGL ES的API简单分析
http://www.bijishequ.com/detail/232238?p=前言本文主要是对OpegGL ES的api做一些资料上的搜集,给大家推荐一个中文详解网站:链接,虽然作者还没有写完,里头许多api解释还没有,但不妨去看一看.英文原文链接.后面会根据使用再具体去完善它.gl.h中的api设置纹理使用glActiveTexture()转载 2017-09-29 14:27:13 · 1787 阅读 · 0 评论 -
关于glReadPixels的两点心得
http://blog.youkuaiyun.com/ryfdizuo/article/details/45442745GPU渲染完数据在显存,回传内存的唯一方式glReadPixels函数。。。最近做手机端的图像格式转化,关于效率的两个心得:1. 格式问题opengl文档上写了glReadPixels支持RGBA,RGB,ALPHA,GL_LUMINANCE等格式,后两种格式支持转载 2017-09-29 14:38:28 · 3248 阅读 · 0 评论 -
OPenGL 文字渲染
https://learnopengl-cn.readthedocs.io/zh/latest/06%20In%20Practice/02%20Text%20Rendering/文字渲染原文Text Rendering作者JoeyDeVries翻译Geequlim校对gjy_转载 2017-09-15 11:08:05 · 2807 阅读 · 1 评论 -
OpenGL 纹理单元的使用步骤详解
iOS 纹理单元的使用步骤:片元着色器precision mediump float; uniform sampler2D u_TextureUnit; varying vec2 v_TextureCoordinates;原创 2017-09-29 17:01:10 · 997 阅读 · 0 评论 -
OpenGL ES2.0/3.0 glTexImage2D 函数详解
OpenGL glTexImage2D 纹理生成函数注意点glTexImage2D 详解函数原型为:void glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum原创 2017-09-29 17:01:44 · 41109 阅读 · 4 评论 -
OpenGL 的glDisable(GL_TEXTURE_2D)函数和glBindTexture(GL_TEXTURE_2D,0)有什么区别?
OpenGL 的glDisable(GL_TEXTURE_2D)函数和glBindTexture(GL_TEXTURE_2D,0)有什么区别?OpenGL glDisable(GL_TEXTURE_2D) vs glBindTexture(GL_TEXTURE_2D,0)These are two fundamentally different things.glDis原创 2017-09-29 17:54:32 · 3035 阅读 · 0 评论 -
glBindTexture(GL_TEXTURE_2D, 0) glBindFramebuffer(GL_FRAMEBUFFER, 0) glBindTexture(GL_TEXTURE_2D, 0)
glBindTexture(GL_TEXTURE_2D, 0) glBindFramebuffer(GL_FRAMEBUFFER, 0) glBindTexture(GL_TEXTURE_2D, 0) 含义详解void glBindTexture(GLenum target, GLuint texture);官方解释:https://www.khronos.org/regi原创 2017-09-29 17:55:01 · 6623 阅读 · 0 评论 -
iOS中OpenGL是如何将帧缓冲(frameBuffer)渲染到屏幕上的? OpenGL iOS端渲染流程
iOS中OpenGL是如何将帧缓冲(frameBuffer)渲染到屏幕上的?对于iOS平台当使用 CAEAGLLayer 来显示OpenGL最终的渲染内容时, OpenGL的内容时如何显示到屏幕上的?iOS如何使用Core Animation层绘制OpenGL ES内容?既通过CAEAGLLayer来显示OpenGL的内容而不是通过类GLKViewController和GL原创 2017-09-08 10:54:12 · 10723 阅读 · 4 评论 -
OpenGL glRenderbufferStorage 函数详解
OpenGL glRenderbufferStorage 函数详解glRenderbufferStorage 指定存储在 renderbuffer中图像的宽高以及颜色格式,并按照此规格为之分配存储空间,当一个渲染缓存被创建,它没有任何数据存储区域,所以我们还要为他分配空间。这可以通过用glRenderbufferStorage()实现。第一个参数必须是GL_RENDERBUFFER原创 2017-09-08 11:32:38 · 6891 阅读 · 1 评论 -
iOS OpenGL渲染YUV数据
链接:http://www.jianshu.com/p/39cde80d60e2本文主要介绍使用OpenGL ES来渲染I420(YUV420P) , NV12(YUV420SP)的方法,关于YUV的知识,可以看这里《YUV颜色编码解析》,同样会用到一些简单的OpenGL shader知识,可以看看OpenGL的着色器语言。为了书写方便,以下所谈的OpenGL特指OpenGL转载 2017-09-15 10:48:30 · 5873 阅读 · 0 评论 -
OpenGL shader GLSL 中文手册
https://github.com/wshxbqq/GLSL-Card GLSL 中文手册基本类型:类型 说明 void 空类型,即不返回任何值 bool 布尔类型 true,false int 带符号的整数 signed integer float 带符号的浮点数 floating scalar vec2, vec3, vec4...转载 2017-09-15 10:56:25 · 27419 阅读 · 5 评论 -
OpenGL 纹理
https://learnopengl-cn.readthedocs.io/zh/latest/01%20Getting%20started/06%20Textures/纹理原文Textures作者JoeyDeVries翻译Django校对Geequlim, BLumia转载 2017-09-15 11:00:45 · 1009 阅读 · 0 评论 -
openGL 透视校正插值
http://www.cnblogs.com/mikewolf2002/archive/2012/11/25/2787480.html透视校正插值 在3D渲染中,输入数据是一些primitive信息,包括顶点位置、颜色、纹理坐标等等。在光栅化阶段,primitive(一般为三角形)被转化成一系列的fragment(或者称为像素),这些fragment接下来要做p转载 2017-09-15 11:09:01 · 2170 阅读 · 0 评论 -
openGL 顶点属性插值
http://www.cnblogs.com/mikewolf2002/archive/2013/01/12/2857393.html原帖地址:http://ogldev.atspace.co.uk/www/tutorial09/tutorial09.html 本章我们了解3D管线的一个重要特性,在光栅化阶段的顶点属性插值。从前面的教程我们知道,为了在屏幕上输出渲染转载 2017-09-15 11:10:11 · 1395 阅读 · 0 评论 -
How to fix OpenGL ES application crashes when moving to the background
对于iOS应用 OpenGL的渲染如在在应用进入后台后仍在渲染 则APP会crashThread 0 name: Dispatch queue: com.apple.main-threadThread 0 Crashed:0 libGPUSupportMercury.dylib 0x30570094 gpus_Re原创 2017-09-07 15:59:16 · 1321 阅读 · 0 评论 -
OpenCV
https://github.com/ming1016/study/wiki/OpenCVOpenCV戴铭 edited this page May 4, 2015 · 2 revisions Pages 62HomeAuto LayoutBlockCameraCFRunLoopCocoapodsCollect翻译 2017-08-30 11:14:56 · 683 阅读 · 0 评论 -
OpenGL ES教程系列_LessonY_使用2D纹理渲染文字
http://blog.youkuaiyun.com/casablaneca/article/details/23617069在创建OpenGL场景时,我们常常需要在场景中渲染一些文字,如在游戏结束时,你需要显示一个“Game Over” 字样。 下面我在GLKit框架下写了一个方法,代码详细描述如下:[objc] view pl转载 2017-08-30 13:24:53 · 479 阅读 · 0 评论 -
OpenGL2.0 和 OpenGL3.0 的不同与共同点
OpenGL2.0 和 OpenGL3.0 的不同与共同点在OpenGL2.0中vertex shader中 可以不指定 version 如果不指定 version 对于iOS来说 默认认为是OpenGL2.0 OpenGL2.0中不能使用 in out inout 关键字 , in out inout 关键字 是OpenGL3.0中的关键字但是对于要使用原创 2017-09-08 10:56:21 · 13294 阅读 · 0 评论 -
iOS 开启OpenGL错误调试
iOS 开启OpenGL错误调试OpenGl ES Error Breakpoint这个断点的作用和异常断点类似,只不过这个断点只有在openGL ES错误发生的时候才会触发 iOS xcode抓取iOS设备上的单帧OpenGL ES 绘制过程的方法1.苹果iOS设备连上XCode,调试运行使真机停在某个界面;2.选择XCode菜单Debug->Capture GP原创 2017-09-08 10:59:12 · 975 阅读 · 0 评论 -
OpenGL 纹理单元的使用步骤
OpenGL 纹理单元的使用步骤:glActiveTexture 函数详解glBindTexture 函数详解glUniform1i 函数详解片元着色器precision mediump float; uniform sampler2D u_TextureUnit;原创 2017-09-29 21:43:14 · 4125 阅读 · 2 评论 -
iOS OpenGL ES FBO 帧缓存区 渲染缓存区详解
参考文章:http://www.jianshu.com/p/c516e899e606原文地址:https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/WorkingwithEAGLContexts/WorkingwithEAGLConte翻译 2017-10-11 13:18:46 · 3349 阅读 · 0 评论 -
OpenGL系列教程之十:OpenGL帧缓冲区对象(FBO)
http://blog.youkuaiyun.com/u012501459/article/details/12945167相关主题:像素缓冲区对象(PBO)下载: fbo.zip, fboDepth.zip, fboStencil.zip概述创建FBO渲染缓冲区对象附加镜像到FBO检查FBO的状态例子:渲染到纹理更新:由于帧缓冲区对象从OpenGL 3.0开始成为转载 2017-10-11 14:49:02 · 583 阅读 · 0 评论 -
关于GPUImage 两路输入 其中一路为 GPUImagePicture 的 问题的详细解析
关于GPUImage 两路输入 其中一路为 GPUImagePicture 的 问题的详细解析情况1:GPUImagePicture -> 添加到1 ->GPUImageTwoInputFilter 此时调用不会crashGPUImageMovie -> 添加到0在GPUIm...原创 2018-03-07 20:49:56 · 1323 阅读 · 0 评论 -
iOS openGL将纹理保存为UIImage
方法1:- (UIImage *)imageFromTextureWithwidth:(int)width height:(int)height { // glActiveTexture(GL_TEXTURE1); 先绑定某个纹理 int size = width * height * 4; GLubyte *buffer = malloc(size); glRea...原创 2018-03-06 10:26:23 · 3622 阅读 · 3 评论 -
GPUImageMovie 如何使用 initWithPlayerItem 方法初始化一个GPUImageMovie
GPUImageMovie 如何使用 initWithPlayerItem 方法初始化一个GPUImageMovie- (void)setupGPUImageMovieWithPlayerItem{ NSURL *sampleURL = [[NSBundle mainBundle] URLForResource:@"aichangVideo.mp4" withExtension:nil...原创 2018-03-13 13:56:01 · 992 阅读 · 0 评论 -
OpenGL实用开源库 汇总
https://blog.youkuaiyun.com/huawenguang/article/details/1393904有了网络的最大好处就是可以资源共享。网络是最大的知识库,也是最好的老师,正所谓“没有你想不到的,只有你找不到的”。以下是我收集的以游戏编程,OpenGL 3D编程相关的免费扩展库资料。不断更新中,如果你有好的建义,也请把函数库名及大概功能写上,本人负责收集整理。免费共享SDL在3D的世...转载 2018-05-19 11:01:01 · 7630 阅读 · 0 评论 -
Opengl 旋转后 保存长宽比例不变
http://neevek.net/posts/2017/11/26/opengl-rotating-mapped-texture-in-a-rectangular-viewport.htmlTo map a texture to a rectangular viewport, we need to define at least 4 vertices for the rectangle, ens...翻译 2018-05-21 14:13:42 · 2412 阅读 · 1 评论 -
OpenGL Error
https://www.khronos.org/opengl/wiki/OpenGL_Error#Meaning_of_errorsIf the parameters of a function call do not match the set of parameters allowed by OpenGL, or do not interact reasonably with state ...翻译 2018-12-27 10:34:39 · 2078 阅读 · 0 评论 -
iOS OpenGL renderbufferStorage:fromDrawable 方法详解
iOS OpenGL renderbufferStorage:fromDrawable 方法详解iOS中OpenGL的渲染流程之前已经介绍过此处不再介绍。点击参考OpenGL iOS端渲染流程renderbufferStorage:fromDrawable:作用:将可绘制对象的存储绑定到OpenGL ES renderbuffer对象。Declaration- (BO...原创 2017-09-08 11:31:01 · 6454 阅读 · 0 评论 -
OpenGL Pixel Buffer Object (PBO)
http://www.songho.ca/opengl/gl_pbo.htmlRelated Topics: Vertex Buffer Object (VBO), Frame Buffer Object (FBO) Download: pboUnpack.zip, pboPack.zipOverview Creating PBO Mapping PBO Example: Strea...翻译 2019-01-08 14:12:11 · 1695 阅读 · 1 评论 -
OpenGL中的FBO对象 详解
http://www.cnblogs.com/aokman/archive/2010/11/14/1876987.html概要在OpenGL的渲染管线中,几何数据和纹理通过一系列变换和测试,最终被渲染成屏幕上的二维像素。那些用于存储颜色值和测试结果的二维数组的几何被称为帧缓冲区(frame buffer)。这些二维数组按用途划分,可分为颜色缓冲区(color buffer),深度缓转载 2017-10-11 14:50:56 · 1276 阅读 · 0 评论 -
OpenGL 数据格式 像素格式 数据包格式 详解
http://blog.youkuaiyun.com/ylbs110/article/details/51793970原始图像数据像素包装图像数据在内存中很少以紧密包装的形式存在。在许多硬件平台上,处于性能上的考虑,一幅图像的每一行都应该从一种特定字节对齐地址开始。绝大多数编译器会自动把变量和缓冲区放置在一个针对该架构对齐优化的地址上。 例如一个包含3个分量的rgb图像转载 2017-10-11 23:58:34 · 4956 阅读 · 0 评论 -
OpenGL shader GLSL 语法和函数详解
http://blog.youkuaiyun.com/ylbs110/article/details/51868381初识着色器语言 变量和数据类型可用的数据类型只有4种:有符号整数,无符号整数,浮点数,布尔值。 OpenGL着色语言中没有指针和字符串或字符。返回值可以为void。向量类型所有4种基本数据类型都可以存储在二维、三维或者四维向量中: OpenGL着色语言向量数据类型...转载 2017-10-12 00:00:59 · 20513 阅读 · 3 评论 -
iOS 屏幕垂直同步 详解
http://www.cocoachina.com/ios/20151130/14477.html屏幕显示图像的原理首先从过去的 CRT 显示器原理说起。CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描。为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬件)会用硬件时钟产转载 2017-11-30 18:38:22 · 2034 阅读 · 1 评论 -
iOS设备中垂直同步开启后的帧率计数
屏幕显示图像的原理首先从过去的 CRT 显示器原理说起。CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描。为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬件)会用硬件时钟产生一系列的定时信号。当电子枪换到新的一行,准备进行扫描时,显示器会发出一个水平同步信号(horizonal syn翻译 2017-11-30 18:44:15 · 1040 阅读 · 0 评论 -
Xcode GPU Frame Caputre 使用教程
https://www.cnblogs.com/TracePlus/p/4093830.html使用Xcode GPU Frame Caputre教程http://blog.manbolo.com/2012/11/20/using-xcode-opengl-es-frame-capture 这里是原文,因为它版本比较老和它demo的限制,所以也想写一个基于Xcode转载 2017-12-06 20:50:42 · 1175 阅读 · 0 评论