此系列文章由 博客园 天行健 归纳整理,此处仅作收藏与共享之用!
如欲转载该系列文章,需按如下方式于文章起始位置显式标明文章作者以及原文出处,以示尊重!!
文章作者:天行健 君子当自强而不息
原文出处:http://www.cppblog.com/lovedday/archive/2008/04/05/46321.html
注:以下为原文阅读链接,本博收藏的如下文章,亦均在起始处给出了原文链接。如果你喜欢这些文章,请点击链接支持作者原版!
高级着色语言HLSL入门(7)      摘要: 大多数函数已经重载以使其可以对所有内建类型有意义。例如,abs对所有数值类型有意义,所以它为所有这些数值类型进行了重载。又例如,叉积的叉乘仅对 3D向量有意义,所以它对所有类型的3D向量(比如:int,float,double的3D向量)进行了重载。另一方面,线性插值——lerp,对于数值、2D、3D和4D向量有意义,因此重载了这些类型。 
高级着色语言HLSL入门(6)      摘要: HLSL有一个丰富的内建函数的集合,它们对3D图形来说非常有用。下表是一个删减了的列表,注意:要得到更多的参考,可以参看DirectX文档中内建HLSL函数的完整列表。 
高级着色语言HLSL入门(5)      摘要: 为便于参考,这里给出一个HLSL定义的关键字列表:
高级着色语言HLSL入门(4)      摘要: HLSL支持下列数值类型(scalar type):

bool—True or false value. Note that HLSL provides the true and false keywords.

int—32bit signed integer

half—16bit floating-point number

float—32bit floating-point number

double—64bit floating-point number

注意:一些平台不支持int, half, and double类型,这时我们使用 float类型模拟。

高级着色语言HLSL入门(3)      摘要: 下一个方法就是设置常量的默认值,这些默认值在声明时初始化。这个方法应该在应用程序建立(setup)期间被调用一次 (called once)。 
高级着色语言HLSL入门(2)      摘要: 每个着色器有一个常量表,用来保存它的变量。D3DX库通过ID3DXConstantTable接口,提供给应用程序访问着色器的常量表。通过这个接口我们能够在应用程序中设置着色器源代码中的变量。

我们现在描述ID3DXConstantTable接口的方法列表的实现,全部的列表请查阅Direct3D文档。

高级着色语言HLSL入门(1)      摘要: 在我们写的程序里顶点和像素是很小的对象,它们由GPU来执行,是固定功能管线的一部分。用我们自己写的着色器程序替换一部分固定功能管线,在绘制效果上我们获得很大的灵活性。我们不再局限于预定义的"固定"操作。

为了编写着色器程序,我们需要一种高级着色器语言(High-Level Shading Language ,简称HLSL) 。在DirectX 8中,着色器是用低级着色器汇编语言编写的。幸运的是,我们不必再用汇编语言来写着色器了,DirectX 9支持一种高级着色器语言来写。

《高级着色语言HLSL入门》系列文章相关推荐

  1. 《深入理解Java函数式编程》系列文章

    Introduction 本系列文将帮助你理解Java函数式编程的用法.原理. 本文受启发于JavaOne 2016关于Lambda表达式的相关主题演讲Lambdas and Functional P ...

  2. java全局变量怎么定义_Java开发知识点:如何理解Java函数式编程?

    Java是一种计算机编程语言,可用于编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等,是IT开发行业中最受欢迎的编程语言之一.想要学好Java必须要一步一个脚印打好基础.积攒实战经验 ...

  3. java 函数式编程 示例_功能Java示例 第8部分–更多纯函数

    java 函数式编程 示例 这是第8部分,该系列的最后一部分称为"示例功能Java". 我在本系列的每个部分中开发的示例是某种"提要处理程序",用于处理文档. ...

  4. java 函数式编程 示例_功能Java示例 第1部分–从命令式到声明式

    java 函数式编程 示例 功能编程(FP)的目的是避免重新分配变量,避免可变的数据结构,避免状态并全程支持函数. 如果将功能性技术应用于日常Java代码,我们可以从FP中学到什么? 在这个名为&qu ...

  5. Java 函数式编程和 lambda 表达式

    为什么要使用函数式编程 函数式编程更多时候是一种编程的思维方式,是种方法论.函数式与命令式编程的区别主要在于:函数式编程是告诉代码你要做什么,而命令式编程则是告诉代码要怎么做.说白了,函数式编程是基于 ...

  6. Java函数式编程整理

    2019独角兽企业重金招聘Python工程师标准>>> Java函数式编程的第一个作用是可以将匿名类改写成函数式表达式,由系统自动判断类型 我们先定义一个接口 public inte ...

  7. Java 网络编程系列之 NIO

    Java 网络编程系列之 NIO 第 1 章Java NIO 概述 1.1 IO 概述 IO 的操作方式 1.2 阻塞 IO (BIO) 1.3 非阻塞 IO(NIO) 1.4 异步非阻塞 IO(AI ...

  8. 0202年了,还没有用上Java函数式编程!!!——Lambda表达式

    0202年了,还没有用上Java函数式编程!!!--Lambda表达式 函数式编程是什么 命令式编程(Imperative) 声明式编程(Declarative) 函数式编程(Functional) ...

  9. Java 函数式编程精萃

    – Start 点击此处观看本系列配套视频. Java 什么是函数式编程 Java 过程式编程 vs 函数式编程 Java 函数接口(Funtional Interface) Java Lambda ...

  10. Java函数式编程知识分享!

    Java是一种计算机编程语言,可用于编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等,是IT开发行业中最受欢迎的编程语言之一.想要学好Java必须要一步一个脚印打好基础.积攒实战经验 ...

最新文章

  1. 《Python 学习手册4th》 第十二章 if测试和语法规则
  2. Mybatis 源码探究 (3)创建 SqlSessionFactory对象 执行sqlSession.getMapper()方法
  3. 【深度学习】算法工程师面试必考点:Dropout和R-Dropout的使用技巧
  4. 第十届 蓝桥杯样题 —— 5个砝码
  5. html:(31):层叠和重要性
  6. MachineLearning(1)-激活函数sigmoid、损失函数MSE、CrossEntropyLoss
  7. js做的flash形式的幻灯图片
  8. 服务器报告它来自digest_2020年全球服务器市场规模及竞争格局分析
  9. 1.7 的concurrentHashMap内部结构
  10. 优秀的.NET Winform UI控件(标价$399):DotNetMagic Version 3.0 Released
  11. jQuery~函数封装记1
  12. Varnish的基本应用详解
  13. 一种基于区块链的物联网架构设计
  14. win10插上耳机还外放解决解决方法
  15. lbp2900linux驱动下载,佳能lbp2900打印机驱动下载|佳能lbp2900打印机驱动下载 通用版_小皮网...
  16. 景深决定照相机什么特性_相机的景深是什么
  17. Biotion-PEG-Mal,Maleimide-PEG-Biotin,生物素聚乙二醇马来酰亚胺分子量
  18. LED点阵显示,有关特殊国别(阿拉伯,希伯来,泰文)字符排版和乱码问题解决
  19. layui 表格数据源_学习数据分析,这些超好用的数据分析工具你必须知道!|数据挖掘|数据源|oracle...
  20. paperswithcode 论文阅读与代码复现

热门文章

  1. 天梯—计算指数(C语言)
  2. debian安装gcolor2
  3. python关系运算符实例_python编程中最常用的比较运算符实例
  4. Kerberos安装及拖管Ambari 2.7
  5. 部署KVM虚拟化(单网桥与多网桥VLAN模式)
  6. 新版jmeter图形化报告解析
  7. 来不及解释!python字符串常用方法大全,先收藏再说
  8. 在CentOS/RHEL/Scientific Linux 6 7 上安装Telnet
  9. 织梦php me,GitHub - czmz/DedeCMSv5: 中国专业的PHP网站内容管理系统-织梦内容管理系统...
  10. [禅悟人生]鹰和蜗牛都能登上金字塔尖