着色器和效果——3.0 介绍像素着色器

原创 2004年06月11日 10:24:00

第三章 介绍像素着色器

阅读此文表明您已同意文末的声明

像素着色器是在对每个像素进行光栅化处理期间在图形卡的GPU上执行的程序。(不像顶点着色器,Direct3D不会以软件模拟像素着色器的功能。)它实际上替换了固定功能管线的多纹理化阶段the multitexturing stage),并赋予我们直接操纵单独的像素和访问每个像素的纹理坐标的能力。这种对像素和纹理坐标的直接访问使我们可以达成各种特效,例如:多纹理化multitexturing)、每像素光照per pixel lighting)、景深depth of field)、云状物模拟cloud simulation)、焰火模拟fire simulation)、混杂阴影化技巧sophisticated shadowing technique)。

图形卡支持的像素着色器的版本可以通过D3DCAPS9结构的PixelShaderVersion成员和D3DPS_VERSION宏进行检查。下列代码片断展示了这点:

// If the device's supported version is less than version 2.0

if( caps.PixelShaderVersion < D3DPS_VERSION(2, 0) )

     // Then pixel shader version 2.0 is not supported on this device.

目标

n        获得对多纹理化概念的基本理解

n        学习如何编写、创建并使用像素着色器

n        学习如何使用像素着色器实现多纹理化效果

[声明]:本文译自Frank Luna的《Introduction to 3D Game Programming with DirectX 9.0》,限于译者水平,文中难免错漏之处,欢迎各位网友批评指正;本文仅用于学习交流与参考用途,不得用于任何形式的商业用途;如需转载需事先征得译者同意,保持文章的完整性,并注明译者和出处,译者保留对译文的所有权利。对于违反以上条款造成的后果,译者对此不负任何责任。我的MSNRaymond_King123@hotmail.com,欢迎热爱3D图形和游戏,并有一定图形编程经验的朋友与我进行交流。

 

DirectX11 编译着色器、创建顶点着色器、创建像素着色器

编译着色器1. 如何让GPU执行着色器代码? 你能够选择已经编译好的字节码,或者像我们直接由Direct3D来编译它,它可被本书后面的Demo所接受。编译一个着色器只需调用D3DX11Compil...
  • sinat_24229853
  • sinat_24229853
  • 2015年07月18日 21:16
  • 1565

用一个Pixel Shader(像素着色器)来介绍HLSL

首先我们来看下这个项目的效果,一个照片被"黑白化" 下面这张是原图。 我们来看下是如何实现的,首先你要有点知识关于“DirectX Texture(纹理)”. 如果你还没有的话,可以...
  • fox64194167
  • fox64194167
  • 2013年02月02日 16:55
  • 3573

OpenGL学习脚印:几何着色器(geometry shader)

写在前面 一直以来我们使用了顶点着色器(vertex shader)和片元着色器(fragment shader),实际上OpenGL还提供了一个可选的几何着色器(geometry shad...
  • ziyuanxiazai123
  • ziyuanxiazai123
  • 2016年10月02日 22:46
  • 3668

DirectX 9用2D坐标和像素着色器来生成黑白图像

  • 2014年09月19日 18:54
  • 108KB
  • 下载

基于dirextx 利用像素着色器实现图像的亮度,饱和度,色相,对比度,变灰,反相操作

  • 2010年12月27日 17:22
  • 230KB
  • 下载

OpenGL ES像素着色器教程

OpenGL ES像素着色器教程 时间 2014-08-27 09:54:51  泰然 原文  http://www.tairan.com/archives/7509 主题 OpenGL ...
  • Real_Myth
  • Real_Myth
  • 2016年04月12日 15:00
  • 661

Direct2D 1.1 开发笔记 特效篇(三) 简单的像素着色器特效

使用像素着色器实现一个简单的自定义 Direct2D 特效
  • dustpg
  • dustpg
  • 2014年09月01日 01:13
  • 2721

像素着色器实现多重纹理

像素着色器实现多重纹理,首先需要用HLSL语法写出相关代码,保存为一个文件,然后调用D3DXCompileShaderFromFile接口进行编译。还有一种方式是:通过fxc.exe工具编译那个文件。...
  • jujueduoluo
  • jujueduoluo
  • 2016年10月31日 11:48
  • 616

Introduction to 3D Game Programming with DirectX 11学习笔记 6 Direct3D中的绘制(三)像素着色器

由顶点着色器(或几何着色器)输出的顶点属性都已经过了插值处理。这些插值随后会作为像素着色器(pixel shader)的输入数据传入像素着色器。假设这里没有几何着色器,图6.5说明了目前顶点数据的流动...
  • qq_23225317
  • qq_23225317
  • 2017年03月13日 16:57
  • 269

GPU渲染管线的组成,以及可编程着色的进化史,顶点、几何、像素三种可编程着色器。

本文由@浅墨_毛星云 出品,转载请注明出处。   文章链接: http://blog.csdn.net/poem_qianmo/article/details/71978861 ...
  • wenzhilu
  • wenzhilu
  • 2017年05月17日 08:50
  • 681
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:着色器和效果——3.0 介绍像素着色器
举报原因:
原因补充:

(最多只允许输入30个字)