zoukankan      html  css  js  c++  java
  • shader 是什么?

    转载自:http://hi.baidu.com/8877886699/item/500ed5f6d5a9083c743c4c94

    当初计算机刚诞生时,界面非常简陋,直到上个世纪九十年代windows诞生后,才涌现了大量的电脑游戏,刚开始是二维游戏(2D game)居多,现在则绝大部分游戏都是三维(3D)的了。2D图形,就是无论你如何移动视角,地面上的建筑物、花草树木样子都不会变,而3D图形则不同,随着视角的变换,你看到的物体也在变化,从正面变成侧面,越远的物体越小,越近的越大,与现实生活中人眼看到的情景非常相似。10个最好的PNG转ICO工具,轻松生成Windows 7的256x256像素超清晰图标:http://blog.yiyidu.com/2012_1792.html

      shader就是专门用来渲染3D图形的一种技术,通过shader,程序设计人员可以自己编写显卡渲染画面的算法,使画面更漂亮、更逼真。几年前并没有shader这个东西,所以那时候的显卡,就不支持shader,而只支持固定管线渲染,游戏画面也没有现在的酷。D618311E9A274BD28422AA89D4E746A3

      shader又分两种,一种是顶点shader(3D图形都是由一个一个三角形组成的,顶点shader就是计算顶点位置,并为后期像素渲染做准备的),另一种是像素shader,像素shader顾名思义,就是以像素为单位,计算光照、颜色的一系列算法。

      几个不同的图形API有各自的shader语言
      在DirectX中,顶点shader叫做vertex shader,像素shader叫做pixel shader;
      在OpenGL中,顶点shader也叫做vertex shader,但像素shader叫做fragment shader。
      此外显卡芯片厂商nVidia还推出CG显卡编程语言,也支持shader。

      本文来自亿度软件:http://www.yiyidu.com

      shader有很多不同的版本
      所以,即使你的显卡支持shader,但可能版本不够高,所以无法支持比较新的游戏使用的shader。

      一般来说,大部分游戏都支持不同版本的shader,为的是让尽可能多的机器都能运行,为此需要做很多额外的工作。

      除了显卡不够新之外,不同显卡厂商对shader的支持也不尽相同,所以同一个游戏,一样的设置,在n卡和ATI的卡上,表现可能大不一样。

      另外,安装官方最新的驱动程序也是必要的。如果你安装了错误的驱动程序,甚至是随便从网上下载一个显卡驱动,那么即使你的显卡支持shader,也可能跑不了需要shader支持的程序,包括但不限于网络游戏!


  • 相关阅读:
    翻译:让网络更快一些——最小化浏览器中的回流(reflow)
    ArcGIS API for flex 3.1离线文档
    innerHeight与clientHeight、innerWidth与clientWidth
    在Excel2010中输入身份证号
    JavaScript window.location对象
    Apache2.2+php5.2+the requested operation has failed
    Js中的window.parent ,window.top,window.self
    Mongoose 3.0 executable does not start
    Download ActionScript 3 reference files as a single zipActionScript 3 下载
    Flex 4.6 API 离线文档
  • 原文地址:https://www.cnblogs.com/java20130723/p/3212245.html
Copyright © 2011-2022 走看看