标准光照模型简介

作者:追风剑情 发布于:2016-9-4 9:43 分类:Shader

      虽然光照模型有很多种类,但在早期的游戏引擎中往往只使用一个光照模型,这个模型被称为标准光照模型。实际上,在BRDF理论被提出之前,标准光照模型就已经被广泛使用了。       在1975年,著名学者裴祥风(Bui Tuong Phong)提出了标准光照模型背后的基本理念。标准光照模型只关心直接光照(direct l...

阅读全文>>

标签: Shader

评论(0) 浏览(3413)

BRDF光照模型

作者:追风剑情 发布于:2016-9-4 9:07 分类:Shader

      我们已经了解了光线和物体表面相交时会发生哪些现象。当已知光源位置和方向、视角方向时,我们就需要知道一个表面是如何和光照进行交互的。例如,当光线从某个方向照射到一个表面时,有多少光线被反射?反射的方向有哪些?而BRDF(Bidirectional Reflectance Distribution Function)就是用来回答这些问题的。当给定模型表面上的一...

阅读全文>>

标签: Shader

评论(0) 浏览(3916)

着色

作者:追风剑情 发布于:2016-9-4 9:03 分类:Shader

着色(shading)指的是,根据材质属性(如漫反射属性等)、光源信息(如光源方向、辐照度等),使用一个等式去计算沿某个观察方向的出射度的过程。我们也把这个等式称为光照模型(Lighting Model)。不同的光照模型有不同的目的。例如,一些用于描述粗糙的物体表面,一些用于描述金属表面等。

阅读全文>>

标签: Shader

评论(0) 浏览(2645)

吸收和散射

作者:追风剑情 发布于:2016-9-4 8:49 分类:Shader

      光线由光源发射出来后,就会与一些物体相交。通常,相交的结果有两个:散射(scattering)和吸收(absorption)。       散射只改变光线的方向,但不改变光线的密度和颜色。而吸收只改变光线的密度和颜色,但不改变光线的方向。光线在物体表面经过散射后,有两种方向:一种将会散射到物体内部,这种现象被称为折...

阅读全文>>

标签: Shader

评论(0) 浏览(4212)

光源

作者:追风剑情 发布于:2016-9-4 0:29 分类:Shader

辐照度(irradiance) 在实时渲染中,我们通常把光源当成一个没有体积的点,用l来表示它的方向。那么,我们如何测量一个光源发射出了多少光呢?也就是说,我们如何量化光呢?在光学里,我们使用辐照度(irradiance)来量化光。对于平行光来说,它的辐照度可通过计算在垂直于l的单位时间内穿过的能量来得到。在计算光照模型时,我们需要知道一个物体表面的辐照度,而物体表面往往是和l不垂直的...

阅读全文>>

标签: Shader

评论(0) 浏览(3030)

渲染平台的差异

作者:追风剑情 发布于:2016-9-3 19:58 分类:Shader

1、渲染纹理的坐标差异                   2、渲染纹理       我们不仅可以把渲染结果输出到屏幕上,还可以输出到不同的渲染目标(Render Target)中。这时,我们需要使用渲染纹理(Render Text...

阅读全文>>

标签: Shader

评论(0) 浏览(7734)

扩展方法

作者:追风剑情 发布于:2016-9-1 17:24 分类:C#

在不继承的情况下扩展类的方法 using System; namespace TTest { class Program { static void Main(string[] args) { string s = "abcdefg"; Console.WriteLine(s....

阅读全文>>

标签: C#

评论(0) 浏览(2494)

Shader整洁之道

作者:追风剑情 发布于:2016-8-31 22:20 分类:Shader

Cg/HLSL中3种精度的数值类型 类型 精度 float 最高精度的浮点值。通常使用32位来存储 half 中等精度的浮...

阅读全文>>

标签: Shader

评论(0) 浏览(4941)

Unity提供的Cg/HLSL语义

作者:追风剑情 发布于:2016-8-30 22:23 分类:Shader

Unity支持的语义 从应用阶段传递模型数据给顶点着色器时Unity支持的常用语义 语义 描述 POSITION 模型空间中的顶点位置,通常是float4类型 ...

阅读全文>>

标签: Shader

评论(0) 浏览(4965)

Unity提供的内置文件和变量

作者:追风剑情 发布于:2016-8-30 21:40 分类:Shader

Unity的内置着色器文件可以从官网下载 https://unity3d.com/cn/get-unity/download/archive 也可以在安装目录下找到 Mac上 /Applications/Unity/Unity.app/Contents/CGIncludes Windows上 安装路径/Data/CGIncludes Unity中一些常用的包含文件 ...

阅读全文>>

标签: Shader

评论(0) 浏览(4949)

Properties语义块

作者:追风剑情 发布于:2016-8-29 23:12 分类:Shader

ShaderLab属性类型和Cg变量类型的匹配关系 ShaderLab属性类型 Cg变量类型 Color, Vector float4, half4, fixed4 ...

阅读全文>>

标签: Shader

评论(0) 浏览(5065)

顶点着色器和片元着色器之间的通信

作者:追风剑情 发布于:2016-8-29 23:06 分类:Shader

Shader "Custom/VertFragShader" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag struct a2v { float4 vertex : POSITION; float3 normal : NOR...

阅读全文>>

标签: Shader

评论(0) 浏览(3623)

自定义顶点着色器的输入参数

作者:追风剑情 发布于:2016-8-29 22:44 分类:Shader

Shader "Custom/VertFragShader" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag //使用一个结构体来定义顶点着色器的输入 struct a2v { //变量声明格式: 类型 名称 : 语义 ...

阅读全文>>

标签: Shader

评论(0) 浏览(2853)

一个简单的顶点/片元着色器

作者:追风剑情 发布于:2016-8-29 22:32 分类:Shader

Shader "Custom/VertFragShader" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag //POSITION: Unity定义的语义,代表模型的顶点坐标。 //SV_POSITION: Unity定义的语义,代表顶点着色器输出...

阅读全文>>

标签: Shader

评论(0) 浏览(2967)

顶点/片元着色器的基本结构

作者:追风剑情 发布于:2016-8-29 22:02 分类:Shader

Shader "Custom/VertFragShader" { Properties { // 属性 } SubShader { // 针对显卡A的SubShader Pass { // 设置渲染状态和标签 // 开始Cg代码片段 CGPROGRAM // 该代码片段的编译指令,例如: #pragma vertex ...

阅读全文>>

标签: Shader

评论(0) 浏览(2878)

Unity内置的摄像机和屏幕参数

作者:追风剑情 发布于:2016-8-28 20:49 分类:Shader

Unity提供了一些内置变量来让我们访问当前正在渲染的摄像机的参数信息。这些参数对应了摄像机上的Camera组件中的属性值。 Unity5.2内置的摄像机和屏幕参数 变量名 类型 描述 _WorldSpa...

阅读全文>>

标签: Shader

评论(0) 浏览(5390)

IntentFilter的匹配规则

作者:追风剑情 发布于:2016-8-24 17:43 分类:Android

为了匹配过滤列表,需要同时匹配过滤列表中的action、category、data信息,否则匹配失败。一个过滤列表中的action、category和data可以有多个,所有的action、category、data分别构成不同的类别、同一类别的信息共同约束当前类别的匹配过程。只有一个Intent同时匹配action类别、category类别、data类别才算完全匹配,只有完全匹配才能成功启动目标...

阅读全文>>

标签: Android

评论(0) 浏览(3041)

Android获取各种存储目录

作者:追风剑情 发布于:2016-8-22 11:02 分类:Android

示例代码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_main); //Android 2.2(API level 8)之前用Environment类获取...

阅读全文>>

标签: Android

评论(0) 浏览(3927)

Unity内置的变换矩阵

作者:追风剑情 发布于:2016-8-20 14:42 分类:Shader

Unity5.2内置的变换矩阵 变量名 描述 UNITY_MATRIX_MVP 当前的模型观察投影矩阵,用于将顶点/方向矢量从模型空间变换到裁剪空间 UNITY...

阅读全文>>

标签: Shader

评论(0) 浏览(4453)

命令行工具类

作者:追风剑情 发布于:2016-8-19 13:00 分类:C#

CommandLine类用来解析命令行字符串,通过扩展子类来实现不同命令的功能。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; namespace CommandLineTool { clas...

阅读全文>>

标签: C#

评论(0) 浏览(2738)

批处理命令

作者:追风剑情 发布于:2016-8-18 15:09 分类:批处理

当前目录%cd%与%~dp0 echo off echo path is %cd% echo path is %~dp0 pause 运行 开启延迟环境变量扩展 setlocal enabledelayedexpansion 示例1 @echo off set a=4 set a=5&ech...

阅读全文>>

标签: 批处理

评论(0) 浏览(3769)

全屏显示

作者:追风剑情 发布于:2016-8-18 13:11 分类:Android

Android 3.0(API level 11) STATUS_BAR_HIDDEN 遮挡但不移除手机的导航栏和平板电脑的系统栏 STATUS_BAR_VISIBLE 显示导航栏和平板电脑的系统栏 view.setSystemUiVisibility(View.STATUS_BAR_HIDDEN); Android 4.0(API level 14) SYSTEM_UI_FL...

阅读全文>>

标签: Android

评论(0) 浏览(2886)

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号