Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

QT与OpenGL之易错点

QT与OpenGL之易错点

最近在使用OpenGL绘图,只能说是初学OpenGL,不过也稍微懂了点,也学习到了哪些地方易错。(1) 明明旋转(平移,缩放)了图形,怎么出不来效果,此时,你应该看看你是不是updateGL了,这是比较容易遗漏的。(2)glRotatef()函数应该放在绘制图形函数的上面,不应该放在其他函数内部进行调用,那样是无效的,我在编程的时候就发现只能放在glBegin函数的上面才能起到相应的效果。(3)QT明明显示没有错误,可是就是出不来界面,这个是最让人头疼的地...
OpenGL的FLAT与SMOOTH绘制的区别

OpenGL的FLAT与SMOOTH绘制的区别

利用OPENGL可以绘制三维模型,在指定绘制模式的时候要通过指定光照,以及材质才能使物体看上去有三维的效果,否则,物体看上去就像是一张二维的图片一样。但是除了指定光照跟材质,还需要有一个非常重要的东西,那就是模型上顶点的法线。一个曲面上的顶点的法线是指经过这一点并且与该点的切平面相垂直的那条直线。然而由于我们的三维模型是用顶点以及几个顶点(一般是三个)所组成的多边形来表示的(我们下面的描述都用三角形来表示),所以一个顶点可能同时属于N个相邻的三角形,每一个...
QT与OpenGL之旋转

QT与OpenGL之旋转

这篇文章是来讲述如何在OpenGL中选择图形的,我拿上次写的三角形来实现。在OpenGL中有专门负责旋转的函数glRotatef(Angle, X Vector, Y Vector, Z Vector);此函数负责让对象绕着某个轴旋转。Angle通常是某个变量代表对象转过的角度;X Vector,Y Vector, Z Vector三个参数共同决定旋转轴的方向,(1, 0, 0)表示描述的矢量经过X轴的1个单位处并且方向向右;当然你还得添加鼠标按钮的函数来...
OpenGL之坐标系建立

OpenGL之坐标系建立

openGL使用右手坐标从左到右,x递增从下到上,y递增从远到近,z递增--------------------------------------------------------------------------------OPENGL坐标系可分为:世界坐标系和当前绘图坐标系。世界坐标系以屏幕中心为原点(0, 0, 0)。你面对屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定: 窗口范围按此单位恰好是(-1,-1)到(1...
Linux移植:从下载init.bin 到烧写文件系统

Linux移植:从下载init.bin 到烧写文件系统

ARM板在裸机的时候,如果我们跑linux系统,需要把linux系统编译好之后,移植到ARM板上去。1.首先,我们需要知道我们的板子是什么型号。我手上的板子是三星公司的基于ARM 920t内核的S3C2440开发板,所以,确保我们的开发板能够跑起来,下面的文件时必须的(1)init.bin (用于初始化的一段小程序)(2)u-boot-s3c2440.bin(u-boot,用于启动ARM的"C-MOS/BIOS")(3)uImage-s3c2440.bin...
Linux内核配置和驱动文件

Linux内核配置和驱动文件

Linux内核包含了很多东西,她能支持很多的驱动,设备,所以Linux内核会很大(通常一个压缩的Linux内核包在70多M)。在嵌入式开发中,我们需要我们自己的内核小一点,以便能放到我们的设备上面跑,但又不失其内核的功能。所以,我们需要对Linux内核进行裁剪,使其足够小。[Linuxidc@CentOS6 kernel]$ lsbuild.sh linux-3.0 linux-3.0.tar.bz2 patch[Linuxidc@centos6 kern...
S3C2440开发板LED驱动——ioremap 映射

S3C2440开发板LED驱动——ioremap 映射

刚开始学字符设备驱动,感觉最难的是驱动和底层硬件的连接。linux上的驱动程序,是基于操作系统之上的,他并不直接和底层的硬件打交道,但是我们写的驱动必须能使硬件“跑”起来,即与硬件紧密相连。就拿最简单的LED驱动来说,我们的驱动程序是在虚拟的内存上面跑的,但是最终,LED的点亮还是必须靠GPIO管脚的高低电平来控制。那么,我们的虚拟的内存怎么才能和实际的硬件上面的寄存器对应起来呢?这篇要写的就是ioremap这个映射函数,他可以将我...
Linux设备驱动中的并发控制

Linux设备驱动中的并发控制

并发是多个执行单元同时 并行被执行。而并发的执行单元对共享资源(硬件资源和软件上的全局变量,静态变量)的访问很容易导致竞态。主要的竞态有以下三种情况:对称多处理器(SMP)的多个CPU;单个CPU内进程与抢占它的进程;中断(硬中断,软中断,Tasklet 底半部)与进程之间。注:上述情况,除了SMP是真正的并行之外,其他的都是“宏观并行,微观串行”,但其引发的问题和SMP相似。解决竞态问题的途径是保证对共享资源的互斥访问,即:当一个...
Linux网络编程的注意事项

Linux网络编程的注意事项

1、返回值判断示例:int num = recv(s,buf, MAX,0);能够从套接字读多少数据不是api参数能够控制的,只能通过返回来确认。再有就是有些api调用是次序依赖的,前面的错了,后面的也会错。所以返回值的判断是必须的。2、端口复用一般server异常退出后,端口没有被系统马上释放,如何才能立即使用端口呢?on = 1;ret = setsockopt( sock, SOL_SOCKET, SO_REUSEADDR, &on, siz...
Bootloader移植简述

Bootloader移植简述

1、Bootloader移植A、引导过程三星的S5PC100为例(1)、片内是有固化的程序负责第一级引导bootloader也在外存上,首先得解决其运行的问题。片内是有固化的程序负责必要的硬件初始化工作,并把外部NANDFLASH或是NORFLASH、SD卡及其他设备上的bootloader的第一阶段代码运行起来。(2)、Bootloader需要的必要功能由于片内内存较小,所以得实现自搬移,搬移内核,并执行内核。B、作用(1)作必要的硬件初始化工作CPU(...
<< 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 >>