2016年8月23日

摘要: 之前写过一篇博客,OpenGL管线(用经典管线代说着色器内部),说的主要是OpenGL的经典管线。大家都知道,现代OpenGL已经弃用(从OpenGL 3.0开始)经典管线功能(glBegin,变换矩阵,光照,雾,纹理坐标自动生成,等),这些功能可以在需要时由着色器实现。现代OpenGL分为core 阅读全文
posted @ 2016-08-23 11:45 liangliangh 阅读(4840) 评论(2) 推荐(0) 编辑
摘要: 编译、解释型语言:编译型语言需要首先由编译器将源代码编译为机器代码,再由机器执行,即运行前有一个编译过程,C++是典型的编译语言,GCC是C++的最流行的编译器;解释型语言不需要编译,运行时直接由解释器解释执行,典型代表如shell、Python;也有语言是这两种类型的混合,即既需要编译,又需要解释 阅读全文
posted @ 2016-08-23 11:39 liangliangh 阅读(912) 评论(0) 推荐(1) 编辑

2015年11月1日

摘要: 数据挖掘(Data Mining)作为一个领域,比机器学习要大,偏应用。互联网公司也大量使用数据挖掘技术,作为即将毕业进入互联网公司从事机器学习算法开发的我,最近计划系统了解一下这方面的理论和技术。作为一个习惯,学习一个东西之前总要上网找找学习资源(网站,书籍,学术期刊会议),以保证学到的是最前沿最 阅读全文
posted @ 2015-11-01 21:48 liangliangh 阅读(2435) 评论(0) 推荐(3) 编辑

2015年8月8日

摘要: 机器学习(Machine Learning,简称 ML)和计算机视觉(Computer Vision,简称 CV)是非常令人着迷、非常酷炫、颇具挑战性同时也是涉及面很广的领域。本文整理了机器学习和计算机视觉的相关学习资源,目的是帮助许多和我一样希望深刻理解“智能”背后原理的人,用最为高效的方式学习最 阅读全文
posted @ 2015-08-08 17:03 liangliangh 阅读(5596) 评论(0) 推荐(5) 编辑

2015年1月21日

摘要: 所谓元编程就是编写直接生成或操纵程序的程序,C++ 模板给 C++ 语言提供了元编程的能力,模板使 C++ 编程变得异常灵活,能实现很多高级动态语言才有的特性(语法上可能比较丑陋,一些历史原因见下文)。一些系统级的代码不可避免的要涉及元编程(如类型计算)。 阅读全文
posted @ 2015-01-21 14:53 liangliangh 阅读(58485) 评论(35) 推荐(39) 编辑

2014年12月29日

摘要: 平台:Win7,Chrome39.0.2171.95 m配置过程:如果GoAgent主页和官方教程打不开,请看我网盘保存的版本(直接下载未做任何修改,包括GoAgent、几个网页):链接: http://pan.baidu.com/s/1dDeWDw9 密码: n25j以下由“FQ”代表“FanQi... 阅读全文
posted @ 2014-12-29 13:56 liangliangh 阅读(376) 评论(0) 推荐(0) 编辑

2014年12月24日

摘要: 平台:Win7,Matlab 2014a从一系列图片导出AVI视频的M代码如下:clear all; % 清除变量% 官方示例,命令窗口输入“doc VideoWriter”writerObj = VideoWriter('out.avi'); % 输出AVI文件名字,out.aviwriterOb... 阅读全文
posted @ 2014-12-24 11:22 liangliangh 阅读(2828) 评论(0) 推荐(0) 编辑

2014年12月23日

摘要: 实验平台:Win7,VS2010先上结果截图:本文是我前一篇博客:OpenGL阴影,Shadow Mapping(附源程序)的下篇,描述两个最常用的阴影技术中的第二个,Shadow Volumes 方法。将从基本原理出发,首先讲解 Zpass 方法,然后是 Zfail 方法(比较实际的方法),最后对... 阅读全文
posted @ 2014-12-23 23:36 liangliangh 阅读(15292) 评论(47) 推荐(4) 编辑

2014年11月30日

摘要: 实验平台:Win7,VS2010先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序):本文描述图形学的两个最常用的阴影技术之一,Shadow Mapping方法(另一种是Shadow Volumes方法)。在讲解Shadow Mapping基本原理及其基本算法的OpenGL实现... 阅读全文
posted @ 2014-11-30 22:08 liangliangh 阅读(19092) 评论(18) 推荐(10) 编辑

2014年11月25日

摘要: 图形管线(graphics pipeline)向来以复杂为特点,这归结为图形任务的复杂性和挑战性。OpenGL作为图形硬件标准,是最通用的图形管线版本。本文用自顶向下的思路来简单总结OpenGL图形管线,即从最高层开始,然后逐步细化到管线图中的每个框,再进一步细化到OpenGL具体函数。注意,这里用... 阅读全文
posted @ 2014-11-25 14:51 liangliangh 阅读(13209) 评论(5) 推荐(7) 编辑

2014年11月12日

摘要: 实验平台:win7,VS2010先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序):a.鼠标拖拽旋转物体,类似于OGRE中的“OgreBites::CameraStyle::CS_ORBIT”。 b.键盘WSAD键移动镜头,鼠标拖拽改变镜头方向,类似于OGRE中的“Ogre... 阅读全文
posted @ 2014-11-12 17:35 liangliangh 阅读(12096) 评论(6) 推荐(5) 编辑

2014年6月3日

摘要: OpenGL是3D图形接口工业标准,使用上非常简单,所有API不过上百个函数,但理解OpenGL就没那么简单,本文总结OpenGL的学习资源,包括官方资料、网上教程、示例程序等。Wikipedia:OpenGL,介绍了OpenGL的历史及版本;Graphics processing unit,介绍了... 阅读全文
posted @ 2014-06-03 10:32 liangliangh 阅读(6849) 评论(3) 推荐(8) 编辑

2014年6月2日

摘要: 计算机图形学(Computer Graphics,简称CG)是一个令人着迷的领域,本文整理了一些图形学相关的学习资源。Wikipedia的介绍,及其后面附的“参考文献”和“外部链接”总是值得一看的:Computer graphics:主要介绍图形学的历史;Computer graphics (com... 阅读全文
posted @ 2014-06-02 16:36 liangliangh 阅读(9241) 评论(4) 推荐(14) 编辑

2014年5月24日

摘要: 平台:Win7 64 bit,Matlab R2014a(8.3) Matlab绘图功能强大,本文以“图解Matlab绘图”的形式介绍Matlab绘图的常用元素。1.以图识图 在Matlab中新建一个矩阵,在左侧工作区窗口中选中这个变量,点击菜单“绘图”,即可以查看Matlab的各种图形:点击“... 阅读全文
posted @ 2014-05-24 22:05 liangliangh 阅读(5207) 评论(6) 推荐(2) 编辑
摘要: 要查看Matlab所有绘图函数,请从Matlab主界面菜单查看“绘图目录”,或从Matlab帮助文档查看“Types of MATLAB Plots”(在线版本)。本文的图和英文解释摘自Matlab帮助文档。类别Function图维度描述曲线plot2绘制曲线,相邻点之间被插值fplot输入函数... 阅读全文
posted @ 2014-05-24 13:56 liangliangh 阅读(11163) 评论(0) 推荐(4) 编辑

2014年5月19日

摘要: 平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具。本文侧重于Matlab的编程语言侧面,讲述Matlab的基本语法,以及用Matlab语言进行程序设计。值得一提的是,Matla... 阅读全文
posted @ 2014-05-19 16:34 liangliangh 阅读(18851) 评论(4) 推荐(4) 编辑

2014年3月31日

摘要: 平台:Win7 64 bit,IDLE Python 3.4.0经常有这样的需求:在一个文本文件里查找特定字符串,这很好实现,用任何文本查看工具几乎都可以做到。而有的时候,想查找一个文件夹下的所有文本文件(特定后缀),我就遇到了这样的问题:想找到Blender的源代码中关于SPH的实现代码。于是写了... 阅读全文
posted @ 2014-03-31 13:17 liangliangh 阅读(1332) 评论(0) 推荐(0) 编辑

2014年3月7日

摘要: 本文在参考ISO/IEC 14882:2003和cppreference.com的C++Preprocessor的基础上,对C++预处理做一个全面的总结讲解。如果没有特殊说明,所列内容均依据C++98标准,而非特定平台相关(如VC++)的,C++11新增的特性会专门指出。1. 简介 通常我们说C++的Build(这里没用“编译”是怕混淆)可分为4个步骤:预处理、编译、汇编、链接。预处理就是本文要详细说的宏替换、头文件包含等;编译是指对预处理后的代码进行语法和语义分析,最终得到汇编代码或接近汇编的其他中间代码;汇编是指将上一步得到的汇编或中间代码转换为目标机器的二进制指令,一般是每个源文件... 阅读全文
posted @ 2014-03-07 16:34 liangliangh 阅读(8998) 评论(3) 推荐(2) 编辑

2014年3月5日

摘要: 本文总结了几个好的C++网站,以及C++方面的经典书籍。所列书籍或标准可以到这里找找电子版。wikipedia关于C++有关条目,注意看后面“参考文献”和“外部链接”:C++ programming language:介绍C++C++ Standard Library:C++标准库,介绍了所有51个... 阅读全文
posted @ 2014-03-05 15:00 liangliangh 阅读(2512) 评论(0) 推荐(7) 编辑

2014年3月3日

摘要: 本文介绍 OGRE 3D 1.9 程序的启动过程,即从程序启动到3D图形呈现,背后有哪些OGRE相关的代码被执行。会涉及的OGRE类包括:RootRenderSystemRenderWindowResourceGroupManagerLogManagerViewportSceneManagerCameraSceneNodeEntityLight 建议在阅读本文时参考OGRE API Reference,OGRE官方给的API Reference没有类的协作图,可以自己用Doxygen生成API文档,见:Bullet的学习资源(用Doxygen生成API文档)。 关于如何安装OGRE和如... 阅读全文
posted @ 2014-03-03 22:43 liangliangh 阅读(5447) 评论(0) 推荐(3) 编辑

2014年3月2日

摘要: 实验平台:win7,VS2010先上结果截图:文章最后附有生成该图的程序。1. 刚体模拟原理 Bullet作为一个物理引擎,其任务就是刚体模拟(还有可变形体模拟)。刚体模拟,就是要计算预测物体的运动,举个例子,我抛一块砖头,砖头砸在地上翻了几圈最后停下来,刚体模拟就是要用计算机把这一切虚拟化(给定... 阅读全文
posted @ 2014-03-02 10:14 liangliangh 阅读(3143) 评论(1) 推荐(1) 编辑

2014年3月1日

摘要: 平台:Win7,VS20101. Bullet库的组织下图是Bullet_User_Manual中的截图:从中可见,Bullet的LinearMath(线性数学模块),其上是BulletCollision(碰撞检测模块),然后BulletDynamics(刚体模拟模块)和BulletSoftBody(可变形体模拟模块)建立在BulletCollision之上,另外还有可选的导入导出插件和多线程模块。LinearMath、BulletCollision、BulletDynamics、BulletSoftBody是核心模块,其他则是可选的(当你需要插件或使用多线程时使用)。我们这里只编译核心模块, 阅读全文
posted @ 2014-03-01 20:40 liangliangh 阅读(5283) 评论(4) 推荐(1) 编辑

2014年2月28日

摘要: Bullet 全称 BulletPhysics Library,是著名的开源物理引擎(可用于碰撞检测、刚体模拟、可变形体模拟),这里将bullet的学习资源整理一下,希望能帮助入门者少走弯路。看下wikipedia的介绍还是必要的:http://en.wikipedia.org/wiki/Bullet_(software)看完才知道,好多大片都用的Bullet做物理模拟,如电影《2012》,这应该能增加你对Bullet的兴趣吧。官方网站:http://bulletphysics.org/下载Bullet:https://code.google.com/p/bullet/downloads/li 阅读全文
posted @ 2014-02-28 22:33 liangliangh 阅读(2431) 评论(1) 推荐(2) 编辑

2014年2月27日

摘要: 平台:win7, VS2010先看运行结果吧:1. 安装OGRE下载OGRE SDK 1.9,解压,放在你喜欢的地方,在OGRE SDK文件加下创建“OGRE_HOME.bat.bat”文本文件,添加如下脚本:setx OGRE_HOME %CD%双击运行“OGRE_HOME.bat.bat”,该操作定义环境变量OGRE_HOME值为OGRE SDK目录,该环境变量将在VC++工程中使用。2. 下载BaseApplication到这个地方下载Tutorial Framework 1.9 - (Windows Line-endings):http://www.ogre3d.org/tikiwik 阅读全文
posted @ 2014-02-27 22:37 liangliangh 阅读(4421) 评论(0) 推荐(1) 编辑
摘要: 本文介绍从哪儿开始学习OGRE(Object-Oriented Graphics Rendering Engine的简称,又叫做OGRE 3D),如何在网上找寻OGRE的学习资源。首先是wikipedia的介绍:http://en.wikipedia.org/wiki/OGRE官方网站:http://www.ogre3d.org/官网介绍:http://www.ogre3d.org/about特性列表:http://www.ogre3d.org/about/features开发者对OGRE评价:http://www.ogre3d.org/about/testimonials在这里下载OGRE: 阅读全文
posted @ 2014-02-27 20:20 liangliangh 阅读(3451) 评论(2) 推荐(3) 编辑

2014年2月25日

摘要: 本文对OpenMP 2.0的全部语法——Macro(宏定义)、Environment Variables(环境变量)、Data Types(数据类型)、Compiler Directives(编译指导语句)、Run-time Library Functions(库函数)的含义用表格进行总结,以便... 阅读全文
posted @ 2014-02-25 23:00 liangliangh 阅读(8737) 评论(0) 推荐(2) 编辑
摘要: 实验平台:win7, VS2010 1. 介绍 并行计算机可以简单分为共享内存和分布式内存,共享内存就是多个核心共享一个内存,目前的PC就是这类(不管是只有一个多核CPU还是可以插多个CPU,它们都有多个核心和一个内存),一般的大型计算机结合分布式内存和共享内存结构,即每个计算节点内是共享内存,节点 阅读全文
posted @ 2014-02-25 23:00 liangliangh 阅读(49084) 评论(5) 推荐(8) 编辑

2014年1月15日

摘要: 平台:Windows7,Visual C++ 20101. 引言 实验室的一个项目,用到OpenGL进行实时绘制,还用到一些其他的库,一个困扰我很久的问题就是编译时遇到的各种符号未定义,符号重定义之类的链接错误,其一般形式如下:xxx.obj : error LNK2019: 无法解析的外部符号_... 阅读全文
posted @ 2014-01-15 22:52 liangliangh 阅读(11614) 评论(1) 推荐(1) 编辑

2013年7月24日

摘要: 本文介绍从哪儿开始学习VTK(Visualization Toolkit的简称),如何在网上找寻VTK的学习资源。首先,可以到维基百科或者百度百科上查看VTK条目,了解VTK是什么。http://en.wikipedia.org/wiki/VTKhttp://baike.baidu.cn/view/627777.htm然后可以到VTK官方网站看其正式介绍,VTK由KitWare公司维护,也可以到该公司的主页看看。http://www.vtk.org/http://www.kitware.com/http://www.vtk.org/VTK/project/technical.html(VTK特 阅读全文
posted @ 2013-07-24 10:19 liangliangh 阅读(4247) 评论(0) 推荐(0) 编辑

2013年7月23日

摘要: 第一章C语言基础1. C语言编译过程预处理:宏替换、条件编译、头文件包含、特殊符号 编译、优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码,至少由代码段和数据段组成 链接:将有关的目标文件彼此相连接,分为静态链接和动态链接2.编码规范 适当的注释; “{”和“}”独占一行并使一对对齐,“{}”之内的代码向右缩进4个空格;if、for、while等关键字后留一个空格再跟“(”,但函数紧跟; “(”后向紧跟;“)”、“,”、“;”前向紧跟; “,”后留空格;“;”不是一行结束时留空格; 二元操作符两边适当加空格,但单目运算符及“[ ]”、“.” 阅读全文
posted @ 2013-07-23 09:01 liangliangh 阅读(539) 评论(0) 推荐(1) 编辑

2013年7月22日

摘要: 本文在最为概略的层次上对.NET涉及的一些名词进行解释,包括:通用语言基础架构(Common Language Infrastructure, CLI)、虚拟执行系统(Virtual Execution System, VES)、通用中间语言(Common Intermediate Language... 阅读全文
posted @ 2013-07-22 10:24 liangliangh 阅读(488) 评论(0) 推荐(0) 编辑

2013年7月10日

摘要: 操作系统:Windows7,用到工具:Visual studio、CMake。1.准备工作VTK下载:下载最新VTK稳定版(6.0.0,截至2013年7月)http://www.vtk.org/VTK/resources/software.htmlCMake下载和安装:最新版的VTK不提供Windo... 阅读全文
posted @ 2013-07-10 11:16 liangliangh 阅读(3508) 评论(4) 推荐(0) 编辑

导航