关闭
当前搜索:

【C++】C++11知识点串讲

1、long long类型C++11引入了long long类型,标准规定long long类型的长度至少是long类型的长度,即64bits,同其它类型一样,标准规定了各类型的最小长度,而编译器允许使用超过最小长度的限制。2、初始化列表int a = 0; int a(0); int a = {0}; // C++11 int a{0}; // C++11C++11引入了初始化列表,把变量值放到一...
阅读(378) 评论(0)

【OpenGL ES】同步对象和栅栏

OpenGL ES 3.0为客户-服务器模型,客户即应用程序,发送命令,服务器即OpenGL ES实现,处理命令,因为针对的是手持和嵌入平台,所以客户和服务器通常在同一个设备上。在客户-服务器模型中,一个常见的问题是,客户如何发送命令,每次发送一个命令还是缓存后批量发送,服务器如何处理命令,同步等待所有命令完成还是异步处理立即返回,下面介绍这个问题的几种解决方案。void glFlush(void)...
阅读(237) 评论(0)

【OpenGL ES】帧缓冲区对象FBO

1、FBO使用OpenGL ES,一般要通过EGL来配置本地窗口系统,关于EGL的介绍可参照“【OpenGL ES】EGL简介”http://blog.csdn.net/ieearth/article/details/71180457。默认情况下,OpenGL ES使用窗口系统提供的帧缓冲区作为绘图表面,但是许多应用程序需要渲染到纹理,可行的方案是使用glCopyTexImage2D和glCopyT...
阅读(229) 评论(0)

【OpenGL ES】片段操作

在OpenGL ES 3.0的可编程管线中,片段操作在片断着色器之后,下一步是帧缓冲区。片段着色器执行之后,片断着色器的输出是片段的颜色和深度值,片段在前往帧缓冲区途中经历的测试和操作包括裁剪区域测试、模板缓冲区测试、深度缓冲区测试、混合、抖动,下面逐个介绍。1、缓冲区缓冲区包括颜色缓冲区、深度缓冲区和模板缓冲区,它们都保存帧缓冲区中每个像素的不同数据,其中颜色缓冲区由前台和后台颜色缓冲区组成。缓冲...
阅读(216) 评论(0)

【OpenGL ES】片段着色器

1、管线片段着色器在OpenGL ES 3.0的可编程管线的位置如下图所示。 2、输入输出片段着色器为片段操作提供了通用功能的可编程方法,输入和输出如下图所示。 输入或者可变值,in,是顶点着色器生成的插值数据,顶点着色器输出跨图元进行插值,并作为输入传递给片段着色器。 统一变量,uniform,是片段着色器使用的状态,为常量值,在每个片段上不会变化。 采样器,sampler2D,用于访问着...
阅读(329) 评论(0)

【OpenGL ES】纹理

1、2D纹理2D纹理是OpenGL ES中最基本和最常用的纹理形式,它是一个图像数据的二维数组,纹理坐标(s, t)或(u, v)用作纹理图像中的索引,代表用于查找一个纹理贴图的规范化坐标。纹理图像的左下角由st坐标(0.0, 0.0)指定,右上角由坐标(1.0, 1.0)指定,在[0.0, 1.0]区间之外的坐标是允许的,在该区间外的纹理读取行为由纹理包装模式定义。一个纹理的单独数据元素称作纹素T...
阅读(385) 评论(0)

【CS】(奇妙的)虚拟存储器

虚拟存储器,Virtual Machine,简称VM,是对主存(DRAM)的一种抽象,是计算机系统中最重要的概念之一。计算机中有各种存储器,而VM的存在,就是为了帮助我们有效地管理这些存储器,减少错误,提供一种简单的数据交互方法。VM,将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存中来回传送数据,而且为每个进程提供了一致的地址空间,并保护这个地址空间...
阅读(194) 评论(0)

【C++】深入理解模板

1、简介模板是一种代码复用方式,其它的代码复用方式还包括继承和组合。当我们使用模板时,参数由编译器来替换,这非常像原来的宏方法,但却更清晰、更容易使用。在C++中,模板实现了参数化类型的概念,放在一对尖括号中,通过template这个关键字,告诉编译器随后的定义将操作一个或更多未指明的类型,当由这个模板产生实际代码时,必须指定这些类型以使编译器能够替换它们。下面是一个简单的模板类。template...
阅读(196) 评论(0)

【C++】 运算符重载

1、一元运算符运算符重载是C++的一大特色,以函数重载的形式出现,函数名为关键字operator后跟着一个运算符,这些函数可以作为类的成员函数实现,也可以作为类的友元函数以全局函数的形式实现,而有的操作符只能以其中一种方式实现,因为全局函数没有this指针,所以在参数列表中比成员函数多一个参数。可以重载的一元运算符包括+、-、~、&、!、++、--,例子如下。// Overloading Unary...
阅读(148) 评论(0)

【C++】C++中的C

C++兼容C,但同样的东西,在C++和C中的表现可能不同,下面总结了一些。1、函数空参int f();函数空参时,C表示任意参数,C++表示没有参数。int f(void);C表示没有参数时使用void。2、函数参数标识符int f(int a); int f(int);声明函数时,C和C++都可以省略标识符。int f(int a) {} int f(int) {} // C++定义函数时,C++...
阅读(332) 评论(0)

【C++】深入理解C++的常见关键字

1、autovoid foo() { auto int f = 0; } void foo() { int f = 0; }auto变量即自动变量或局部变量,位于一个进程的地址空间的堆栈段,它们是局限于一个函数的,出现在一个作用域内,进入作用域时自动生成,离开作用域时自动消失,这种变量默认就是auto。2、registerfor (register int i = 0; i < 100; ++i)...
阅读(315) 评论(0)

【C++】链接器及undefined reference的秘密

1、链接器当C或C++要对函数和变量进行外部引用时,根据引用情况,链接器会选择不同的处理方法。如果还未遇到过这个函数或变量的定义,链接器会把它的标识符加到未解析的引用列表中,即undefined reference。如果链接器遇到过这个函数或变量的定义,那么这就是已解决的引用。如果链接器在目标模块中不能找到函数或变量的定义,它将去查找库。库有某种索引方式,链接器不必到库里查找所有目标模块,而只需浏览...
阅读(219) 评论(0)

【C】《C专家编程》核心知识点总结

1、穿越时空的迷雾编译器设计者的金科玉律:效率几乎就是一切,这包括两个方面,编译效率和运行效率,而后者起决定性作用。有很多编译优化措施会延长编译时间,但却能缩短运行时间;还有一些优化措施如清除误用代码和忽略运行时检查等,既能缩短编译时间,又能减少运行时间,同时还能减少内存的使用量,但有利就有弊,在于使用者如何权衡。早期C语言的许多特性是为了方便编译器设计者而建立的,如类型系统、数组下标从0而不是1开...
阅读(406) 评论(0)

【Algo】排序算法

1、冒泡简介—— 冒泡排序,可以想象成从水中冒出的气泡,从水中到水面气泡逐渐变大,近似有序排列。冒泡排序就是这个思想,对于给定的一组N个数据,从前往后或者从后往前,依次比较两个相邻数据的大小,不满足排序要求(从小到大或者从大到小)的就交换它们的位置,每轮比较可以冒出一个最大数或者最小数。因为是两个数据作比较,所以每轮最多只需比较N-1次,而且对于已经冒出的数据即排序好的数据没有必要再进行比较,所以...
阅读(302) 评论(0)

【OpenGL ES】顶点着色器

1、输入输出顶点着色器可用于传统的基于顶点操作,例如通过矩阵变换位置、计算照明方程式以生成逐顶点的颜色以及生成或者变换纹理坐标。顶点着色器的输入、输出如下图所示。输入变量或属性:用顶点数组提供的逐顶点数据。 统一变量和统一变量缓冲区:顶点着色器使用的不变数据。 采样器:代表顶点着色器使用的纹理的特殊统一变量类型。 着色器程序:顶点着色器程序源代码或者描述在操作顶点的可执行文件。 输出或可变变...
阅读(371) 评论(0)
268条 共18页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:359612次
    • 积分:6445
    • 等级:
    • 排名:第4376名
    • 原创:263篇
    • 转载:0篇
    • 译文:5篇
    • 评论:49条
    Make Others Better.
    博客专栏
    文章分类