zoukankan      html  css  js  c++  java
  • Unity 3d中Shader是什么,可以吃吗?

      众所周知,Unity3d是一款跨平台非常广的游戏引擎,上手容易,界面友好,集成功能众多,是目前开发手游的主流引擎。本人有幸使用Unity 3d进行开发已一年多时间,已领略了这歀引擎的强大之处。

      编写shader也是我工作内容的一部分,先来说说shader是什么吧,我以自己的理解说明一下:

      首先 shader是一种语言,一种在GPU,也就是显卡上执行的高级语言。shader的本意是着色器,可以自定义GPU的渲染管线中的两个环节(即顶点和片段)。由此,我们可以控制对象在屏幕上的渲染效果,甚至实现一些非常弦丽强大的效果。

      Unity 3d提供了一套编写shader的框架--ShaderLab,可以编写三种类型的shader:

      1. Surface shader,即表面shader,为我们处理了光照计算,实际上也是Vertex-fragment shader。因为处理光照计算是非常繁琐的过程,由此surface shader应运而生。

      2. Vertex-fragment shader,最经典的shader模型,我们可以在顶点级,和像素级自定义我们的渲染方式。

      4. Custom shader,即固定硬件流水线shader,因为在计算机出来初期,显卡是不具有可编程性的,它走了自己固定的一套渲染流程,此类shader即专为此而服务的。

  • 相关阅读:
    cmd开启3389,无需重启!
    x86的控制寄存器CR0,CR1,CR2,CR3
    x64下fs的角色已经换成了gs
    在win64里,只有一种调用约定
    fs寄存器
    【转】C++ 编译器的函数名修饰规则
    windbg ida需要symbols
    WIN7-X64内核模式下编程实现导出表列表查看
    VS2010+WDK配置要点
    比特币 —— 学习笔记(一)
  • 原文地址:https://www.cnblogs.com/jietian331/p/4100119.html
Copyright © 2011-2022 走看看