博客专栏  >  移动开发   >  Shader 入门笔记

Shader 入门笔记

从硬件开始讲起,到固定管线、顶点程序、片段程序Cg语言编写和实例编写

关注
2 已关注
31篇博文
  • Shader 学习一:Shader和渲染管线

    2016-02-26 23:11
    1244
  • Shader 学习二:Unity shader 的组织形式

    surfaceShader是Pixel Shader和Vertex Shader 的封装,surfaceShader 的pass通道已经被封装了,所以没有pass部分。

    2016-02-26 23:12
    997
  • 固定管线shader编写:基本属性

    shader 部分介绍:properties:属性部分material:材质部分lighting: 启用光照(顶点光照)settexture : 设置贴图():表示一个固定值[]:表示一个属性值dif...

    2016-02-26 23:19
    1202
  • Surface Shader

    SurfaceOutput: input: lighting:光照 shadow:阴影 属性声明类型对应关系: Simpler2D-2D half-Rang fixed4-4元向量Tag...

    2016-03-23 14:17
    775
  • Cg入门1:输入输出和语义

    知识点:1.顶点和片段程序的输入输出2.常用语义3.编写一个简单的Shader输入用:in输出用:out即使输入也是输出用:inoutCG语法:CGPROGRAM 开始标识ENDCG  结束标识obj...

    2016-03-23 14:45
    1394
  • Cg入门2:profile和基本数据类型

    float :一个浮点值float4:一个四阶向量half:一个浮点值的一半fixed:bool: 0 和 非0int: 其实也是按照float还计算的Sampler*:值传递不支持指针支持数组int...

    2016-03-23 14:52
    1077
  • Cg入门3:数据类型和swizzle操作

    知识点:1.向量2.Swizzle操作3.矩阵4.数组5.结构体结构体定义:结构体使用:比如:float4  f3=float4(0,1,1) ; swizzle:使用“.”来取值操作。可以用xyzw...

    2016-03-23 14:55
    1120
  • Cg入门4:流程控制

    知识点:1.If...else2.while3.Do...while4.forif-else,while,Do-while,for :与C语言语法一样switch/case  : 不支持模型x,y 值...

    2016-03-23 14:57
    1030
  • Cg 入门5:函数1

    知识点:1.定制函数2.函数前向声明3.函数的传参4.Cg inClude注意事项:1.函数参数: 所有类型都是是传值传递2.函数数组参数:必须指定其维度代码和数据结构做成共用,然后includecu...

    2016-03-23 15:02
    1088
  • Cg入门6:函数2

    内建函数分为四类:1.数学函数2.几何函数3.纹理函数4.导数函数:其实就是片段函数

    2016-03-23 15:04
    1000
  • Cg入门7: Vertex Shader - 顶点数据的输入与输出

    函数输出类型格式:类型  function(参数):语义注意:输入和输出同种类型语义,只能有一种,否则会报错TEXCOORD0:纹理坐标类型

    2016-03-23 15:05
    950
  • Cg入门8:Vertex Shader - 更好的数据组织方式struct

    数据结构的使用:与C语言语法一样参数的传递:参数匹配的是映射的语义的类型输入输出:采用结构体,输入输出对应的参数的in和out可省略,函数的参数结构体就是输入参数集,函数的返回结构体就是输出参数集顶点...

    2016-03-23 15:07
    1072
  • Cg入门9:Vertex Shader - Uniform 与 properties属性

    _AppSetColor 声明处:可以在float4 _AppSetColor前面加Uniform ,或者不加都可以(注意:加的话好像,需要unity 5以上的版本)C# 代码

    2016-03-23 16:13
    1240
  • Cg入门10:Vertex Shader - 几何变换 —MVP矩阵变换

    Unity内建矩阵类型:M:世界矩阵V:摄像机矩阵P:投影矩阵T :矩阵的转置IT : 转置的的逆_Object2World: 模型到世界矩阵_World2Object:世界到模型矩阵MVP 矩阵变换...

    2016-03-23 16:15
    1488
  • Cg入门11:Vertex Shader - 几何变换 —MVP矩阵变换(旋转、缩放)

    旋转、缩放demoC# Code:Shader Code:

    2016-03-23 16:17
    1264
  • Cg入门12:Vertex Shader - 几何变换 —顶点颜色变换

    顶点颜色值获得物体坐标值范围:注意:取顶点数据最好用原始数据,v的vertex,虽然o.pos 也可以,但是是矩阵变换后的位置信息效果:由效果得出:物体坐标系,起始点为物体中心,范围为[-0.5,0....

    2016-03-23 16:20
    1224
  • Cg入门13: Vertex Shader - 几何变换 —顶点位移

    注意:向量进行计算的时候,不仅代表大小,还代表方向。记得代表方向有利于队变换计算的理解效果如下:

    2016-03-23 16:21
    1194
  • Cg入门14:Vertex Shader - 几何变换 —顶点扭曲

    mul (UNITY_MATRIX_MVP,upPos):参数说明由第一个参数UNITY_MATRIX_MVP 矩阵去影响第二个参数upPos向量(或者矩阵)Shader "Sbin/vf35" { ...

    2016-03-23 16:25
    1248
  • Cg入门15:Vertex Shader - 几何变换 —波

    Shader "Sbin/vf36" { SubShader { pass{ CGPROGRAM #pragma vertex vert #pragma fragment...

    2016-03-23 16:26
    1173
  • Cg入门16:Fragment shader - 片段级光照

    将顶点程序实现漫反射放至片段程序后处理效果如下:看到和左边内建实现的漫反射一样了片段程序特点:1.采用三角面的形式渲染,而顶点程序是按顶点形式渲染注意事项:直接将计算好的顶点法线向量和光向量 直接传给...

    2016-03-23 16:32
    1151

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部