zoukankan      html  css  js  c++  java
  • 一个简单的环境光shader

    关于shader的一个简短的历史

    在DirectX8之前,GPU有一个固定的方法去变换顶点和像素,称为“固定管线”。这使得在将它们传递给GPU后,开发者不可能操作顶点和像素的变换。

    DirectX8介绍了顶点着色器和像素着色器,这使得在通过渲染管线时,开发者可以决定顶点和像素如何被处理,这给了开发者很大的灵活性。但是,编写一个着色器需要汇编语言,这又使开发者遇到了难处,而且,shader 1.0是唯一支持的一个版本。

    这种情况在DirectX9发布后改变。DirectX9给了开发者使用HLSL开发shader的机会,HLSL语法类似于C语言,所以很容易。

    Direct10介绍了一种新的shader,几何着色器,是shader 4.0的一部分。但它需要先进的显卡和Windows Vista。XNA支持shader1.0-3.0,工作在XP,Vista,Xbox360.

    编写shader的一个重要的事实:大多数GPU不支持所有shader版本。一个shader应该有多种可选的方法实现某种特效,使得程序可以工作在更老的电脑。

    顶点着色器(Vertex Shader)操作单个顶点。顶点着色器从在应用程序代码中定义的顶点结构体中获得顶点,从顶点缓冲区载入,将顶点传递给着色器。每个顶点包含的属性有:Position、Color、Normal、Tangent(切线)等等。顶点着色器将这些输出到之后要使用的像素着色器(Pixel Shader)。

    坑....先

    Note: 来自https://digitalerr0r.wordpress.com/2009/03/23/xna-shader-programming-tutorial-1-ambient-light/

  • 相关阅读:
    分布式ID方案
    架构、分布式、微服务
    hexo+GithubPages创建自己的blog
    网络管理基本命令
    jvm-内存模型和一些eclipse调优参数
    JVM-运行时数据区
    JVM-类加载机制
    互联网架构演变过程
    jdk 1.7 新增
    【王的技法0001】机器数、真值、原码、反码、补码总结
  • 原文地址:https://www.cnblogs.com/ll-10/p/5509092.html
Copyright © 2011-2022 走看看