<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[linuxheik的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/linuxheik</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; linuxheik]]></copyright><item><title><![CDATA[c++17 using继承所有构造函数]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/123256958</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/123256958</guid><author>linuxheik</author><pubDate>Thu, 03 Mar 2022 16:09:56 +0800</pubDate><description><![CDATA[c++17 using继承所有构造函数]]></description><category></category></item><item><title><![CDATA[【Unity】Camera.WorldToViewportPoint 计算原理及实现]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/122217211</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/122217211</guid><author>linuxheik</author><pubDate>Wed, 29 Dec 2021 15:32:56 +0800</pubDate><description><![CDATA[(133条消息) 【Unity】Camera.WorldToViewportPoint 计算原理及实现_cyf649669121的博客-优快云博客

具体原理我是参考的这篇文章：

详解MVP矩阵之ProjectionMatrix-腾讯游戏学堂

本地具体实现实现方法（不调用Camera的API）如下：

1、获取相机的VP矩阵：
    模型顶点坐标转换成屏幕坐标是用MVP矩阵，但是因为我们这边本来就使用的世界坐标进行转换，所以只需要VP矩阵即可。获取VP矩阵的方法如下：    

 ...]]></description><category></category></item><item><title><![CDATA[Pixel Coordinates]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/122214805</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/122214805</guid><author>linuxheik</author><pubDate>Wed, 29 Dec 2021 14:19:02 +0800</pubDate><description><![CDATA[The Ultimate DirectX Tutorial

Sign In

NavigationHomeDirectX for Windows 8DirectX 11.2DirectX 11.1DirectX for DesktopDirectX 11DirectX 9Useful ResourcesAbout DirectXTutorialDirectXTutorial PremiumTestimonials



Contact
Contact me here:
Twitter:@dastop...]]></description><category></category></item><item><title><![CDATA[C# IEnumerator/IEnumerable]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/112370363</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/112370363</guid><author>linuxheik</author><pubDate>Fri, 08 Jan 2021 16:42:00 +0800</pubDate><description><![CDATA[迭代器模式 与 C# IEnumerator/IEnumerable

Jul 21, 2018|编程|阅读

迭代器模式 与 C# IEnumerator/IEnumerable



Part1 迭代器模式 与 接口

IEnumerable
IEnumerator


			



			1

			2

			3

			4

			5

			6

			7

			8

			9

			10

			11

			12
			
			
			



			interface IE...]]></description><category></category></item><item><title><![CDATA[Three Methods to Extract Frustum Points]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/90071384</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/90071384</guid><author>linuxheik</author><pubDate>Fri, 10 May 2019 15:57:22 +0800</pubDate><description><![CDATA[http://donw.io/post/frustum-point-extraction/

Three Methods to Extract Frustum Points

Getting frustum points in world-space can be useful in a number of scenarios, such as debug visualisation or bui...]]></description><category></category></item><item><title><![CDATA[平面的点法式方程]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/90057282</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/90057282</guid><author>linuxheik</author><pubDate>Fri, 10 May 2019 14:13:38 +0800</pubDate><description><![CDATA[http://netedu.xauat.edu.cn/jpkc/netedu/jpkc/gdsx/homepage/5jxsd/51/513/5307/530705.htm
]]></description><category></category></item><item><title><![CDATA[Intersection of 3 planes]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/90037755</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/90037755</guid><author>linuxheik</author><pubDate>Thu, 09 May 2019 15:42:24 +0800</pubDate><description><![CDATA[Intersection of 3 planes summary
									
									▲
								
					Three planes intersection.
						Plane 1:   A1x + B1y + C1z + D1= 0
								Plane 2:   A2x + B2y + C2z + ...]]></description><category></category></item><item><title><![CDATA[获取View Frustum的6个平面]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89963012</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89963012</guid><author>linuxheik</author><pubDate>Wed, 08 May 2019 17:26:37 +0800</pubDate><description><![CDATA[在3D图形学中，一种优化的手法，叫做物体剔除(Object Culling)。这种技术的提出是基于这样的策略：我们不希望将不存在View Frustum里面的物体送往流水线中进行处理。虽然，你可能会说，现在的图形卡都已近支持了三角形剔除的技术。但是，不要忘了流水线的步骤。我们是先进行Vertex Processing，然后才进行Geometry Processing。而图形卡对三角形的剔除是在Ge...]]></description><category></category></item><item><title><![CDATA[视锥体裁剪]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89958903</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89958903</guid><author>linuxheik</author><pubDate>Wed, 08 May 2019 16:14:42 +0800</pubDate><description><![CDATA[推导视锥体的六个面，空间平面方程可表示为：Ax+By+Cz=0;

推导视锥体的六个面：

对于变换后的v，若在视锥体内，则有：

-w'&lt;x’&lt;w'

-w'&lt;y’&lt;w'

-w'&lt;z’&lt;w'

如先判断-w'&lt;x'，则有：

-（v*row4)&lt;(v*row1)

0&lt;v(v*row4)+(v*row1)

0&lt;v*(row4+row...]]></description><category></category></item><item><title><![CDATA[视锥体裁剪(从矩阵中提取6个裁剪面)]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89958831</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89958831</guid><author>linuxheik</author><pubDate>Wed, 08 May 2019 16:13:29 +0800</pubDate><description><![CDATA[视锥体（frustum），是指场景中摄像机的可见的一个锥体范围。它有上、下、左、右、近、远，共6个面组成。在视锥体内的景物可见，反之则不可见。为提高性能，只对其中与视锥体有交集的对象进行绘制。


		视锥体
		我们计算出视锥体六个面的空间平面方程，将点坐标分别代入六个面的平面方程做比较，则可以判断点是否在视锥体内。

空间平面方程可表示为：


    Ax+By+Cz=0



对于点（x1...]]></description><category></category></item><item><title><![CDATA[三态门的组成及工作原理]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89532147</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89532147</guid><author>linuxheik</author><pubDate>Fri, 26 Apr 2019 10:07:24 +0800</pubDate><description><![CDATA[三态门的组成及工作原理三态非门逻辑符号如上图。2、常用三态门的图形符号和输出逻辑表达式3、三态门的应用



汽车电动尾门配套芯片

广告





三态门的组成及工作原理



三态非门逻辑符号如上图。

2、常用三态门的图形符号和输出逻辑表达式

3、 三态门的应用
...]]></description><category></category></item><item><title><![CDATA[钟控触发器]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89531881</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89531881</guid><author>linuxheik</author><pubDate>Fri, 26 Apr 2019 09:57:37 +0800</pubDate><description><![CDATA[钟控触发器

钟控触发器的触发方式

　　按触发器组成结构可将时钟触发器分为四种：电位、维阻、边沿、主从四种。其中电位式触发器结构最简单，前述的四种不同功能的触发器RS、D、JK、T，是按电位式触发器来描述的。这里介绍其它结构形式的RS或D或JK或T触发器。1.电位式触发器的缺陷
　　电位式触发器在CP为高电平期间，能接收控制输入信号。在高电平时，如果输入信号发生多次变化，触发器也会发生相应的多次...]]></description><category></category></item><item><title><![CDATA[什么是“门级网表”（Gate-level netlist）文件？]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89515967</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89515967</guid><author>linuxheik</author><pubDate>Thu, 25 Apr 2019 14:47:46 +0800</pubDate><description><![CDATA[首先，RTL是寄存器传输层的缩写，RTL既是一个抽象层级概念，又是一种HDL代码编写风格[1]。

RTL是一个抽象层级概念

认识和理解IC集成电路可以从多种不同的角度，其中最好最普遍的一种是：抽象层级，即，将IC做不同程度的抽象，按照抽象程度从高到底，分别为[2]：

系统层
	算法层
	寄存器传输层
	逻辑层
	电路层
而上述的每一抽象层级，均可以用三种不同的方式去描述，分别为[2]：

行...]]></description><category></category></item><item><title><![CDATA[矩阵键盘扫描原理详解——单片机]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89467958</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89467958</guid><author>linuxheik</author><pubDate>Tue, 23 Apr 2019 10:50:26 +0800</pubDate><description><![CDATA[矩阵键盘扫描原理详解


根据原理图
键盘扫描方法是：行线P10~P13为输出线，列线P14~P17为输入线。一开始单片机将行线（P10~P13）全部输出低电平，此时读入列线数据，若列线全为高电平则没有键按下，当列线有出现低电平时调用延时程序以此来去除按键抖动。延时完成后再判断是否有低电平，如果此时读入列线数据还是有低电平，则说明确实有键按下。最后一步确定键值。现在我们以第二行的S5键为例，若按...]]></description><category></category></item><item><title><![CDATA[GameObject的Active与InActive activeSelf, activeInHierarchy， SetActiveRecursively]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/89206438</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/89206438</guid><author>linuxheik</author><pubDate>Thu, 11 Apr 2019 11:32:07 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/mr_jis/article/details/18502983



1.Script可以控制InActive的GameObject，但前提是Script所依附的GameObject不能是InActive，一旦为InActive，自身所有控件均失效。



2.SetActive(bool isActive)设置GameObject是否活动，设置后，其...]]></description><category></category></item><item><title><![CDATA[.natvis的文件来问题总结 .natvis的文件来]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/88966200</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/88966200</guid><author>linuxheik</author><pubDate>Tue, 02 Apr 2019 11:11:37 +0800</pubDate><description><![CDATA[VS调试STL问题总结

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Packages\Debugger\Visualizers

https://www.cnblogs.com/hujichen/p/5997310.html

https://blog.youkuaiyun.com/u011251225/arti...]]></description><category></category></item><item><title><![CDATA[C# 反射 - FieldInfo 获取结构体字段，从类型(Type)新建结构体]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/88871079</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/88871079</guid><author>linuxheik</author><pubDate>Thu, 28 Mar 2019 15:59:24 +0800</pubDate><description><![CDATA[#获取结构体字段
首先新建一个结构体

struct Fruit
{
 public string name;
 public int color;
}
1
2
3
4
5
遍历所有字段

FieldInfo[] fields = typeof(Fruit).GetFields();
1
这里可以给它加一些BindingFlags枚举来限定想获取的字段

FieldInfo[] fi...]]></description><category></category></item><item><title><![CDATA[CustomEditor+ScripableObject 简单用法]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/88870587</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/88870587</guid><author>linuxheik</author><pubDate>Thu, 28 Mar 2019 15:43:19 +0800</pubDate><description><![CDATA[写在前面：

看了一整天，算是明白了点，记录一下，要是不知道怎么入门可以看一下，希望能帮到您：）

Ps：本文一律采用c#进行讲解

用途

自定义inspector（监视器）面板

举个例子，你在ScriptableObejct里声明了一个string类型变量，利用CreateInstance()实例化出来几个.asset实例文件（这个步骤没接触过之后也会说）。这个string太长了，一个默认的...]]></description><category></category></item><item><title><![CDATA[CustomEditor CustomPropertyDrawer]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/88870418</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/88870418</guid><author>linuxheik</author><pubDate>Thu, 28 Mar 2019 15:38:44 +0800</pubDate><description><![CDATA[[CustomEditor(typeof(Type))]

这是所有写过编辑器的人非常熟悉的一行代码，因为它是编辑器的入口。

但是：

[CustomPropertyDrawer(typeof(Type))]

恐怕就没几个人知道了。

它和CustomEditor功能类似，都是自定义特定类型的编辑器界面，但它的对象不是MonoBehaviour，ScriptableObject， 而是一个字段...]]></description><category></category></item><item><title><![CDATA[用PropertyDrawer自定义Inspector面板显示外观]]></title><link>https://blog.youkuaiyun.com/linuxheik/article/details/88870379</link><guid>https://blog.youkuaiyun.com/linuxheik/article/details/88870379</guid><author>linuxheik</author><pubDate>Thu, 28 Mar 2019 15:36:44 +0800</pubDate><description><![CDATA[用PropertyDrawer自定义Inspector面板显示外观

2019年02月13日 11:53:25萧_然阅读数：22更多

个人分类：工具

版权声明：欢迎大家留言讨论共同进步，转载请注明出处 https://blog.youkuaiyun.com/qq_39108767/article/details/87170224

举栗如图，将数组以二维矩阵的方式显示到Inspector面板



...]]></description><category></category></item></channel></rss>