ubuntu 常用命令

ubuntu常用命令:
ps aux 显示所有进程
ps aux –sort -rss 按内存使用排序显示进程

apt list –installed 查看已安装的程序包
apt-get install 安装指定程序包
apt-get purge 移除程序(包含配置文件)
apt-get remove 移除程序(不包含配置)

a2ensite <网站配置文件(除后缀)> apache2允许网站

a2dissite <网站配置文件(除后缀)> apache2禁用网站

a2enmod <模块名> apache2允许模块

a2dismod <模块名> apache2禁用模块

service apache2 reload apache2重新加载配置

service apache2 restart apache2重启

awk -F: ‘{printf “%s:%s\n”,$1,$3}’ /etc/passwd 显示所有用户和他们的UID

id -u <用户名> 显示指定用户的uid

getent group 显示所有组和id

getent group <组名> 显示指定组的id

ubuntu iptables

linux系统自带的网络防火墙。用来指定允许访问的端口。
常用命令
显示当前iptables设定:

iptables -L

输出当前iptables设定到文件:

iptables-save > /etc/iptables.rules

从设定文件读取iptables到系统:

iptables-restore < /etc/iptables.rules

添加一条新记录:

iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT

禁止指定IP访问:

iptables -A INPUT -s  -j DROP

Unity动态Mesh操作

在Unity的世界中,MeshRender在游戏场景里渲染出Mesh,成为我们眼中的游戏模型。通常由Max, Maya, Blender等3d软件导出,再向Unity工程中导入。Mesh由点线面组成,是游戏中不可或缺的部分。

变量

vertices 顶点坐标数组Vector3[]
triangles 三角形顶点序列,以vertices的index为顺序,3个一组,连接成三角形int[]
uv 贴图uv,即贴图切分的坐标Vector2[]
normals 法线Vector3[] 

创建mesh对象

Mesh mesh = new Mesh();
//先创建点
mesh.vertices = new Vector3[]{new Vector3(0,-50,0), new Vector3(100,0,0), newVector3(-100,0,0) };
//再连接三角形
mesh.triangles = new int[]{0,1,2};

在有些游戏引擎中,三角形的顺序是固定的,只需指定vertices,就能自动生成三角形
而unity不同,除了定义顶点以外,还必须定义三角形顺序
tri
如图,2个三角形的一条边(1,2)为共边
triangles = new int[]{0,1,2,1,2,3};

(其实0,1,2,3已提供了足够的信息,所以某些游戏引擎只有第一个三角形会写全,之后的只提供1个额外顶点)

常用方法:

MarkDynamic 标记为动态mesh,更适合经常更新
Optimize   优化
RecalculateBounds
RecalculateNormals

windows sdk 创建dialog

利用rc资源文件,新建dialog对象

 

DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN_DIALOG), NULL, DlgProc);

 

BOOL CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;

case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
break;
}
return (INT_PTR)FALSE;
}