- 博客(81)
- 资源 (12)
- 收藏
- 关注

原创 软件渲染器、内存文件系统
在新公司为期两个月的考核+培训终于通过了。第一个培训项目是实现内存文件系统,mingw+vim+TDD+重构,工作日时长13天;第二个培训项目是实现软件渲染器,mingw+vim+TDD+重构,工作日时长18天,其中基本上踩扁了实现3D引擎的所有的坑。下面附上几张图:
2015-12-16 21:44:45
749

原创 透视矩阵的推导(最直观、最深入、最还原,看完请点赞。)
由参数l,r,b,t,n,f定义的透视投影矩阵的推导困惑了我差不多一个多礼拜,这几天几乎是天天都在思考这个问题,昨天晚上3点多钟我突然醒了,然后我又开始想这个问题,结果终于让我给想通了,于是我赶紧起床把这个思路记在了草稿纸上,还专门照了张照片作证。 为了解决这个问题,前几天我专门发了两篇帖子求答案,结果知网上的竟然沉掉了。而在csdn上也没有得到答案(质疑有关透视投影矩阵的推导)。幸亏我自己还
2015-07-23 17:29:56
20968
5
转载 How to Remove PDF/A Information from a file
转载自:How to Remove PDF/A Information from a file
2017-02-13 17:34:22
973
原创 alpha is transparency
最近项目上出现bug,在压缩图集的时候出现一些贴图边缘采样不对的问题,比如: 首先这个问题只在ios上出现,android平台上并不会出现,ios上采用pvrtc rgb 4bit压缩算法,android上etc rgb 4bit算法。这个问题首先是pvrtc算法(pvrtextool.exe)本身的问题。如果要从算法本身去解决这个问题,那么能看懂这个算法(fenney03texcomp.pd
2017-01-19 17:25:18
4565
原创 NGUI panel裁剪shader解读(一般人估计看不懂,慎点)
shader里基本上不会出现判断语句,而且基本上所有的运算都在[0,1]区间,所有判断语句会被0或1数值代替(比如上边的*ceil(f1))。这就是shader的精妙之处,也是shader的难点,不好懂。
2016-12-16 16:42:19
2859
原创 3ds max使用技巧
布料系统 教你用3dmax的布料系统模拟桌布_3DMAX教程_3D教程 从上面搭积木式的配置,可以知道布料系统里需要配置的有:碰撞体、重力、布料类型
2016-11-22 16:52:44
1206
原创 unity保存asset
保存asset,一种方式是使用系统api直接修改本地文件;另一种方法是现在unity中修改好,然后再保存到本地文件中。第二种方法,常见于一个prefab上的脚本数据修改后(比如材质球),应该是保存到了Library,所以在不保存到本地文件的情况下,关掉unity,打开工程还是修改后的数据。比如一个材质球,如果改变了它的shader,那这个改变是会保存到Library中,如果不点保存或者(AssetD
2016-11-14 16:51:13
5927
原创 Unity里各平台支持的最大纹理尺寸
Pc:8192*8192 Android/ios:4096*4096Opengl es原生支持的最大纹理尺寸:4096*4096 各个手机平台: Mobile Max Texture size
2016-11-14 16:47:13
9073
原创 阳春白雪-shader笔记
顶点和片段处理器都拥有非常强大的并行计算能力,并且非常擅长于矩阵(不高于4阶)计算,片段处理器还可以高速查询纹理信息(目前顶点处理器还不行,这是顶点处理器的一个发展方向)。顶点着色器控制顶点坐标转换过程;片段着色器控制像素颜色计算过程。这样就区分出顶点着色程序和片 段着色程序的各自分工:Vertexprogram负责顶点坐标变换;Fragmentprogram 负责像素颜色计算;前者的输出是后者
2016-11-13 12:38:04
607
原创 噪声纹理
最近应公司项目需要,在远视角下,需要有海浪拍打岸边的效果。远视角下,并不需要太精细地去模拟海浪的效果,所以并没有加上噪声纹理。效果是这样的: 远看并没什么问题,满足了需求。但是一直想试验对这个海浪加上随机扰动的效果,于是就想用到噪声纹理。也许一开始都没弄清楚噪声纹理对水波纹扰动的原理,所以弄起来挺棘手的,最终的结果只能是误打误撞,去试效果了,这并不是我想要的解决方法(只靠试),当然了,效果最终
2016-08-09 00:11:12
3515
原创 在GameObject菜单下面第一级建立菜单项,并且在Hierarchy对话框中显示出来
在Hierarchy对话中右键弹出菜单: 可以看到GameObject中的子菜单显示出来的就只有这些,而菜单栏中有这么多: 只显示了上面一段,所以只要把新增的菜单项设置到上面一段去就行了:[MenuItem("GameObject/MenuSample"), false, -1]public static void MenuSample() {}其中可以使用ILSpy工具反编译Unit
2016-08-03 23:21:28
3613
转载 看工业4.0道路上,美国和德国的不同路径
似乎美国一直在谁邂逅德国。随着第四次工业革命的爆发,德国又逐渐追了上来,在工业4.0的探索方面,最具前瞻的国家就是美国和德国,而且在工业4.0这条道路上,美国和德国是相向而行:一个自上而下,一个自下而上,竞争在所难免,交手是必然的。我们知道,第二次工业革命就发源于美国和德国,两个国家都成了资本主义国家的新贵,在各个方面不相上下,尤其是科级领域。但是因为两次世界大战,一个是战胜国,获利最大;
2015-02-03 17:08:32
1509
原创 算法分析(一): 快速排序
前言 2014年我在公司大半年的时间里是做的体元剖分的编码工作,2014年年底因为项目需要有一个初步的结果来作项目汇报,所以我组长让我提供一个加载模型文件的功能,能够通过读取模型文件中的体元信息来对体元进行剖分并且将剖分数据传到我们自己的图形引擎中进行渲染,并且用于测试整个流程的性能,性能要求是读取,加载并渲染10w个体元所消耗的时间在35s以内. 由于以前写代码
2015-01-31 23:26:54
1337
转载 Microsoft HoloLens 技术解谜(下)
读者提问“HoloLens的深度传感器有没有可能是基于TOF?”先介绍下背景知识,市面上常见的有三种类型的深度传感器:结构光,这个技术的代表产品是Kinect一代,它的传感器芯片用的是PrimeSense家的。说句题外话,PrimeSense现在是苹果旗下的公司,这个领域未来一定会很精彩。TOF,time-of-flight,代表产品是Kinect二代,由于微软对于One这
2015-01-30 16:48:39
2382
转载 Microsoft HoloLens 技术解谜(上)
HoloLens是什么?HoloLens是微软发布的可穿戴式增强现实计算设备,它拥有这么几个关键要素:它是增强现实产品,即 Augmented Reality(AR),AR技术将计算机生成的图像与真实的世界相叠加。类似的产品有图像投射到视网膜上的Google Glass,以及叠加在手机摄像头画面上的手机AR应用。它拥有是独立的计算单元,自带CPU+GPU+HPU,不需要外接
2015-01-30 16:46:42
3780
原创 性能测试
一.使用VS自带的性能测试工具进行分析教程:analyzingapplication performance by using profiling tolls应该使用带有调试信息的release版进行profile:profiledebug or release build?1. ProfilingFAQ #4: The top sampled function is [nt
2014-12-31 14:06:15
1267
原创 cmake学习笔记
在使用cmake编写项目管理脚本时,除了需要有cmake语法的基本知识外,最好是还有一本书便于你查询需要的cmake变量、命令和属性,除非你非常非常熟悉cmake的语法。cmake提供了网页版的帮助文档:cmake 2.6 documentation。不过这个我用起来不太顺手,我还是比较喜欢用ken martin(cmake的作者)写的《mastering cmake》,在网上书店有的购买。。
2014-12-30 14:43:04
7750
原创 跨平台开发学习笔记
以前我的开发仅仅是局限在MSVC中,当时就隐约有一种想法,想跳出这个框框,因为我感觉MSVC把我限制的太死,以至于我没了MSVC,就不会怎么编程了。由于在公司做平台开发项目以及自己对这种突破的渴望,在这跨平台开发方面的知识补充了不少,也认识了不少。知道MSVC只是一个集成开发环境,它用的编译器是cl.exe,链接器是link.exe,项目管理工具MSBuild,*.vcxprj是MSBuild的脚
2014-12-30 11:22:59
959
原创 make和msbuild学习笔记
1. makeWikipedia: make>In software development, Make is a utility that automatically builds executable programs andlibraries from source code by reading files calledmakefiles witch specify how t
2014-12-30 10:33:39
1980
转载 How to Remove a PDF Signature (that disallows any document changes)
PDF documents may be secured by an initial signature/certificate for disallowing any changes. This is not to be confused with “password security” or “certificate security”.I am speaking of the kin
2014-12-27 21:42:11
1044
原创 三维空间中的圆与二维多段线
已知一段圆弧的起点、终点、弧度和法向,求此段圆弧的参数方程和参数区间。 圆的参数方程(字母所代表含义可参见【第六回】OCCT之Package Geom的曲线曲面参数方程解析):P(U) = O + R*Cos(U)*XDir + R*Sin(U)*YDir 这个问题主要应用于二维多段线中圆弧段的求解。在这里我先讲一下二维多段线的构造。二维多段线
2014-12-24 16:15:54
2183
原创 根据坐标系统构造转换矩阵(不包含缩放)
【第三弹】从矩阵中提取平移、旋转、缩放矩阵构造旋转矩阵的诀窍就是将转换矩阵与转换前的坐标系统的坐标轴基向量相乘,能最终得到对应的将要构造的坐标系统的坐标轴基向量:如果是从WCS转换到OCS,则将转换矩阵与基向量(1,0,0),(0,1,0)和(0,0,1)分别相乘,使其能得到uAxis, vAxis,nAxis;如果是从OCS转换到WCS,则将转换矩阵与基向量uAxis, vAxis和nAxi
2014-12-14 12:05:29
1794
转载 2014年全球手游市场发展的六大趋势
GameLook报道/随着12月的到来,2014年也即将结束。从2012下半年开始的爆发,到今年开始逐步走向成熟,手游市场在增长的同时也发生着非常快速的变化,这里小编对今年全球手游市场几个值得注意的变化以及趋势进行了简单的总结,仅供参考:1.全球手游发行商收入排行榜固定化自今年2月份Supercell取代King成为收入冠军之后,全球手游发行商收入榜前4名一直由Supercell、King
2014-12-02 20:41:49
1517
转载 windows跨平台开发环境配置
MinGW/MSYS development environmentPart 1: Setting up the base system. Index .. Base system .. Local packages .. GTK+ .. Qt ..Tools .. Projects .. Home .The base system consist of the G
2014-11-24 19:34:35
1088
转载 电脑史话
1、计算机始祖从1980年8月到1981年8月,在整整一年的时间里,埃斯特奇领导着“国际象棋”工程计划13人小组奋力攻关。“当时很少有人体会到,这一小组人即将改写全世界的历史。”(英特尔华裔副总裁虞有澄语)据说,IBM公司后来围绕PC机的各项开发,投入的力量逐步达到450人,英特尔公司也组成“特殊客户部”为PC机供应高质量的芯片。 根据协定,微软公司应该为PC机提供包括BA
2014-11-16 16:38:16
12694
转载 NMAKE and its environment
nmake is a Microsoft's command-line tool for building C/C++ applications. nmake comes with Visual Studio and Windows Driver Development Kit (DDK) and it comes in two versions: one for building 32-bit
2014-11-04 17:15:33
1334
转载 How to use nmake and makefile
Let's build simple "Hello, world!" application from command line by using Microsoft'snmake. Necessary steps are:1) create project directory ("..\HelloWorld")2) create source file ("..\HelloWor
2014-11-04 17:09:53
1265
转载 C++,掀起你的盖头来
VC++,掀起你的盖头来——谈VC++对象模型(美)简 格雷程化 译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此,从篇幅和内容来看,译
2014-11-03 15:30:22
828
转载 基本数据类型操作二:float与double的范围和精度
1. 范围 float和double的范围是由指数的位数来决定的。 float的指数位有8位,而double的指数位有11位,分布如下: float: 1bit(符号位) 8bits(指数位) 23bits(尾数位) double: 1bit(符号位) 11bits(指数位) 52bits(尾数位) 于是,float的指数范围为-127~+128,而d
2014-10-29 15:31:03
910
转载 基本数据类型操作一:C语言浮点数解惑
前言 有些C语言书上说float型的有效位数是6~7位,为什么不是6位或者7位?而是一个变化的6~7位? 浮点数在内存中是如何存放的? float浮点数要比同为4字节的int定点数表示的范围大的多,那么是否可以使用浮点数替代定点数? 为什么float型浮点数9.87654321 > 9.87654322不成立?为何10.2 -
2014-10-29 10:06:24
2009
原创 算法与数据结构的初步认识(小记)
-------算法---------算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法、厄米变形模型、随机森林算法。欧几里得算法(碾转相除法)被人们认为是史上第一个算法。形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或
2014-10-19 17:57:46
1014
转载 计算机开路人阿兰·图灵
本文作者文特·瑟夫(Vint Cerf)与罗伯特·卡恩(Robert E. Kahn)一同创立了TCP/IP协议,被称为“互联网之父”。他从2005年加入谷歌,至今担任谷歌首席互联网专家。我的一生都奉献给了计算机事业,更准确地说是奉献给了计算机网络。这个领域一贯是创新的代名词,我们不断地打破昨天的禁锢,创造出等待明日来超越的今天。行业内有一个说法,只有明天的网速才够快。我们今日所拥有的
2014-10-19 17:50:02
1165
逆向推导算术表达式
2011-09-17
数据挖掘原理与SPSS Clementine应用宝典
2011-09-17
使用EXCEL命名空间操作EXCEL
2011-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人