- 博客(444)
- 资源 (56)
- 收藏
- 关注
原创 Ubuntu下屏幕录像、后期处理不完全攻略
参考ubuntu下折腾ffmpeg小记(音视频录制、转换) - http://blog.chinaunix.net/uid-342902-id-2416122.htmlHow to generate gif from avi using ffmpeg - http://stackoverflow.com/questions/6079150/how-to-generate-gif-fr
2013-08-21 21:51:16 5663
原创 Unity3D游戏开发从零单排(一) - 真机运行(Android和WindowsPhone)
周末不想学习,就来玩一玩Unity3D好了。 本以为网上会有很多关于Unity3D的配置文章,但搜到的要么是iOS的,要么比较 坑爹,所以还是自己来写一篇。 环境:Windows 7 32bit Unity4。
2013-08-19 21:53:12 9522
原创 PCL点云文件生成与读取
PCL中创造了一种用于描述空间点集的文件 - PCD.关于PCD的简介,可以参考这里 - http://pointclouds.org/documentation/tutorials/pcd_file_format.php今天要做的是最简单的事情 - PCD文件的生产与读取。
2013-08-19 20:19:14 6304
原创 OpenGL进阶(十二) - 基础着色(Shading)
提要经过前面的关于GLSL基础学习,包括:OpenGL进阶(八) - GLSL入门Real-Rime Rendering (2) - 变换和矩阵(Translation and Matrics)...接下来的内容将会非常的有意思,比如全局光照,环境贴图,法线贴图,景深....是不是听着就很棒!想要学习的话,当然需要付出更多的努力!不过一切都是值得的。今天的内容主要是
2013-08-17 11:25:06 9935 1
原创 软件工程研究生在读一年总结
一觉醒来,俨然还是2012年那个慵懒的暑假,躁动的蝉鸣,油绿的树叶,吸血的蚊子,还有,软件工程硕士的录取通知书。 但现实是,我已经研二了。 我还是很想去做很多有意思的事情,但大部分除了留下一声唏嘘,也就没什么了,因为我再也不是那个无忧无虑的小子。 当时报道之前,对学校也没什么期望,只希望有张床睡,有台破电脑给我写代码,就Ok了,而事实也是
2013-08-15 19:23:33 8352 5
原创 Real-Time Rendering (2) - 变换和矩阵(Transforms and Matrics)
提要 在图形的计算中,比如旋转、缩放、平移、投影等操作,矩阵都扮演着极其重要的角色,它是操作图元的基本工具。虽然很多的图形API已经封装好了这些矩阵操作,但是理解这些矩阵操作的原理会非常非常有帮助,比如说我们可以通过一些矩阵的快捷计算来加速你的代码。 如果你有一些线性代数的基础,看下面的内容的时候也不会很轻松,因为有点难且比较没意思,如果没有修过这门课,最好把线性代数
2013-08-14 22:17:40 5730
原创 Android3D编程之导入3dsMd2模型
提要3d模型的导入是游戏开发中比较基础的部分了,这里通过jpct这个游戏引擎来加载的,实现起来比较简单。jpct简介jPCT是一款基于OpenGL技术开发的3D图形引擎(PC环境为标准OpenGL,Android为OpenGL ES), 以Java语言为基础的,拥有功能强大的Java 3D解决方案。该引擎与LGame(此为2D游戏引擎)相类似,目前拥有PC(J2SE)以及And
2013-08-10 11:04:27 4518 4
原创 OpenGL进阶(十一) - GLSL4.x中的数据传递
Shader中的数据传递1、Vertext shader 和 fragment shader利用内建的 uniform 变量来获取有限的OpenGL状态;2、Vertext shader通过特殊的内建的 output 变量和自定义的out 变量来将数据传递给后面的阶段;3、Fregment shader通过特殊的内建 input 变量和用户定义的 in 变量来获取上一阶段的结果;4
2013-08-07 16:39:50 4355 1
原创 Bullet物理引擎不完全指南 in Linux
Bullet介绍 Bullet的主页 。最新版本在这里下载 。简单的中文介绍见百度百科 。一些也许可以促使你选择Bullet的小故事在以前的文章中有提及,参考这里 的开头--为什么选择Bullet。 主要特征: * 代码用C++构建,遵守zlib开源协议,可免费用于各种商业目的。跨平台支持,包括PS3,XBox 360... * 离散
2013-08-03 21:33:34 7624 4
原创 OSG(OpenSceneGraphcow.osg)配置笔记
OpenSceneGraph是一款高性能的3D图形开发库。广泛应用在可视化仿真、游戏、虚拟现实、高端技术研发以及建模等领域。使用标准的C++和OpenGL编写而成,可以运行在Windows系列、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX以及FreeBSD操作系统。官网 - http://www.openscenegraph.org/ 这里采用的是手动
2013-08-02 21:50:23 3130
原创 OpenGL进阶(十) - obj文件的导入
Obj文件简介 OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导,也可以通过Maya读写。比如你在3dsMax或LightWave中建了一个模型,想把它调到Maya里面渲染或动画,导出OBJ文件就是一种很好的选择。目前几乎所有知名的3D软
2013-08-02 11:06:23 19251 5
原创 OpenGL进阶(九) - GLSL中VAO和VBO的使用
回顾Vertex Shader : 基于GLSL的语法写的一种类C的代码,可以用来控制顶点的特性,比如位置,颜色还有纹理坐标等。Fragment Shader:用于计算每个片段的颜色,可用于实现光照还有真实感的贴图。还有一种Shader 叫做Geometry Shader,用于添加顶点。使用结合了GLSL的OpenGL程序的渲染管线就变成了这样:
2013-08-01 10:15:20 13314 12
原创 OpenGL进阶(八) - GLSL入门
简介 随着图形硬件的发展,渲染管线由固定不可更改想着可编程和更平滑的方向不断发展。越来越多的基于GPU的编程语言开始出现,cg,cuda,各种着色语言等等。 今天要介绍的就是和OpenGL结合非常紧密的GLSL(OpenGL Shading Language). 通过OpenGL的API我们可以绘制图元,变换图形等等,当并不能改变基础的渲染管线。在OpenGL中
2013-07-31 11:08:34 7502 1
原创 Real-Time Rendering (1) - 渲染管线(Rendering Pipeline)
提要渲染管线是实时渲染中最重要的部分,它的最主要的任务就是在给定一个虚拟的场景,包括相机,object,灯光,纹理等等,生成一副2D的图像。最基础的渲染管线如下图所示:主要的阶段包括三个:Application,Geometry,Rasterizer,每个阶段都可能分成更小的管线,有些小的阶段会并行执行。下面来一个个讨论。The Application St
2013-07-29 22:03:46 5106 2
原创 Ubuntu13.04手动安装nvidia显卡驱动
1. 下载最新版的nVidia驱动,命名为NVIDIA.run。http://www.nvidia.com/page/drivers.html2.编辑blacklist.conf。sudo gedit /etc/modprobe.d/blacklist.conf添加以下部分并保存:blacklist vga16fbblacklist nouvea
2013-07-29 20:08:22 14927
原创 Window7下手动编译最新版的PCL库
PCL简介PCL是Point Cloud Library的缩写,是一个用于处理二维图像,三维深度图像和三维点云的C++库。该库是完全开源的,可免费用于商业和学术研究。官方网站:http://pointclouds.org/PCL的用途:下面对最新版的PCL库进行 编译。环境:windows7 32bitVS2010cmake2.8Tortoise
2013-07-29 19:09:45 6929 3
原创 Linux操作系统分析(8)- 破解Linux操作系统的奥秘
提要 今天的主题是“破解Linux操作系统的奥秘”,标题虽然有点玄乎,但决不忽悠。相关文章:Linux操作系统分析(1)- How program worksLinux操作系统分析(2)- 进程的创建与可执行程序的加载Linux操作系统分析(3)- 内核装载ELF的过程总结sa1****310 **涛存储程序计算机的概念现代计算机的基本结
2013-06-30 21:59:19 2605
原创 Java中的垃圾回收原理
垃圾回收简介用户程序(mutator)会修改还堆区中的对象集合,从存储管理器处获取空间,创建对象,还可一引入和消除对已有对象的引用。当mutator不能“达到”某些对象的时候,这些对象就成了垃圾。目的:找到不可达的对象,并将这些对象交给跟踪空闲空间的存储管理器,收回他们所占的资源。一些基本概念类型安全:任何数据分量的类型都是可确定的。可以在编译时刻确定数据的类型称为
2013-06-19 22:14:57 8722 5
原创 Linux操作系统分析(7)- 打造属于自己的linux发行版
提要 linux的启动过程,包括BIOS的加电自检POST,拷贝MBR的信息(启动BootLoader),加载内核,挂载根文件安系统这几大步熟悉grub的话会知道linux启动时grub中有三项:root,kernel,initrd。其三项的作用分别是:1.指定内核所在的目录2.指定内核的名称,以及挂载根目录的方式,还有向内核传递一定的参数3.initrd实际就是个
2013-06-16 20:42:01 6170
原创 Linux操作系统分析(6)- qemu+gdb调试linux内核
提要 继续学习Linux. 今天要做是的搭建Linux的内核调试环境。环境:Ubuntu13.04 gcc4.7.3安装QEMUQEMU简介QEMU是一套由Fabrice Bellard所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQM
2013-06-15 11:28:16 7358
原创 Linux操作系统分析(5)- 计时器
一、提要 计时器属于操作系统中的基础组件,不管是用户空间的程序开发,还是内核空间的程序开发,很多时候都需要有定时器作为基础组件的支持。使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。 本文首先讨论了在 Linux 环境下,计时器的分类与实现,并对相应的接口函数进行使用。二、计时器的种类RTC(R
2013-06-04 09:17:08 4613
原创 Linux操作系统分析(4)- 更新内核与添加系统调用
环境:Ubuntu 13.04学号:sa****310更新内核直接安装的系统内核版本一般不是最新,用uname -a命令可以查看内核的版本号,比如我的就是:下面来手动更新内核到最新的稳定版本。1.获取源码进入kernel.org,下载最近版本内核源码,最新的稳定版本是3.9.4.下载好之后解压到 /usr/
2013-05-30 21:51:54 4524
原创 Linux操作系统分析(2)- 进程的创建与可执行程序的加载
学号:sa×××310 姓名:××涛环境:Ubuntu13.04 gcc4.7.31.进程管理 Linux中的进程主要由kernel来管理。系统调用是应用程序与内核交互的一种方式。系统调用作为一种接口,通过系统调用,应用程序能够进入操作系统内核,从而使用内核提供的各种资源,比如操作硬件,开关中断,改变特权模式等等。 常见的系统调用:exit,fork,re
2013-05-26 20:13:12 3432
原创 Linux操作系统分析(3)- 内核装载ELF的过程总结
学号:sa×××310 姓名:××涛 通过上面一些对进程的学习和一些代码的验证,我们对Linux下的进程方面的知识有了一个很好的了解。相关的文章:进程控制Linux操作系统分析(2)- 进程的创建与可执行程序的加载下面来简单总结一些内核装载ELF的过程总结。简单的说,整个流程分为三步:1)创建一个独立的虚拟地址空间;2)读取可执行
2013-05-26 15:54:19 3736
原创 Git/Github的使用并与Eclipse整合
Git简介 Git是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器。 Git 在管理项目时,在本地会有三个工作区域:Git 的本地数据目录,工作目录以及暂存区域。如下图所示:因此对于任何一个文件,在 Git 内都只有三种状态
2013-05-23 19:37:10 8415
转载 论帮女生修计算机的正确方法
修了N年的电脑,今天才找到正确地方法,惭愧之至...现在分享给csdn的众ITer。研究背景:本部门近期做了一项普查,结果显示:女生普遍有叫男生上门修计算机的经历,男生普遍有被女生叫上门修计算机的经历。这类经历普遍发生在未婚阶段,已婚后需要修计算机或者被修计算机的几率几乎为零。为了弄明白这一问题,我们就此展开了一项专题研究。研究经过:1)女生为何叫未婚男生上门修计算
2013-05-21 12:19:25 2739 1
原创 Linux操作系统分析(1)- How program works
学号:sa×××310 姓名:××涛环境:Opensuse 12.2 gcc4.7.11.gdb常用调试命令要用gdb调试的话,编译命令需要添加-g参数,例如gcc -g main.c -o mainb linenum 在第 linenum行打断点l 显示源代码;Ctrl-d
2013-05-13 02:13:47 3716
原创 Blender学习第一日
由于要做游戏,需要模型,还有任务行走图,网上下载的行走图分辨实在惨不忍睹。所以还是自己学习一下建模的工具,Ubuntu下当然是Blender了。好在本科弄过一点3dmax,学期来应该不会太难。Ubuntu下安装Blender只要在软件中心找一下就可以了,最新的是2.66.包含了一个cycles 渲染器,用的是光线追踪,超屌的。新手的话还是视频教程来的快。教程是在Utube上的。
2013-05-09 11:36:43 3883
原创 Interactive 3D Graphics-Lesson4 Problem Set
第四课讲的是变换,还有坐标系之类的,不是很深。第四课的Problem set记录。1.机器人手臂要求是添加机器人手臂的底座,只要理解好THREE.Object3D()就可以了。参考一下原有的代码就可以得到结果。/////////////////////////////////////////////////////////////////////////////////*glob
2013-05-07 16:06:45 1979
原创 c语言中栈的分配(挖个坑)
大家都知道在c语言的运行过程中,局部变量都是存放在栈中的,且是从高位到低位进行进行空间分配。但是最近遇到一个程序还是让我有点小困惑。先看一个程序。很明显,地址从高到低分配,和预计的一样。稍微修改一下,再运行。很明显,从低位到高位!!!明确一下问题:栈区会应为局部变量的占内存的大小更改内存的分配方式。为什么?为什么?为什么?
2013-05-06 13:21:57 3311
原创 Interactive 3D Graphics-Lesson3 Notes
公开课的一些笔记。三种着色方式flat shading: 三角形的顶点没有法向量,三角形整个面才有法向量,打光时整个三角形只呈现一种颜色。Gouraud shading: 三角形的顶点都有各自的法向量,打光时三个顶点有各自的颜色,接着做双线性内插 (bilinear interpolation)来求得颜色,使整个三角形有渐层的颜色变化。Phong shading: 三角形的顶点都有
2013-05-05 20:52:16 2247
原创 C++ 从零单排(5)- ACM三和总结
继续干!List the Bookshttp://acm.zju.edu.cn/网上第 2727 题以书名、出版年份和价格为关键词,按照排序标准把书进行排序。注意:Name 是第一排序标准,Year 是第二排序标准,Price 是第三排序标准。思路:定义书的结构体,首先把书的信息读到vector中,然后分别定义三个Compare方法。#inclu
2013-05-04 21:28:14 1880
原创 C++ 从零单排(4)- ACM二
继续刷水题!!!这次要搞zoj的题目,Let's go!Quicksumhttp://acm.zju.edu.cn/网上第 2812 题Quicksum 是一行字符串(数据包)中每个字符的位置与该字符的值的乘积之和。空格的值是 0,字母的值等于它在字母表中的位置。所以,A 的值是 1,B 的值是 2,依此类推,Z 的值是 26。下面两个例子是求“ACM”和“
2013-05-03 22:24:55 2019
原创 通过百度定位sdk获取实时位置
之前有一片关于基站定位的文章,当时的测试环境是小米+移动,比较顺利。但在实际运用中就出现问题了-联通和电信的号完全没办法定位!最好的解决方法就是用第三方sdk来定位了。百度的定位sdk还是很不错的,可以通过wifi,gps,gprs来定位,和运营商就无关了。最终效果:界面就一个button'和textview,点击按钮之后就开始定位,获取结果之后在textvie
2013-05-03 01:53:49 8240 14
原创 C++ 从零单排(3)-ACM一
先看昨天的成果:勉强冲进前50.今天花点时间做一些ACM的水题。1.菲波那且数列菲波那契(Fibonacci)数(简称菲氏数)定义为:⎧ f (0) = 0⎪⎨ f (1) = 1⎪ f (n) = f (n − 1) + f (n − 2) (n > 1且n ∈ 整数)⎩如果写出菲氏数列,则应该是:0 1 1 2 3 5 8 1
2013-05-01 21:52:23 2313 1
原创 C++ 从零单排(2)-基础知识二
首先来看一下今天的成绩:虽然没到三百,但是还是有进步。今天的目标是350。继续记录一下C++里遇到的盲点。静态成员分为静态数据成员和静态函数成员。静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 静态数据成员被 类 的所有对象所共享,包括该类派生类的对象。即派生类对象与基类对象共享基类的静
2013-04-30 13:05:25 1993 3
原创 C++ 从零单排(1)-基础知识一
最近发现一个挺有意思的东西,一问一答-http://wenda60.com/。我这水平也就敢冲一下C++了,下面是一些记录。默认this指针this指针是一个特殊的指针,当类的某个非静态的成员函数在执行时,就会存在this指针。它指向类的一个对象,且这个对象的某个成员函数正在被调用。this指针的名字始终是this,而且总是作为隐含参数传递给每一个被声明的成员函数。实际
2013-04-29 15:33:01 1919
原创 vim不完全配置手册
下定决心好好来配置一下 vim. 基本配置终端运行:vim ~/.vimrc配置内容如下:set nocp "设置兼容set expandtab "设置tabset shiftwidth=4 "设置tab的间隔set tabstop=4 "四个空格代表一个tabset sts=4set showmatch "在输入括号时光标会短暂地
2013-04-28 21:25:54 2502 3
原创 Android中生成PDF
iText 是java和C#中的一个处理PDF的开源类库,国外的大牛已经把它移植到Android上了,但是直接拿来用还是需要花费一点功夫,下面就用一个简单的demo来测试一下。iText项目地址:https://code.google.com/p/droidtext/首先用过svn把代码check下来,终端运行svn checkout http://droidtext.googleco
2013-04-26 00:25:11 8690 7
原创 Android游戏开发十日通(4)-行走,跳跃,碰撞检测
提要经过前面的三篇文章,我们已经对libgdx有了一定的了解,并且搭建了一个简单的游戏场景,下面我们就继续在之前场景上添加更多的元素。今天要实现的是精灵的行走、跳跃动画,还有碰撞检测。行走今天要实现的东西都是基于物理和数学的原理,首先我们来分析一下行走。游戏中的动画都是帧动画,比如对Bob的行走一步的动画分解:当这个序列连续播放的时候,就有了行走的效
2013-04-24 15:24:32 4830
stanford_bunny
2013-08-17
Unity3D的 Shader例子
2014-09-26
Resources_airhockey
2013-12-28
基于Qt的图像采集系统
2013-09-18
g77_pack g77_pack
2013-08-28
ffmpeg-snapshot
2013-08-21
xvidcapi386.deb
2013-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人