zoukankan      html  css  js  c++  java
  • u3d_shader_surface_shader_6

    主题:1.膨胀效果;2.surface shader实际生成的代码;

    o(︶︿︶)o  粘贴复制代码易,理解透彻代码难...

    一:膨胀效果

    1.在#pragma 编译指令里添加vertex:vert以告知进行vertex的处理;在VertexShader最前;

        #pragma surface surf Lambert vertex:vert                                                                                                              

    2.本次膨胀即依据normal方向进行vertex的worldspace下的扩充:

          void vert (inout appdata_full v) {
              v.vertex.xyz += v.normal * _Amount;
          }

    二:点击u3d编译器中"show generated code"

    发现:surface shader的vert()在VS最上面,surf()在PS的最上面,

    // vertex shader
    v2f_surf vert_surf (appdata_full v) {
      v2f_surf o;
      vert (v);    //此 surface里我们使用的vert函数,来操作worldSpace下的膨胀效果
    ....
    }
    // fragment shader fixed4 frag_surf (v2f_surf IN) : SV_Target { SurfaceOutput o; surf (surfIN, o); ... }
    改变自己
  • 相关阅读:
    UVa OJ 120
    ACM--string常见用法
    log4j
    总结13.11.9
    Java 动态生成 PDF 文件
    Linux_CentOS-服务器搭建 <七>
    关于dao层的封装和前端分页的结合(文章有点长,耐心点哦)
    Linux_CentOS-服务器搭建 <六>
    Linux_CentOS-服务器搭建 <五> 补充
    JQ获取CKeditor的值
  • 原文地址:https://www.cnblogs.com/sun-shadow/p/4766214.html
Copyright © 2011-2022 走看看