- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 跟我一起学OpenGL- fbo
前面几节我们学习了OpenGL的基本操作,相信大家已经入门了。OpenGL的最终目的是要向framebuffer(帧缓存)里面填充数据,前面的framebuffer是由窗口系统提供的,我们用到的都是default fbo, 所有的内容都是窗口系统来管理,填充完后通过swap buffer将内容展现出来。这块窗口系统提供的framebuffer我们不能随心所遇的操作,另外有时候,渲染的东西并不想...
2019-08-30 22:08:24
264
原创 跟我一起学OpenGL- cube(立方体)
前面学习了画基本的三角形/正方形和纹理的使用,但是都是二维的,没有立体效果,看起来不够真实。本节则开始讲述如何画三维图像,以立方体为例。为了勾勒立方体的形状,需要设置立方体的坐标。前面几节里通常只设置了x,y坐标,而将z设为0,这种方法画平面图形可以,三维图像则行不通,需要设置z的数值。立方体有六个面,OpenGL用的是右手坐标系,离镜头越远,z的值越大,坐标如下:115 float ...
2019-08-30 21:49:51
2289
原创 跟我一起学OpenGL- load texture
上一篇文章已经说明了如何使用texture, 但是颜色还不够真实,我们日常看到的颜色中有很多图片,能不能把这些图片真实的展示出来呢?答案是肯定的,比如一面墙,我们不需要专门去画这堵墙,可以把墙的图片贴上来就可以了。步骤是:1 读取图片,区分RGBA2 将图片当成texture去采样3 draw并显示出来图片有很多种格式 ,jpg, png, ppm, bmp等,可惜OpenGL并没...
2019-08-23 14:36:23
2952
原创 跟我一起学OpenGL- texture(纹理)
前面学习了画普通的图形,但是颜色比较单一,有什么好的方法让图形颜色更加丰富,更加真实呢?texture(中文译为纹理)就可以扮演这一角色,本节则简单说明texture的使用。运行下面的程序,便可出现一个黑白相间的棋盘: 1 #include <GL/glew.h> ...
2019-07-09 22:09:13
579
原创 跟我一起学OpenGL-矩形之index buffer的使用
上一篇文章讲述了如何画一个三角形, 这篇文章讲如何画一个矩形。 大家肯定会想到两个三角形拼起来以后不就是个矩形吗, 思路就是这样的。但是从上面可以看出使用glDrawArrays画矩形需要六个顶点, 有的顶点重复定义了两次,这样浪费了资源。实际上矩形只需要定义4个顶点就可以了,下面就是index buffer的使用使用glDrawElements来画。
2017-05-01 17:40:28
2066
原创 如何使开发板和主机共享文件
当用gdb在开发板上调试时,有时需要看源代码,但源代码太大,开发板容量有限时就没法每次通过scp传入开发板,或者不想每次用scp传文件,这时就需要二者能共同访问文件了。可以使用nfs, 方法如下: 1、在主机Ubuntu上需要有nfs服务: sudo apt-get install nfs-kernel-server 2、进入/etc/exports进修改,需
2016-04-21 16:23:30
1434
原创 gdb移植到开发板
在开发板上运行程序时,有时需要进行调试,可将gdb移植到开发板上。首先下载gdb: http://ftp.gnu.org/gnu/gdb/,我选择的是最新的gdb-7.11,下载完后解压,接下来就是配置和编译./configure --host=arm-linux-gnueabihf --prefix=/home/xxmakemake install注意--host要和开发
2016-04-19 14:27:09
2984
原创 ubuntu配置openGL glut库
openGL开发有比较好用的库:glut,本文讲述ubuntu该如何配置:以下为安装过程(需要root权限):1、 apt-get install build-essential 2、 apt-get install libgl1-mesa-dev 3、 apt-get install libglu1-mesa-dev 4、 apt-get install libg...
2016-03-12 20:25:04
8836
1
转载 手把手教你使用Git
关于Git的使用,写的挺不错的,在此转载一下:http://blog.jobbole.com/78960/一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里
2015-12-19 18:20:45
342
转载 linux中的分段和分页
http://blog.chinaunix.net/uid-26611383-id-3761754.html觉得这篇文章
2014-08-23 17:01:26
1521
转载 如何升级gcc版本
http://blog.163.com/hyh_px@126/blog/static/6253253320109491024927/首先要做一些准备工作:1.首先从GNU上下载GCC包,下载地址是http://gcc.gnu.org/,我使用的是4.5.1,首次编译安装时会出现这样的错误:gcc configure: error: Building GCC requires GMP
2014-03-19 18:29:19
811
原创 Linux如何更改时间
linux更改时间的命令式date,下面说下如何更改:如果改年月日,例改成2014年3月4日,则为执行date -s 3/4/2014,其他依次类推若改时分秒,例改为08:25:36,则执行date -s 08:25:36。当然也可以一次修改所有时间,执行date -s "2014-03-04 08:25:36"
2014-03-04 18:06:22
710
原创 linux如何升级内核
最近常遇到需要更新内核的情况,下面就以fedora为例,执行下面命令即可:1、yum update 执行后会升级所需要的软件2、yum update kernel-xxx 此句只升级内核,其中xxx是你的内核版本,如果不清楚的话可以执行yum search kernel-devel 搜索一下。执行完毕后即可升级内核,很简单。
2014-03-04 17:38:22
820
转载 lmbench的使用方法(以SEP4020开发板为例)
回想一下大半年前,做过的一个项目,当时借鉴此篇文章,用lmbench测过Hiveboard的性能指标,在此转载一下。两种开发板区别在于SEP4020是ARM核的,而Hiveboard是北大unicore核的。http://blog.chinaunix.net/uid-21961753-id-1810645.html一、引言要评价一个系统的性能,通常有不同的指标,相应的会有不同的
2014-02-20 10:45:37
1556
转载 Intel DPDK
http://lenky.info/2012/03/10/intel-dpdk/Intel DPDK的相关介绍无需多说,能接触到它的人自然知道,无法接触到的人知道了也没用,因为从因特网下载不到源码,不过现在貌似很多企业都在用,或尝试在用。用这个Kit制作的demo发包工具,同等条件下的性能比pktgen要好上一倍,当然,之前测试的pktgen模块未做任何优化,所以这种比较有点不公正,不
2014-02-20 10:13:57
1014
转载 TCP/IP模型的一个简单解释
http://www.ruanyifeng.com/blog/2009/03/tcp-ip_model.htmlTCP/IP模型是互联网的基础。想要理解互联网,就必须理解这个模型。但是,它不好懂,我就从来没有搞懂过。前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型。我读后有一种恍然大悟的感觉,第一次感到自己理解了互联网的总体架构。下面,
2014-02-19 11:39:43
706
转载 编译时和运行时
http://blog.youkuaiyun.com/weiwenhp/article/details/8107203以前经常听说编译时和运行时的概念.但没太搞明白具体代表啥意思.后面花了点时间研究了下.总算知道个大概意思了.编译时编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是
2014-02-18 15:03:18
652
转载 Linux内存管理中的分段和分页技术
感觉作者对内存中分段和分页的由来说的很好,在此转载一下。 http://blog.chinaunix.net/uid-26611383-id-3761754.html前一段时间看了《深入理解Linux内核》对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识。我比较喜欢搞清楚一个
2014-02-13 15:55:33
1070
转载 移植自己写的printf,scanf函数
http://blog.chinaunix.net/uid-18921523-id-187419.html本来想自己实现一个printf函数,顺便再回顾一下变参函数的处理,但是时间紧张,在这里就先通过移植库函数来实现自己的printf函数,等有时间,再重新自己实现下。代码基本上是在前面已有的基础上继续添加:首先来看下lboot.ldsENTRY(_sta
2014-02-08 09:50:31
1140
转载 Bootloader概述
为了加深对Bootloader的理解,特转载此文章。http://blog.chinaunix.net/uid-24951403-id-2212588.htmlBootloader:中文解释为启动引导程序可以工作在无操作系统的环境下,也可以工作在有操作系统的环境下在无操作系统环境下:通常表现为:与应用程序编译在一起,在应用程序之前运行的一段代码,一般由汇
2014-02-07 16:07:58
2028
转载 ROM、RAM、DRAM、SRAM和FLASH的区别
感觉这篇文章对这几个概念说的挺清晰的,在此转载一下。 http://www.eefocus.com/Canon/blog/07-08/2959_ddfbb.htmlROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数
2014-02-07 09:59:01
679
转载 Android内存管理原理
一位大神的文章,详细讲解android内存管理的,在此转载一下。http://www.cnblogs.com/killmyday/archive/2013/06/12/3132518.html一般来说,程序使用内存的方式遵循先向操作系统申请一块内存,使用内存,使用完毕之后释放内存归还给操作系统。然而在传统的C/C++等要求显式释放内存的编程语言中,记得在合适的时候释放内存是一个很有难度
2014-01-23 10:17:42
1776
转载 uboot详解
个人觉得这篇关于Uboot的分析虽然内容很多,但讲解的很详细,在此学习并转载一下。http://blog.chinaunix.net/uid-26813001-id-3279194.html 我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。 在PC机上引导程序一般由BIOS开始执行,然后读取硬盘中位于
2014-01-23 10:10:39
5023
转载 vim保存文件”:wq"与“:x"的区别
vim是Unix/Linux系统最常用的编辑器之一,在保存文件时,我通常选择”:wq“,因为最开始学习vim的时候,就只记住了几个常用的命令;也没有细究命令的含义。 但是,最近我在编译代码时发现,在没有修改源文件的情况下,仅仅使用”:wq“命令保存文件,源文件会重新编译。这是因为文件即使没有修改,":wq"强制更新文件的修改时间,这样会让 make编译整个项目时以为文件被修改
2014-01-21 17:37:14
520
原创 设置ssh自动登录
因为经常要用ssh登录不同的linux系统,用ssh登录linux机器时,如果2台或者多台机器需要经常互相访问,尤其是内网情况下,配置SSH自动登录就会方便很多,不用一次一次的输入密码了。配置步骤如下:
2014-01-20 17:23:58
837
原创 vim中插件ctags配置
vim是一个很强大的编辑工具,被很多程序员熟知。关于vim的配置网上有很多资料,可自行查阅,个人就不在这里赘述。关于vim中的插件个人最喜欢ctags,因为它在看代码时非常方便。这里主要讲述ctags的配置。如果是ubuntu系统,可用apt-get install ctags下载,fedora可用yum install ctags下载,如果不能直接下载就去ctags官网下载相应的包再安装。
2014-01-20 09:58:06
712
转载 LSPCI命令详解分析
最近经常用到 lspci -nn | grep Eth 命令,需要学习下PCI总线,找到一篇文章,虽然也是转载,但写的较清晰,再次转载下。http://blog.youkuaiyun.com/zhenhuakang/article/details/5463605一、PCI简介 PCI是一种外设总线规范。我们先来看一下什么是总线:总线是一种传输信号的路径或信道。典型情况是,总
2014-01-17 15:22:26
9298
转载 Linux下区分物理CPU、逻辑CPU和CPU核数
看到一篇文章,感觉很好,也经常用到,自己写的话也描述的不太清楚,在此转载一下。http://www.2cto.com/os/201303/193604.html ㈠ 概念 ① 物理CPU 实际Server中插槽上的CPU个数 物理cpu数量,可
2014-01-14 09:18:31
716
原创 linux常见编译错误
64位系统编译32位程序时若出现/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory 时一般是缺少相应的包。若是fedora系统可用以下命令:先用yum -y install glibc*试下,其中-y是默认的回答yes,下载时不需要回答问题。不行的话可以单独下载一个包:yu
2014-01-13 14:06:53
1487
原创 opencv移植到Hiveboard
由于Opencv2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。 ubuntu下安装cmake比较简单,apt-get install cmake我们选择的是opencv2.4.4版本,源码可到opencv网站下载解压OpenCV压缩文件,得到文件夹,通过图形界面配置。输入命令cmake-gui 打开cmake的gui界面,开始进行配置,配置过程
2013-10-13 10:15:30
912
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人