自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 《线性代数应该这样学》读书笔记

每次看完书一定要记得写笔记下来,不然就忘了。第1章 向量空间

2021-01-10 11:11:45 1008 1

原创 大气散射学习和实践

原理学习了大气散射的原理,看了不少文章,讲得不错的就是这几篇[Rendering] 基于物理的大气渲染从零实现一套完整单次大气散射基本的原理明白了。大气散射求解的是从视线方向AB看去应该是什么颜色,那么应该是所有太阳光经过AB上的点散射到A点方向上的颜色和(这只考虑单次散射)。解决这个问题,可以先考虑传输方程,光每经过一段距离,就会衰减,假如每单位距离的衰减系数是delta,那么可以列出方程。dL=−δLds dL=-\delta Lds dL=−δLds这就是经典的存款利息问题,解这

2020-12-19 20:38:25 812 1

原创 球谐函数实验

有一篇全面讲解的球谐光照的pdfspherical-harmonic-lighting.pdf但是学习球谐最讨厌的就是披头盖脸告诉你有无数个正交的球谐基,

2020-11-27 13:38:20 956

原创 场景辐照度图练习

场景辐照度原理来自下面的网址漫反射辐照度首先,选一张hdr的CubeMap。目标就是为它生成一份辐射照度图。一. 场景准备在原点放一个cube,size为1。在原点同时放一个camera,它的Field of View设置为90,同时把原本天空盒的绘制关掉。![在这里插入图片描述](https://img-blog.csdnimg.cn/20201122142950225.png#pic_center我们的计算就是通过camera照射这个立方体的六个面,生成六张辐照度的积分图。二. 代码框

2020-11-22 15:18:29 621

原创 信号与系统读书笔记

第一章信号与系统研究的是输入与输出的关系单位脉冲δ(x)={1,x=0;0,x∈R∖Q. \delta(x) = \begin{cases} 1 ,& x =0; \\ 0 ,& x \in \mathbb{R}\setminus\mathbb{Q}. \end{cases}δ(x)={1,0,​x=0;x∈R∖Q.​...

2020-02-21 14:20:47 2509

原创 数学学习笔记(三)重新理解格林公式

以前从未深入想过格林公式的含义,只是隐约知道二维的面积积分和一维的曲线积分有什么关联,书上也讲得很含糊,不肯道明。今天我对着这个公式看了半个多小时,领悟了新的旋转内涵。把PQ看着一个向量场<P,Q>,那么公式左边就是旋度,用旋度对面积微元进行积分,好像也是个和旋转程度相关东西。那么公式的右边是什么玩意儿,想了很久,右边可以看作向量场和路径向量的内积( <P,Q >...

2019-10-25 21:11:59 3646 1

原创 数学学习笔记(二)柯西-黎曼方程理解

理解不一定对,只是一种感悟,想简单记录一下。柯西-黎曼方程是复变函数在一点可微的必要条件,证明不难。因为可微,所以就列出线性主部表出的一个式子,实部对实部,虚部对虚部,可以求得这个方式很简单,随时让我推导,我随时可以写出来。但这是代表了什么,说明了什么,我不知道。...

2019-10-15 22:24:46 8473

原创 数学学习笔记(一)四元数

在学习数学的过程中有时会有恍然大悟的感觉,并且我觉得数学的直觉胜于形式化推演。开篇贴子记录一下。不求证明,尽量用简短的几句话来描述这个直觉四元数的理解1.为什么二维旋转从复数就可以,三维旋转要用四维的数来表示?因为二维旋转假定转轴固定,只有一个自由度,用一个变量就可以描述θ,写成复数形式就是cos⁡θ+isin⁡θ\cos{\theta} + i\sin{\theta}cosθ+isinθ...

2019-10-15 20:17:38 370

原创 Unity资源管理读书笔记-资源目录

英文网页地址https://unity3d.com/de/learn/tutorials/topics/best-practices/resources-folder2.1 资源系统的最佳实践官方强烈建议不要用Resource目录 为什么:1.用Resource无法细粒度地进行内存管理2.不当使用会增加启动时间和构建时间3.降低为指定平台定制内容的可能性,失去了增量内容

2016-11-19 19:28:35 484

原创 Unity资源管理读书笔记Assets, Objects and serialization

英文网页地址https://unity3d.com/de/learn/tutorials/topics/best-practices/assets-objects-and-serialization1.1首先要理解Assets和 UnityEngine.Object.是两种不同的事物Assets是磁盘上的文件,比如纹理,材质,FBX文件。UnityEngine.Objects是一个Un

2016-11-19 18:21:51 1207 1

原创 Unity各种组件使用的坑

实验结果:1.调用NavMeshagent.destination设置目标点,如果目标点是不可达的点,那么结果是destination存放了离目标点最近的点。并且也会让寻路者移动到最近点。移动到最近的点后,remainingDistance为0。2.调用NavMeshagent.destination设置目标点时,目标点的Y值将会被设置为离agent最近的NavMesh的Y值。3.Na

2016-05-05 14:56:17 4893

原创 Unity中实现高效Signal-slot模式--高效消息分发

在项目中常常会用到观察者模式,消息分发这种功能。最简单的方式可以使用Unity自带的SendMessage来实现,但这种方式通过反射实现效率低下,并且消息接收者必须是GameObject类型,因此在实践中用到更多是的C#的delegate方式,但delegate实现并不能让消息的发送者和接收者解耦合。因此,我们需要一个消息的分发中心类来转发消息。发出消息的对象只需要知道这个消息中心类就行了,不需要

2016-04-01 10:32:21 2068

原创 Unity Shader切空间旋转矩阵的笔记

在学习 Unity的Shader时,发现 unity Shader内置了一个宏定义// Declares 3x3 matrix 'rotation', filled with tangent space basis#define TANGENT_SPACE_ROTATION \ float3 binormal = cross( v.normal, v.tangent.xyz ) * v

2015-11-11 12:03:04 3601 2

转载 转C#中的Finalize,Dispose,SuppressFinalize

MSDN建议按照下面的模式实现IDisposable接口:  1 public class Foo: IDisposable2 {3     public void Dispose()4     {5        Dispose(true);6        GC.SuppressFinalize(this);7     }8 9     prot

2015-07-21 10:17:20 1943

转载 Unity3D游戏在iOS上因为trampolines闪退的原因与解决办法

原文 http://7dot9.com/?p=444崩溃的情况进入游戏一会儿,神马都不要做,双手离开手机,盯着屏幕看吧,游戏会定时从服务器那儿读取一些数据,时间一长,闪退了。尼玛问题是神马呢?完全没有头绪,不过大体猜测是因为网络请求导致的,那么好,先排查服务器返回结果是否有问题,最终确认每次客户端崩溃的时候,服务器都成功的返回了格式正确的数据,没有任何异常。那么可以确定

2015-04-13 21:54:47 2249

原创 Unity优化笔记--裁剪游戏中的TTF字体.

最近一直在搞Unity客户端的优化,有必要记录下一些优化方法。

2014-12-12 23:17:41 5853 4

原创 unity疑难杂症

Unity4.6.0f3第二次在EDITOR点PLAY按钮必当机,调用栈是(0x0041C820) c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring (594 + 0x24): std::basic_string,stl_allocator >::basic_string,stl_alloc

2014-12-10 20:02:44 3102

原创 UGUI源码调试

前几天,Unity4.6的正式版终于发布了,随之而来的还有UGUI的源代码开放。本文介绍如何在Unity中调试UGUI的源代码

2014-12-03 22:40:53 4907 6

原创 C++ 模板应用浅析

模板的四大场景1.数据类型与算法相分离的泛型编程2.类型适配Traits3.函数转发4.元编程

2014-07-19 14:03:47 4265 6

原创 我自己对AssetBundle内存的理解

网上很多论坛有人抱怨assetbundle占用资源太多。网上文章讲得比较详细的就是unity3D圣典的http://game.ceeger.com/forum/read.php?tid=4394。但这篇文章有可能误导的地方。就是那幅Asset的图图的下方指出AssetBundle文件在内存中有镜像。但如果assetbundle都必须存在一个内存镜像在堆上,那么assetbundle的内

2013-04-05 18:13:23 3342

转载 【转】一些关于windows station的介绍

2608的专栏Window station 是一个不为人所熟知但是却是非常重要的安全特性,它被设计成为一个限制操作系统中窗口环境的“沙箱”。为了避免将访问控制列表(ACL)放置到每个窗口中和对每个窗口消息进行权限检查而导致的性能下降,我们简单地让窗口互相通知而不执行任何安全检查。然而,我们是在一个私有环境中这么做的,这就是Window station。Window statio

2012-05-30 10:11:17 1313

原创 IE对网页截图,最原始的activex。

现在要在应用程序创建ACITVEX控件,用ATL现成的就可以了,非常简单。但之前我在没有ATL的环境下需要实现一个IE控件去访问网页,并对网页截图,非常头痛,网上资料很少。后来经过多次实验,终于搞定。贴代码。snapshotmaker.h#ifndef __NG_SNAPSHOMAKER_H__#define __NG_SNAPSHOMAKER_H__#include #inc

2012-05-18 14:25:09 2610

原创 高效C++委托的原理

写这篇学习心得源自于一篇老外的文章Member Function Pointers and the Fastest Possible C++ Delegates,网上也有它对应的中文翻译,我随意找一篇:http://www.cnblogs.com/jans2002/archive/2006/10/13/528160.html。文章中提到了高效C++委托,不过讲得太生涩了,以至于第一次看,没怎么

2012-05-15 10:32:57 5335 1

原创 Chrome源码编译

根据http://www.chromium.org/developers/how-tos/build-instructions-windows中的描述,先装VC2008,打好各种补丁,再装June 2010 DirectX SDK,再装winsdk7.1,配置VC上的路径,在配路径时,要把DX的路径放到WINSDK的前面。否则在编包含XINPUT文件的时候会出错。编译时才发现chrome用

2012-04-18 20:34:04 2408

原创 C++内存布局生成步骤

对C++内存布局有过一定了解,但是一直都很暧昧。为了搞清楚,决定探究一下C++内存布局。本文在VC2008下实验,有兴趣的同学可以在G++实验下经过仔细研究。现在总结出来3条规则:规则1.一个没有继承的C++对象的布局总是(虚表指针  + 成员变量),虚表指针至少为4字节,如果你的成员有double的话,由于内存对齐的原因,虚表指针为8字节。如果没有虚函数,那么虚表指针可以省去。

2012-04-15 12:19:31 1672 3

原创 简单的反射机制

<br />Refl.h<br />#pragma once#include "rtti.h"#include <string>#include <map>#include <stdio.h>#include <stdarg.h>using namespace std;template<typename T>struct STypeSizeWrapper{ enum { typesize = sizeof(T), }

2011-03-04 09:33:00 803

原创 学习load acquire 和store release

在学习BOOST多线程库的原码时,顺便看了一下它的互斥量basic_timed_mutex的实现方式。它和WINDOWS自身的CriticalSection很相似,唯一不同的就是basic_timed_mutex有等待时间的功能。http://blogs.msdn.com/b/kangsu/archive/2007/07/16/volatile-acquire-release-memory-fences-and-vc2005.aspxhttp://www.cnblogs.com/lxconan/archiv

2011-01-09 21:42:00 6990 1

原创 学习BOOST的文件迭代

boost的源码有许多让奇技淫巧,文件迭代也不例外。这又算作一巧吧。boost使用手册告诉我下面三行代码可以将try.h头文件包含5次。#define BOOST_PP_ITERATION_LIMITS (5, 10)#define BOOST_PP_FILENAME_1 "try.h"??=include BOOST_PP_ITERATE()(其中??=与#等价)前两个宏都是我自己定义的,只有BOOST_PP_ITERATE是boost定义的。因此,所有的秘密都在这个宏定义中。我把BOOST_PP_ITE

2010-12-28 17:51:00 1459

原创 用typelist实现RUNTIMECLASS机制

 一.RUNTIMECLASS机制RUNTIMECLASS机制无非可以有两点好处:一个是根据对象名创建一个对象,CObject* PASCAL CreateObject(LPCSTR lpszClassName);一个是动态判断型别。BOOL IsKindOf(const CRuntimeClass* pClass) const;特别是第二点,给编程带来很大的灵活性,程序员可以在向父类的指针集合中,找出感兴趣的子类的指针,然后进行向下类型转换处理。for(vector::iterator it = vPtr

2010-12-28 16:07:00 935

原创 用masm写个boot程序

我是一个菜鸟,但我很想学电脑,最近我又想学习dos的原理,就在网上乱搜,看了几篇关于写操作系统的文章,很有启发,于是想自己动手做做实验,写个操作系统,不,确切的说只是引导程序,真正的操作系统原理太复杂,不是我能做的。网上的介绍这方面的文章也只停留在引导阶段,而且很多都是用在linux下编译的。而我没有linux系统,只有一个很烂的masm编译器,所以我就为和我一样只有masm的电脑爱好者们写一篇关于磁盘引导的文章吧。   实验目的:写一个引导程序和一个超简单的内核,引导成功后能在键盘上输入字符并显示   实

2010-12-28 12:08:00 1699

原创 保护模式编程学习心得

<br />这篇心得是大2写的。在整理硬盘的时候突然发现。虽然已经过时了,但是还有点小意义,现保存到我的BLOG上。<br /> <br /><br />控制寄存器cr0控制是在保护模式还是在模式还是虚拟86下工作。<br />CR2用于发生页异常时报告出错信息。当发生页异常时,处理器把引起页异常的线性地址保存在CR2中。操作系统中的页异常处理程序可以检查CR2的内容,从而查出线性地址空间中的哪一页引起本次异常。<br />CR3用于保存页目录表的其始物理地址。<br /> <br />虚拟地址空间-(段转

2010-12-28 12:07:00 644

原创 汇编和c混合编程

<br />这篇心得是大2写的。在整理硬盘的时候突然发现。虽然已经过时了,但是还有点小意义,现保存到我的BLOG上。<br /> <br /><br />汇编与C混合编程<br />比如写一个c程序调用汇编程序的函数<br />/*c代码ci.c*/<br />extern int cyx(int a,int b);<br />main()<br />{<br />  printf("answer is:%d",cyx(2,3);<br />  getch();<br />}<br /> <br />;相应

2010-12-28 12:05:00 806

原创 以后一定要把学习成果记录下来。

<br />从来没有记录学习成果的习惯。导致以前看过的东西都忘了,这一次要记录下来。要养成写BLOG的好习惯。

2010-12-28 12:00:00 629

wavesSCA海水渲染的论文

该文是一篇外国的海水渲染的论文。给游戏引擎爱好者参考

2008-11-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除