摘要:
【C#自省】1、根据string,获取type。Type.GetType 方法,获取具有指定名称的Type,执行区分大小写的搜索。 2、根据obj,获取type。Object.GetType 方法,获取当前实例的Type。 int n1 = 12;int n2 = 82;long n3 = 12...
阅读全文
posted @ 2014-08-21 21:02
Tekkaman
阅读(400)
推荐(0)
编辑
摘要:
【继承和泛型】 在使用子类一般类型参数时,必须在子类级别重复在基类级别规定的任何约束。例如,派生约束: 基类可以定义其签名使用一般类型参数的虚拟方法。在重写它们时,子类必须在方法签名中提供相应的类型: 您可以定义一般接口、一般抽象类,甚至一般抽象方法。这些类型的行为像其他任何一般基类型...
阅读全文
posted @ 2014-08-18 20:03
Tekkaman
阅读(1731)
推荐(0)
编辑
摘要:
【泛型和强制类型转换】 编译器允许您将一般类型参数显式强制转换到其他任何接口,但不能将其转换到类: 但是,您可以使用临时的 Object 变量,将一般类型参数强制转换到其他任何类型: 不用说,这样的显式强制类型转换是危险的,因为如果为取代一般类型参数而使用的类型实参不是派生自您要显式强...
阅读全文
posted @ 2014-08-18 19:50
Tekkaman
阅读(6738)
推荐(0)
编辑
摘要:
【一般约束】 使用 C# 泛型,编译器会将一般代码编译为 IL,而不管客户端将使用什么样的类型实参。因此,一般代码可以尝试使用与客户端使用的特定类型实参不兼容的一般类型参数的方法、属性或成员。这是不可接受的,因为它相当于缺少类型安全。在 C# 中,您需要通知编译器客户端指定的类型必须遵守哪些约束,...
阅读全文
posted @ 2014-08-18 19:42
Tekkaman
阅读(1188)
推荐(0)
编辑
摘要:
【为什么要使用泛型】 通过泛型可以定义类型安全的数据结构(类型安全),而无须使用实际的数据类型(可扩展)。这能够显著提高性能并得到更高质量的代码(高性能),因为您可以重用数据处理算法,而无须复制类型特定的代码(可重用)。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。 考虑...
阅读全文
posted @ 2014-08-18 19:03
Tekkaman
阅读(9769)
推荐(0)
编辑
摘要:
【extern】 extern修饰符用于声明在外部实现的非托管方法。 Theexternkeyword is also used as a method modifier, declaring a method written in unmanaged code. [DllImport("av...
阅读全文
posted @ 2014-08-18 16:15
Tekkaman
阅读(289)
推荐(0)
编辑
摘要:
【字符图元】1、typeface(字样),即设计风格,如Courier等。2、font(字体),如10磅Courier斜体。3、monspace即为等宽字体,proportional为非等宽字体。4、字体有2种存储格式:位图字体(bitmap font),也要光栅字体(raster font);轮...
阅读全文
posted @ 2014-08-18 14:06
Tekkaman
阅读(337)
推荐(0)
编辑
摘要:
【OpenGL位图函数】1、OpenGL中glBitmap用于绘制一个二值阵列。 When drawn, the bitmap is positioned relative to the current raster position, and framebuffer pixels corre...
阅读全文
posted @ 2014-08-17 20:37
Tekkaman
阅读(2184)
推荐(0)
编辑
摘要:
【多边形的性质】1、如果一个多边形所有内角均小于180度,则为凸(convex)多边形。凸多边形的另一定义是它的内部完全在它的任一边及其延长线的一侧。 2、给定多边形顶点,计算连续的边向量叉积,如果有些为正而另一些为负,则该多边形为凹多边形。3、多边开形的内角和为(n-2)*180。3、通过向量...
阅读全文
posted @ 2014-08-17 19:26
Tekkaman
阅读(2679)
推荐(0)
编辑
摘要:
【椭圆的特征】 椭圆有2个焦点,椭圆上任意一点到2个焦点的距离是一个常量。 所以椭圆方程可以如下: 也可写成下式通过椭圆方程: 也可按照长短轴给出椭圆方程: 或者通过角度的方式给出方程: 椭圆按四象限对象,无法像圆一样八象限对称:
阅读全文
posted @ 2014-08-17 17:29
Tekkaman
阅读(1823)
推荐(0)
编辑
摘要:
【中点画圆算法】 此算是一种圆的光栅化算法。定义以下函数: 通过上述函数,可以得到点(x,y)与半径为r的圆的关系: 已知点(Xk,Yk),我们需要知道(Xk+1,Yk)、(Xk+1,Yk-1)哪一个更接近圆。决策方程如下: 如果Pk小于0,那么中点位于圆内,扫描线Yk上的像...
阅读全文
posted @ 2014-08-17 16:59
Tekkaman
阅读(4281)
推荐(0)
编辑
摘要:
【Bresenham画线算法】 Bresenham是一种光栅化算法。不仅可以用于画线,也可以用用画圆及其它曲线。 通过lower与upper的差,可以知道哪一个点更接近线段: 参考:《计算机图形学》3.5.3 Bresenham画线算法
阅读全文
posted @ 2014-08-17 13:19
Tekkaman
阅读(564)
推荐(0)
编辑
摘要:
【DDA算法】 Digital Differential Analyzer,DDA算法是一种线段扫描转换算法。(线段光栅化算法) DDA算法优缺点: 1、消除了直线方程中的乘法计算,而在x、y方向使用合适的增量。 2、取整操作耗时。参考:《计算机图形学》3.5.2 DDA算法
阅读全文
posted @ 2014-08-17 12:56
Tekkaman
阅读(3037)
推荐(0)
编辑
摘要:
【GL_LINES】 独立的线段,下式中,p2与p3间没有连线。 【GL_LINE_STRIP】 连续的线段,下式中, p2与p3会连成线段。 【GL_LINE_LOOP】 参考:《计算机图形学》3.4 OpenGL画线函数。
阅读全文
posted @ 2014-08-17 12:37
Tekkaman
阅读(14562)
推荐(0)
编辑
摘要:
【贝塞尔曲线】1、线性贝塞尔曲线 给定点P0、P1,线性贝塞尔曲线只是一条两点之间的直线。这条线由下式给出: 且其等同于线性插值。2、二次方贝塞尔曲线 二次方贝塞尔曲线的路径由给定点P0、P1、P2的函数B(t)追踪: 3、三次方贝塞尔曲线 P0、P1、P2、P3四个点在平面或在三维空...
阅读全文
posted @ 2014-08-16 23:18
Tekkaman
阅读(357)
推荐(0)
编辑
摘要:
【弱引用】 弱引用允许应用程序访问对象,同时也允许垃圾回收器收集相应的对象。如果不存在强引用,则弱引用的有限期只限于收集对象前的一个不确定的时间段。使用弱引用时,应用程序仍可对该对象进行强引用,这样做可防止该对象被收集。但始终存在这样的风险:垃圾回收器在重新建立强引用之前先处理该对象。 弱引用特...
阅读全文
posted @ 2014-08-16 20:37
Tekkaman
阅读(307)
推荐(0)
编辑
摘要:
【Lambert模型】漫反射光的强度近似地服从于Lambert定律,即漫反射光的光强仅与入射光的方向和反射点处表面法向夹角的余弦成正比。 由此可以构造出Lambert漫反射模型:Idiffuse =Id Kd cosθIdiffuse表示物体表面某点的漫反射光强Id为点光源,Kd(0<Kd<1)表示...
阅读全文
posted @ 2014-08-16 13:15
Tekkaman
阅读(1308)
推荐(0)
编辑
摘要:
【ShadowVolume】 1、z-pass 算法。 z-pass 是 shadow volume 一开始的标准算法,用来确定某一个象素是否处于阴影当中。其原理是: Pass1:enable z-buffer write ,渲染整个场景,得到关于所有物体的 depth map 。注意这里的 dep
阅读全文
posted @ 2014-08-04 20:21
Tekkaman
阅读(745)
推荐(0)
编辑
摘要:
【Phong Shading】 The most serious problem with Gouraud shading occurs when specular highlights are found in the middle of a large polygon. Since these...
阅读全文
posted @ 2014-08-03 11:09
Tekkaman
阅读(1175)
推荐(0)
编辑
摘要:
【求反射向量】 给定入射光线向量I和平面法向量N,求反射向量R,如下图。为了方便计算,这里假定I和N都是单位向量(模为1,编程时可先将I和N单位化)。 设入射光线向量I和反射平面的法向量N之间的夹角为theta。连接I的始端和R的末端,则有 R = 2P - I (1) 现在...
阅读全文
posted @ 2014-08-03 10:39
Tekkaman
阅读(2487)
推荐(0)
编辑
摘要:
【Vertex Modifier of Surface Shader】 Surface shader compilation directivevertex:functionName 可以用于指定顶点着色器。Afunction that takesinout appdata_fullparamet...
阅读全文
posted @ 2014-08-02 13:31
Tekkaman
阅读(762)
推荐(0)
编辑
摘要:
【Camera’s Depth Texture】 In Unity a Camera can generate a depth or depth+normals texture. This is a minimalistic G-buffer texture that can be used fo...
阅读全文
posted @ 2014-08-02 12:15
Tekkaman
阅读(785)
推荐(0)
编辑
摘要:
【Writing Surface Shaders】 Writing shaders that interact with lighting is complex. There are different light types, different shadow options, differen...
阅读全文
posted @ 2014-08-02 10:37
Tekkaman
阅读(340)
推荐(0)
编辑
摘要:
【Level Of Detail】 LOD0离摄像机最近,LODN离摄像机最远。LOD Group组件的用法是,将此组件挂在根节点上,然后每一个LOD挂同样多的Renderer(通常是子对象)。 At this point the empty object should contain both v
阅读全文
posted @ 2014-07-31 13:05
Tekkaman
阅读(1282)
推荐(0)
编辑
摘要:
【Syntax】 However,use of raw GLSL is only recommended for testing, or when you know you will only target Mac OS X or OpenGL ES 2.0 compatible mobile d...
阅读全文
posted @ 2014-07-30 15:51
Tekkaman
阅读(897)
推荐(0)
编辑
摘要:
【Uniform & Attribute & Varying】 顶点着色器的输入变量用关键字“attribute”来限定。 片段着色器的输入变量(它和顶点着色器的输出变量相对应)用关键字"varying"来限定。 uniform指定这个值从应用程序传递给着色器,并在一个特定的图元中保持为常量值...
阅读全文
posted @ 2014-07-29 19:40
Tekkaman
阅读(340)
推荐(0)
编辑
摘要:
【Vertex and fragment programs】 When you use vertex and fragment programs (the so called "programmable pipeline"), most of the hardcoded functionality...
阅读全文
posted @ 2014-07-29 10:32
Tekkaman
阅读(906)
推荐(0)
编辑
摘要:
【泛型代码中的默认关键字】 在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T:T 是引用类型还是值类型。如果 T 为值类型,则它是数值还是结构。 给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T ...
阅读全文
posted @ 2014-07-28 20:29
Tekkaman
阅读(919)
推荐(0)
编辑
摘要:
【向量投影】 给定一个向量u和v,求u在v上的投影向量,如下图。 假设u在v上的投影向量是u’,且向量u和v的夹角为theta。一个向量有两个属性,大小和方向,我们先确定u’的大小(即长度,或者模),从u的末端做v的垂线,那么d就是u’的长度。而u’和v的方向是相同的,v的方向v/|v|也就是u’的
阅读全文
posted @ 2014-07-28 17:00
Tekkaman
阅读(818)
推荐(0)
编辑
摘要:
【Gouraud Shading】 Gouraud Shading (高洛德着色/高氏着色) 这种着色的效果要好得多,也是在游戏中使用最广泛的一种着色方式。它可对3D模型各顶点的颜色进行平滑、融合处理,将每个多边形上的每个点赋以一组色调值,同时将多边形着上较为顺滑的渐变色,使其外观具有更强烈的实...
阅读全文
posted @ 2014-07-28 09:56
Tekkaman
阅读(750)
推荐(0)
编辑
摘要:
【Flat Shading】 Per-vertex渲染技术是针对每个顶点进行渲染计算,然后把计算得到的颜色值和这个顶点关联起来。然后在多边形的面上进行颜色插值以后的平滑的渲染效果。这也叫做Gouraud Shading。在早起的OpenGL版本中,它是默认的渲染技术。 有的时候我们需要达到遮掩过...
阅读全文
posted @ 2014-07-28 09:54
Tekkaman
阅读(1096)
推荐(0)
编辑
摘要:
【Rendering with Replaced Shaders】 It works like this: the camera renders the scene as it normally would. the objects still use their materials, but t...
阅读全文
posted @ 2014-07-27 15:46
Tekkaman
阅读(263)
推荐(0)
编辑
摘要:
1、voidRender();Description Render the camera manually.This will render the camera. It will use the camera's clear flags, target texture and all other...
阅读全文
posted @ 2014-07-27 13:52
Tekkaman
阅读(1214)
推荐(0)
编辑
摘要:
【Render Texture】 Render Texturesare special types ofTexturesthat are created and updated at runtime. To use them, you first create a new Render Textu...
阅读全文
posted @ 2014-07-27 12:33
Tekkaman
阅读(511)
推荐(0)
编辑
摘要:
【Vertex Lit】 Vertex Lit path generally renders each object in one pass, with lighting from all lights calculated at object vertices. It's the fastes...
阅读全文
posted @ 2014-07-26 16:31
Tekkaman
阅读(541)
推荐(0)
编辑
摘要:
【lightmapping】 Window -> Lightmapping,即可打开Lightmaping窗口。 生成lightmap的GameObject的对象必须将Lightmap Static钩上。此举告诉Beast,此GameObject可以被Baked。 Make sure ...
阅读全文
posted @ 2014-07-26 16:16
Tekkaman
阅读(1387)
推荐(0)
编辑
摘要:
【Stencil】 The stencil buffer can be used as a general purpose per pixel mask for saving or discarding pixels. The stencil buffer is usually an 8 bit...
阅读全文
posted @ 2014-07-26 14:41
Tekkaman
阅读(1178)
推荐(0)
编辑
摘要:
【Fog】 Fog parameters are controlled with Fog command. Fogging blends the color of the generated pixels down towards a constant color based on dist...
阅读全文
posted @ 2014-07-26 14:00
Tekkaman
阅读(327)
推荐(0)
编辑
摘要:
【Blending】 Blending is used to make transparent objects. When graphics are rendered, after all shaders have executed and all textures have been applie
阅读全文
posted @ 2014-07-26 13:39
Tekkaman
阅读(373)
推荐(0)
编辑
摘要:
【Alpha Testing】 The alpha test is a last chance to reject a pixel from being written to the screen. After the final output color has been calculat...
阅读全文
posted @ 2014-07-25 21:10
Tekkaman
阅读(407)
推荐(0)
编辑