OpenGL着色语言(GLSL――OpenGL Shading Language)是用来在OpenGL中着色编程的语言, 也即开发人员写的短小的自定义程序,他们是在图形卡的GPU (Graphic Processor Unit图形处理单元) 上执行的,代替了固定的渲染管线的一部分.比如:视图转换.投影转换等.GLSL(GL Shading Language) 的着色器代码分成2个部分:Vertex Shader(顶点着色器)和Fragment(片断着色器) ,有时还会有Geometry Shad…
上一个例程中,使用了uniform 类型的变量,uniform可以理解为全局变量,这一节中使用 的是attribute类型的变量,翻译过来就是属性,他是与顶点绑定的,就意味着一个顶点可以 有很多个属性(当然也可以没有),提出这个概念的原因是啥呢?我们先看下最早期的OpenGL 早己的OpenGL定义的数据比较少,有顶点,法线,颜色,纹理(1.0版本),也就是说一个 顶点可以传递给显卡的数据是有限的,没有办法在像显卡传递更多的数据参与计算,例如,现在 游戏中比较流线的法线贴图(或者叫凹凸纹理)是做…
之前介绍了vertex shader的基本原理,现在我们来做一个简单的实践,在游戏中广告版(布告版) 随处可见,而且效率很高,现在我们就使用shader来实现这一过程,首先我们要知道布告版的原理 实际上就是一直对着摄像机,与摄像机的方向上是垂直的.如下图所示: 不管摄像机如何去动,那么广告版也跟随一起动(即旋转),那么在摄像机动的时候,就要重新计算 布告版的位置,为了做到这一点,我么要对摄像机的原理有所了解,看摄像机的几个重要的参数, 观看的方向:dir 向上的方向:up 向右的方向:right…
通常情况下,我们定义的main函数都只有空形参列表: int main(){...} 然而,有时我们确实需要给mian传递实参,一种常见的情况是用户设置一组选项来确定函数所要执行的操作.例如,假定main函数位于可执行文件prog内,我们可以向程序传递下面的选项: prog -d -o ofile data 这些命令行选项(即在cmd中输入的)通过两个(也可以是其他任意个)形参传递给main函数: int main(int argc,char *argv[]){...} 第二个形参argv是一个…
当我们在使用 SWFUpload 做文件上传时,我们需要把已经上传的文件列表做一个删除, 但在我们把已上传列表删除后,再重新上传时,会发现提示 上传队列满 的问题,原因就是有一个状态对象中的一个 成功上传数据未处理,而导致这样的问题. 因此 做了这个插件来控制  这个 成功上传数量.用于在删除已上传文件列表时,来处理已经成功上传文件数量 插件代码如下: /** * SWFUpload 已上传成功数量控制 插件 * 功能说明: * 对已上传成功的文件数量进行控制 * 作 者: Alfa.wu *…
python代码git上传 1.每次上传代码之前需要先拉取线上的代码 操作如下:…
上一篇中介绍了如何使用shader,用来一个最简单的shader,计算顶点的位置,调用了 OpenGL 顶点着色语言中的内置变量对顶点进行操作,这一例程中,将展示如何将应用层 的数据传递到shader中,在shader中完成相应的计算. 先说下在这一节中,我们要完成的任务,不调用OpenGL的旋转函数(即glRotate××) 系列函数,不使用矩阵完成对模型的旋转.要完成这样的功能,那么我们就只能借住shader 来进行计算,编写shader更多的情况要求我们对数学知识了解到更多,掌握的更多,写…
Opengl红皮书有选择的看了一些,最后的讲着色语言GLSL的部分看的甚为不理解,然后找到Opengl橙皮书,然后就容易理解多了. 在前面,我们或多或少接触到Opengl的处理过程,只说前面一些处理,简单来说:顶点操作-组装图形-栅栏化-片断处理-帧缓冲.其中顶点操作相当于我们在程序里设定顶点,法向量等,组装图形就是opengl以我们设定的格式连接顶点,如组装成三角形,四边形等.栅栏化就是把上部操作的图元分解成更小的单元,如一个三角形里有100个像素,在这个过程会转换成100个片断,这个片断包含…
视频教程请关注 http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440 接上一个例程OpenGL10-骨骼动画原理篇(2),对骨骼动画的基本原理做了介绍,接下来 要对之前做的工作做一个分析和优化,骨骼动画要做大量的数学计算,当一个模型的顶点 与骨骼的数量都很多的情况下,会消耗大量的cpu时间,接下来要做的事情就是对程序进行 优化,从上面的计算过程,可以得出,有两个地方的计算量比较大,首先是矩阵和顶点相乘 ,其次是每一帧要插值新的骨…
GitHub 是一个面向开源及私有软件项目的托管平台,作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法,那怎样将自己的本地项目上传到Github,之前自己也查过相关资料,先介绍下单纯使用Git命令工具,当然电脑上要确定安装了Git,可以 https://github.com/lizhixuan1/Git.exe (本人的github仓库链接)或百度找一个安装即可! 接下来进入正…