服务端配置

配置文件/etc/ssh/sshd_config

PermitRootLogin yes  #允许root用户登录
PasswordAuthentication no #允许密码登录
RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥认证
阅读全文 »

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。这里先分析正则表达式的模式字符串,然后分别给出了python和c++类的用法

阅读全文 »

本文中的前世今生部分,参考了蒋鑫的 git权威指南

版本控制前世今生

在史前黑暗时代,人们任由数据自生自灭,相互吞噬,没有版本的概念.

首先出现的是diff和patch. diff比较修改后文件的差异,可以把差异提取出来.

patch则刚好相反,通过修改后的文件和差异文件,反向还原出源文件

阅读全文 »

从现在开始,我们就要绘制大量三角形了.这里我们引入一种更高效的条带绘制方式.

然后才是本节核心camara.这里不会对其中的原理和细节做推导,直接给出结论.

如果感兴趣,可以看这篇博文

这里着重阐述camara在OpenGL中的FPS应用场景,怎么使用它来构造我们的camera.

阅读全文 »

我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实,我们就必须有足够多的顶点,从而指定足够多的颜色。这将会产生很多额外开销,因为每个模型都会需求更多的顶点,每个顶点又需求一个颜色属性。艺术家和程序员更喜欢使用纹理(Texture)。

阅读全文 »

着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出。

现在我们会用一种更加广泛的形式详细解释着色器,特别是OpenGL着色器语言(GLSL)。针对gpu的并行特性,对语法里的if判断,我们要谨慎对待,稍有不慎,就会拾取并行特性导致效率下降

阅读全文 »

当你画出三角形,你已经知道如下知识:OpenGL api的调用,OpenGL缓冲区的设置,glsl shader的编译,OpenGL 渲染管线的原理.本文手把手带领大家画出一个三角形.

阅读全文 »

经过上一节的学习介绍,我们已经知道OpenGL是个啥了,在正式开始画三角形之前,还有一只拦路虎,也就是图像渲染的载体--窗口.

虽然我们的各种窗口库可以分简单地弄出窗口来,但我们必须搞明白这个东西,不能云里雾里,否则今后的学习你肯定会出现各种问题

阅读全文 »