ps部分

概览

  Instruction Set                
                   
  Name Description Instruction slots Setup Arithmetic Texture Flow control New  
  abs - ps 绝对值 1   x        
  add - ps 加法运算 1   x        
  break - ps 跳出一个循环 1       x x  
  break_comp - ps 通过一个比较跳出循环 3       x x  
  breakp - ps 基于一个断言跳出循环 3       x x  
  call - ps 调用一个子程序 2       x x  
  callnz bool - ps 如果一个boolean寄存器不为0的话调用一个子程序 3       x x  
  callnz pred - ps 如果一个predicate寄存器不为0的话调用一个子程序 3       x x  
  cmp - ps 以0为比较赋值 1   x        
  crs - ps 叉积 2   x        
  dcl_samplerType (sm2, sm3 - ps asm) 为采样器声明贴图维数 0 x          
  dcl - (sm2, sm3 - ps asm) 声明顶点shader输出寄存器和像素shader输入寄存器之间的联合 0 x          
  def - ps 定义常量 0 x          
  defb - ps 定义一个 Boolean 常量 0 x       x  
  defi - ps 定义一个integer 常量 0 x       x  
  dp2add - ps 2D 点积之后加法运算 2   x        
  dp3 - ps 3D 点积 1   x        
  dp4 - ps 4D 点积 1   x        
  dsx - ps 改变x方向的比率 2   x     x  
  dsy - ps 改变y方向的比率 2   x     x  
  else - ps else块 1       x x  
  endif - ps if结束 1       x x  
  endrep - ps 循环结束 2       x x  
  exp - ps 全精度计算2的幂 1   x        
  frc - ps 小数部分 1   x        
  if bool - ps if块 3       x x  
  if_comp - ps 比较形式的if 3       x x  
  if pred - ps 断言形式的if 3       x x  
  label - ps 标签 0       x x  
  log - ps 全精度计算log₂(x) 1   x        
  lrp - ps 线性插值 2   x        
  m3x2 - ps 3x2 乘法 2   x        
  m3x3 - ps 3x3 乘法 3   x        
  m3x4 - ps 3x4 乘法 4   x        
  m4x3 - ps 4x3 乘法 3   x        
  m4x4 - ps 4x4 乘法 4   x        
  mad - ps 乘法之后加法运算 1   x        
  max - ps 最大值 1   x        
  min - ps 最小值 1   x        
  mov - ps 赋值 1   x        
  mul - ps 乘法 1   x        
  nop - ps 无运算 1   x        
  nrm - ps 单位化 3   x        
  pow - ps 幂运算 3   x        
  ps 版本 0 x          
  rcp - ps 倒数 1   x        
  rep - ps 循环 3       x x  
  ret - ps 子程序的结束 1       x x  
  rsq - ps 平方根的倒数 1   x        
  setp_comp 设置断言寄存器 1       x x  
  sincos - ps Sin和cos 8   x        
  sub - ps 减法运算 1   x        
  texkill - ps 中断像素渲染 See note 1     x      
  texld - ps_2_0 and up 采样一个贴图 See note 2     x      
  texldb - ps 根据w部分进行对贴图的level-of-detail bias采样 See note 3     x      
  texldd - ps 用户提供一个剃度值来采样贴图 3     x   x  
  texldp - ps 根据w部分进行对贴图的投影划分采样 See note 4     x      
                   

部分函数细节

endrep

语法

endrep

示例

rep i2

add r0, r0, c0

endrep

if bool

语法

if bool

示例

defb b3, true

if b3

// Instructions to run if b3 is nonzero

else

// Instructions to run otherwise

endif

if_comp

语法

if_comp src0, src1

_comp为

Syntax

Comparison

_gt

大于

_lt

小于

_ge

大于等于

_le

小于等于

_eq

等于

_ne

不等于

示例

if_lt r3.x, r4.y

// Instructions to run if r3.x < r4.y

else

// Instructions to run otherwise

endif

rep

语法

rep i#

循环

i#.x范围为[0, 255]

示例

rep i2

add r0, r0, c0

endrep

vs部分

概览

  Instruction Set              
                 
  Name Description Instruction slots Setup Arithmetic Flow control New  
  abs - vs 绝对值 1   x      
  add - vs 加法运算 1   x      
  break - vs 跳出一个循环 - vs...endloop - vs 或者 rep...endrep 块 1     x x  
  break_comp - vs 通过一个比较跳出循环 - vs...endloop - vs or rep...endrep block, with a comparison 3     x x  
  breakp - vs 跳出一个循环 - vs...endloop - vs 或 rep...endrep 块, 基于一个断言 3     x x  
  call - vs 调用一个子程序 2     x    
  callnz bool - vs 如果一个boolean寄存器不为0的话调用一个子程序 3     x    
  callnz pred - vs 如果一个predicate寄存器不为0的话调用一个子程序 3     x x  
  crs - vs 叉积 2   x      
  dcl_usage input (sm1, sm2, sm3 - vs asm) 为采样器声明贴图维数 0 x        
  def - vs 定义常量 0 x        
  defb - vs 定义一个 Boolean 常量 0 x        
  defi - vs 定义一个integer 常量 0 x        
  dp3 - vs 3D 点积 1   x      
  dp4 - vs 4D 点积 1   x      
  dst - vs 计算距离向量 1   x      
  else - vs else - vs block 1     x    
  endif - vs 结束if - vs...else - vs block 1     x    
  endloop - vs 结束循环 - vs block 2     x    
  endrep - vs 结束 repeat 块 2     x    
  exp - vs 全精度计算2的幂 1   x      
  exp - vs 半精度计算2的幂 1   x      
  frc - vs 小数部分 1   x      
  if bool - vs Begin an if bool - vs block (using a Boolean condition) 3     x    
  if_comp - vs Begin an if bool - vs block, with a comparison 3     x x  
  if pred - vs Begin an if bool - vs block with a predicate condition 3     x x  
  label - vs 标签 0     x    
  lit - vs 局部光照计算 3   x      
  log - vs 全精度计算log₂(x) 1   x      
  logp - vs 半精度计算log₂(x) 1   x      
  loop - vs 循环 3     x    
  lrp - vs 线性插值 2   x      
  m3x2 - vs 3x2 乘法 2   x      
  m3x3 - vs 3x3 乘法 3   x      
  m3x4 - vs 3x4 乘法 4   x      
  m4x3 - vs 4x3 乘法 3   x      
  m4x4 - vs 4x4 乘法 4   x      
  mad - vs 乘法之后加法运算 1   x      
  max - vs 最大值 1   x      
  min - vs 最小值 1   x      
  mov - vs 赋值 1   x      
  mova - vs 从浮点寄存器到地址寄存器(a0)移动数据  1   x      
  mul - vs 乘法 1   x      
  nop - vs 无运算 1   x      
  nrm - vs 单位化一个 4D 向量 3   x      
  pow - vs 幂运算 3   x      
  rcp - vs 倒数 1   x      
  rep - vs 循环 3     x    
  ret - vs 对主函数或子程序做return处理 1     x    
  rsq - vs 平方根的倒数 1   x      
  setp_comp - vs 设置断言寄存器 1     x x  
  sge - vs 大于等于比较 1   x      
  sgn - vs 返回符号 3   x      
  sincos - vs Sin和cos 8   x      
  slt - vs 小于比较 1   x      
  sub - vs 减法 1   x      
  vs 版本 0 x        
                 

---wolf96  2017/1/3

Asm Shader Reference --- Shader Model 2.x part的更多相关文章

  1. Asm Shader Reference --- Shader Model 2.0 part

    ps部分 ps_2_0 概览   Instruction Set                                   Name Description Instruction slot ...

  2. Asm Shader Reference --- Shader Model 3.0 part

    ps部分 概览   Instruction Set                                       Name Description Instruction slots S ...

  3. Asm Shader Reference --- Shader Model 1 part

    ps部分 ps_1_1,ps_1_2,ps_1_3,ps_1_4 总览                   Instruction Set                               ...

  4. Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)

    关于光照模型 所谓模型,一般是由学术算法发起, 经过大量实际数据验证而成的可靠公式 现在还记得2009年做TD-SCDMA移动通信算法的时候,曾经看过自由空间传播模型(Free space propa ...

  5. Create a Basic Shader in Shader Forge

    [Create a Basic Shader in Shader Forge] 1.打开ShaderForge.Window-> Shader Forge.(打开速度较慢) 2.通过NewSha ...

  6. UnityShader之顶点片段着色器Vertex and Fragment Shader【Shader资料】

    顶点片段着色器 V&F Shader:英文全称Vertex and Fragment Shader,最强大的Shader类型,也是我们在使用ShaderLab中的重点部分,属于可编程管线,使用 ...

  7. UnityShader之固定管线Fixed Function Shader【Shader资料3】

    Fixed function shader简介:  属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况.使用的是ShaderLab语言,语法与微软的FX files 或 ...

  8. 【Unity Shader】Shader基础

    目录 Chapter3 Unity Shader 基础 Chapter3 Unity Shader 基础 概述 在Unity需要材质(Material)与Unity Shader配合使用来达到满意的效 ...

  9. Unity5中新的Shader体系简析

    一.Unity5中新的Shader体系简析 Unity5和之前的书写模式有了一定的改变.Unity5时代的Shader Reference官方文档也进一步地变得丰满. 主要需要了解到的是,在原来的Un ...

随机推荐

  1. PHP学习心得(七)——常量

    常量的范围是全局的. 可以用 define() 函数来定义常量. <?php define("CONSTANT", "Hello world."); ec ...

  2. Python Socket,How to Create Socket Cilent? - 网络编程实例

    文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...

  3. This transaction has been rolled back, rather than only the current.

    今天上午,收到运维组同事反映某应用系统的其中一个功能报错,不是偶然性事件,每个使用该功能的用户都报错.报错内容为:This transaction has been rolled back, rath ...

  4. 10 Best Responsive HTML5 Frameworks and Tools

    http://designinstruct.com/roundups/html5-frameworks/

  5. location.search 详解

    JS中location.search什么意思 设置或获取网页地址跟在问号后面的部分 当以get方式在url中传递了请求参数时,可以利用location的search属性提取参数的值,下面的代码把参数的 ...

  6. Docker 监控- Prometheus VS Cloud Insight

    如今,越来越多的公司开始使用 Docker 了,2 / 3 的公司在尝试了 Docker 后最终使用了它.为了能够更精确的分配每个容器能使用的资源,我们想要实时获取容器运行时使用资源的情况,怎样对 D ...

  7. android 发送自定义广播以及接收自定义广播

    发送自定义广播程序: 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  8. java super 隐式参数

    第41集 所有构造器里,第一句话就是super()           (隐式的,系统自动执行) 鸟构造器调用动物构造器,动物构造器调用object构造器. (系统默认的) tostring() 方法 ...

  9. [Gauss]HDOJ3976 Electric resistance

    题意: 一看图就明白了 要求的是1与n端点间的等效电阻 重点在于转化成考虑电流 根据KCL定理:在任一瞬间流出(流入)该节点的所有电流的代数和恒为零 U = IR 可以令1点的电势为零 那么n点的电势 ...

  10. 文件过滤驱动实现目录重定向(一)good

    文件过滤驱动拦截的IRP主要包括以下几个:IRP_MJ_CREATE,文件创建操作,文件的任何操作,都是从这里开始的.IRP_MJ_CLEANUP,文件的HANDLE句柄全部关闭会触发这个消息IRP_ ...