首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

自个儿的经验知识杂记

2013-10-19 
自己的经验知识杂记 工作中学习收集的一些知识还有解决问题的方法,一般是些小技巧来不及总结的那种,仅用于

自己的经验知识杂记

 工作中学习收集的一些知识还有解决问题的方法,一般是些小技巧来不及总结的那种,仅用于自己查阅!

/*************************************************************************************************************************************************************/

 原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb_driver/article/details/8819772,作者:gqb666  
/**********************************************************************************************************************************/

1.图形学流水线:

顶点->顶点变换- >片源组装->裁剪->插值->像素操作->stencil test ->depth test ->alpha test->alpha 混合

顶点着色器->插值->图元组装光栅化或者几何着色器->片段着色器->裁剪测试->多重采样->模板测试->深度测试->混合->抖动->遮罩输出

 

不对,比如你用三角形面片逼近一个球,如果你指定一个三角形每个顶点法向量都一样的话,加上光以后你会发现这个球是不光滑的。因为实际得到的是一个多面体而不是一个球。但如果你根据每个顶点在球面上的坐标计算该顶点实际的法方向(是球面的法方向)的话,得到的球就会光滑得多了。
换句话说,其实顶点法向量是根据原先的曲面算出来的,而不是根据近似以后的三角形面片算出来的。
关于根据曲面方程计算上面任意一点法向量的问题,可以参考任意一本高等数学书。
如果不知道曲面的解析方程的话,也不妨用平面法向量代替曲面法向量,不过光滑程度差一点。


图形硬件技术:

 1.fast clear
 2. tile based rendering
 3. h-z
 4.early z  5.hierarchy Z 6.Z compression插值 (Interpolation) 
   在不生成像素的情况下增加图像像素大小的一种方法,在周围像素色彩的基础上用数学公式计算丢失像素的色彩。有些相机使用插值,人为地增加图像的分辨系。 但是w的值就是等于z的值,这个z值不是映射到0到1的值
你把那个透视矩阵乘以一个x,y,z,w就等于z
w就是乘以透视矩阵后的w值

 

fbo

stencil buffer的作用mipmap纹理采样reflection
shadow map
shadow volume
stencil buffer

Deferedshading 

skining

water 

 

 

2. 测试framebuffer

先cat /dev/fb0 >a.dat生成一个不就行了?以后就拿这个a.dat测试

 

3.shell脚本相关

shell脚本中${#0}表示第0个参数的长度,也就是命令的长度,${#1}表示第一个参数的长度。
举例:
./sub_str.sh hello 2 3
刚${#0}=12  ${#1}=5${#2}=1 ${#3}=1  

4.valgrind
内核态调试神器:valgrind
内存使用检测,包括:
    –内存泄漏
    –非法内存访问
    –未初始化变量使用
    –重复释放内存
  ?多线程竞争
    –检测死锁
    -检测竞争

 

将这个CPU_CFG_INT_DIS_MEAS_EN 关掉,去掉进出中断时统计开关中断的时间,以减少进出临界区的时间。果然解决了问题!

编译:$ g++ -IGL -lglut test2.cpp -o test.exe就生成了test.exe$  ./test.exe显示:OpenGL Warning: XGetVisualInfo returned 0 visuals for 0xa082b78OpenGL Warning: Retry with 0x8002 returned 0 visualsSegmentation fault解决方案$ LIBGL_ALWAYS_INDIRECT=1 ./test.exe

派生类的继承方式默认的派生方式说明为private,各种继承的特点如下:1。私有继承:私有继承的特点是基类中的公有成员和保护成员作为派生类中的私有成员,不能够被派生类的子类所访问。在私有继承方式下,基类中的公有成员和保护成员只能够被直接派生类访问,不能够由派生类的子类再继承。2。公有继承:公有继承的特点是基类中的公有成员和保护成员作为派生类中的公有成员和保护成员,但基类中的私有成员仍然是私有的(不可继承)。在公有继承方式下,基类成员的访问权限在派生类中保持不变,公有派生类的对象可以访问基类中的公有成员和保护成员;派生类的成员函数可以访问基类中的公有成员和保护成员。3保护继承:特点是基类中的公有成员和保护成员都作为派生类中的保护成员,基类中私有成员仍然是私有的。各种继承方式的保护属性父类成员属性                    公有继承          保护继承           私有继承private                                 不可继承          不可继承           不可继承proteceted                             proteceted       private            private     public                                      public           proteceted         private 构造函数静态成员友员关系     不可继承         不可继承           不可继承
 
16bitSDRAM接法如下图:
自个儿的经验知识杂记
Ubuntu下编译AndroidNDK项目报arm-linux-androideabi-gcc:命令未找到 

NDK-BUILD失败,错误提示: 
make: ~/dev/android/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: 命令未找到 
找了半天,在网上终于找到个解决办法 
step1: 
sudo apt-get install libc6-dev-i386 
step2: 
sudo apt-get install ia32-libs 

 

VIM 学习笔记

http://www.360doc.com/content/10/1128/15/4807202_73143894.shtml

 

nividia

http://www.nvidia.com/object/cube_map_ogl_tutorial.html

 

 Toolchains have a loose name convention like arch[-vendor][-os]-abi.

arch is for architecture: arm, mips, x86, i686...
vendor is tool chain supplier: apple,
os is for operating system: linux, none (bare metal)
abi is for application binary interface convention: eabi, gnueabi, gnueabihf
For your question, arm-none-linux-gnueabi and arm-linux-gnueabi is same thing. arm-linux-gcc is actually binary for gcc which produces objects for ARM architecture to be run on Linux with default configuration (abi) provided by toolchain. 
http://hi.baidu.com/dbfr2011818/archive/tag/%5B%E8%BD%AC%E8%BD%BD%5D%E5%9B%BE%E5%BD%A2%26%2338%3Bdx?page=9


出现文件系统错误:
在修复模式下重新挂载一下“/” mount -o remount,rw /  就可以了

修改这个文件etc/sysconfig/network这个文件里的主机名.NETWORKING=yesHOSTNAME=主机名------------------------------------记得重启!!!------------------------------------完整:第一步:#hostname oratest第二步:修改/etc/sysconfig/network中的hostname第三步:修改/etc/hosts文件

Fedora 安装卸载软件时比较重要的命令:安装:rpm -ivh linuxqq-v1.0.2-beta1.i386.rpm --nodeps --force
卸载:rpm -e linuxqq-v1.0.2-beta1.i386.rpm --nodep --force
查询:rpm -qa | grep linuxqq

 

GPU架构

http://www.opengpu.org/bbs/forum.php?mod=viewthread&tid=2993


总结一点:虚拟机中Linux中minicom里COM1、COM2…对应tty0、tty1而kermit里面对应ttyS0、ttyS1……。


默认情况下,tmpfs会mount到/dev/shm目录。使用tmpfs,就是说你可以使用这个目录,这个目录就是tmpfs,如你写临时文件到此目录,这些文件实际上是在VM中。要使用tmpfs,您要在内核配置时,启用“Virtual memory file system support”。为防止tmpfs使用了全部VM,有时候要限制其大小。要创建一个最大为32 MB的tmpfs文件系统,键入:# mount -t tmpfs tmpfs /mnt/tmp -o size=32m添加到 /etc/fstab,应该是这样:tmpfs /mnt/tmp tmpfs size=32m 0 0


嵌入式系统中cgi向lighttpd服务器上传文件遇到内存不足的解决方法:

cgic.c里面的(第一行有效代码)
#define cgicTempDir "/dev/shm"
lighttpd.conf里面的(最后一行)
server.upload-dirs=("/dev/shm")


Telnet root用户的登入

Telnet 不是很安全,默认的情况之下不允许 root 以 telnet 进入 Linux 主机 。若要允许root用

户登入,可用下列方法:

(1)[root @echo /root]# vi /etc/pam.d/login

#auth required pam_securetty.so #将这一行加上注释!

或[root@echo root]# mv /etc/securetty /etc/securetty.bak

(2)编辑/etc/securetty 文件,加上下面几行:

pts/0

pts/1

pts/2

pts/3

测试root用户直接telnet登陆成功,这样, root 就可以直接进入 Linux 主机了。不过,建议不要这样做。也可以在普通用户进入后,切换到root用户,拥有root的权限。



1楼liyongming198240分钟前
很杂,但是很实用

热点排行