这段时间一直在搞视频格式的转换问题,终于最近将一个图片的YUV格式转RGB格式转换成功了.下面就来介绍一下: 由于我的工程是在vs2008中的,其中包含一些相关头文件和库,所以下面只是列出部分核心代码,并不是全部代码. 1.下载一个包含YUV数据的文件也可以自己制作一个该文件 下载地址:YUV数据文件 2.读入YUV数据文件中的yuv数据: 关键代码如下: 2.1读文件代码 unsigned char * readYUV(char *path) { FILE *fp; unsigned char…
OpenGL的全称是Open  Graphics  Library,即开放的图形库接口,它定义了一个跨编程语言.跨平台的编程接口的规范,它主要用于三维图形(实际上二维图形也可以)变成.OpenGL的前身是SGI公司为其图形工作站开发的IRIS  GL.IRIS  GL是一个工业标准的3D图形软件接口,功能虽然强大,但是移植性不好,于是SGI公司便在IRIS  GL的基础上开发了OpenGL. OpenGL体系简单,而且具有跨平台的特性,它不像Direct3D(Microsoft 开发的3D图像库…
Plane Equation 注:面可理解为:连接面上的点与原点,投影相同(为:a*x1+b*x2+c*x3) OpenGL Matrix Class (C++) Overview OpenGL fixed pipeline provides 4 different types of matrices (GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE and GL_COLOR) and transformation routines for these matri…
转自原文 有关于OpenGL.OpenGL ES.WebGL的小结 一.   OpenGL简介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口的规格,它用于三维图西象(二维的亦可).OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库. 关于其他的介绍我就不说了.这边我说一下有OpenGL的资源网站: OpenGL官网:http://www.opengl.org/resources/libraries/glut/ Ne…
背景: 最近在研究音视频,了解YUV这样的格式对于音视频开发比较重要. 虽然这篇文章大部分是转载别人的,但是经过了校对以后,重新排版并补充了一部分内容   概览: 之所以提出yuv格式的原因,是为了解决彩色电视和黑白电视兼容性问题.与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题.并且,YUV不像RGB那样要求三个…
ImageUtil.java import android.graphics.ImageFormat; import android.media.Image; import android.os.Build; import android.support.annotation.RequiresApi; import android.util.Log; import java.nio.ByteBuffer; public class ImageUtil { public static final…
之前做个设计,现在从事IT,脑子里面关于RGB,RGBA,CMY,CMYK,YUV,但是具体理论还是不扎实.若干年前之前写过<水煮RGB与CMYK色彩模型—色彩与光学相关物理理论浅叙><三色视者与四色视者身后的理论基础:色彩原理> 光学三原色与印刷三间色 光学的三原色: 红(Red).绿(Green).蓝(Blue) (RGB). 印刷的三原色: 青(Cyan).品红(Magenta).黄(Yellow) (CMYK) 印刷色是光照射在印刷物上, 然后折射到人眼的光的合成,所以印刷…
报错信息 GLSL compilation failed: 0(21) : error C7528: OpenGL reserves names containing '__' 双击报错VS自动打开VS, 但并未定位到错误代码所在位置 解决 字面意思: OpenGL保留的名称包含 "__" 两个下划线) 经检查报错的代码在shader的 cginc文件中,改好即可解决以上问题 总结 以Opengl模式打开Unity本来是为了解决PC不支持某些特殊功能(如图片单通道压缩格式) shade…
我们今天来讲调试信息,这个东西讲起来会比较无聊,因为都是一些函数调用,没啥可讲的,函数就是那样用的,不过其效果挺好玩的,同时在程序设计中也是很必要的,所以还是来写一下,不过,就是因为知识比较固定且简单,所以我们 一篇就覆盖三节的内容吧: 1. 获取当前活动的顶点属性和对应索引 2.获取当前活动的uniform量和对应索引 2.Debug Getting Ready 我们以上一节的旋转三角形的例子来讲这一篇. 当我们的shader program编译连接完成之后,所有的量都已经分配了自己的索引,这…
http://blog.csdn.net/hgl868/article/details/7872219 引言 一个OpenGL程序可以用多种方式和shader通信.注意这种通信是单向的,因为shader的输出只能是渲染到某些目标,比如颜色和深度缓存. OpenGL的部分状态可以被shader访问,因此程序改变OpenGL某些状态就可以与shader进行通信了.例如一个程序想把光的颜色传给shader,可以直接调用OpenGL接口,就像使用固定功能流水线时做的那样. 不过,使用OpenGL状态并不…