Pixel Shader - 像素着色

简介:

Introduction

Pixel Shader是一段执行在GPU上的程序,只限于光栅化阶段。与Vertex Shader不同的是,D3D不会使用软件模拟Pixel Shader,Pixel Shader基本上取代了fixed pipeline中的multitexturing阶段,它使我们能够直接操作单独的像素,访问他们的纹理坐标,这使我们能够获得许多特效,比如多重纹理,逐像素光照,depth of field, 云效果,火焰效果,以及一些成熟的着色技术。

Multitexturing

因为Multitexturing是能用Pixel Shader实现的最简单的技术,所以我们有必要看一下什么是Multitexturing以及它能做什么?

多重纹理与Blending非常类似,// to be continue…

 

input and output

input:color and texture coordinates

output:color

其中输入取决于Vertex Shader的处理结果,假设Vertex Shader输出了两个颜色和三个纹理坐标,那么Pixel Shader的输入就是相面的形式

struct PS_INPUT
{
     vector c0 : COLOR0;
     vector c1 : COLOR1;
     float2 t0 : TEXCOORD0;
     float2 t1 : TEXCOORD1;
     float2 t2 : TEXCOORD2;
};

 

而输出则只包含颜色信息

struct PS_OUTPUT
{
     vector finalPixelColor : COLOR0;

};

本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/archive/2009/10/29/1592402.html,如需转载请自行联系原作者

相关文章
|
26天前
【着色器实现Distorted Outline外描边轮廓扭曲效果_Shader效果第二篇】
【着色器实现Distorted Outline外描边轮廓扭曲效果_Shader效果第二篇】
|
7月前
|
前端开发 UED
什么是前端开发领域中的屏幕像素密度 Pixel Density
什么是前端开发领域中的屏幕像素密度 Pixel Density
90 0
|
9月前
|
机器学习/深度学习 编解码 算法
超分辨率之sub-pixel
2021年的文章同步过来。
139 0
|
10月前
|
算法
DX 纹理像素格式转换算法 R10G10B10A2 转 R8G8B8A8
DX 纹理像素格式转换算法 R10G10B10A2 转 R8G8B8A8
92 0
|
并行计算 iOS开发 MacOS
Metal每日分享,4x4颜色矩阵滤镜效果
Metal每日分享,4x4颜色矩阵滤镜效果
Metal每日分享,4x4颜色矩阵滤镜效果
|
缓存 算法 前端开发
canvas绘制图像轮廓效果
canvas绘制图像轮廓效果
canvas绘制图像轮廓效果
|
机器学习/深度学习
【OpenGL】十六、OpenGL 绘制四边形 ( 绘制 GL_QUADS 四边形 )
【OpenGL】十六、OpenGL 绘制四边形 ( 绘制 GL_QUADS 四边形 )
414 0
【OpenGL】十六、OpenGL 绘制四边形 ( 绘制 GL_QUADS 四边形 )
|
存储 图形学
【Unity Shader】(四) ------ 纹理之法线纹理、单张纹理及遮罩纹理的实现
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题。 【Unity Shader】(三) ------ 光照模型原理及漫反射和高光反射的实现 【Unity Shader】(五) ------ 透明效果之半透明效果的实现及原理   在游戏中,我们除了能看到游戏物体的形体轮廓,还能看到物体的一些具体外观,包括颜色,凹凸等。
1817 0
u3d无锯齿遮罩shader-可用于ugui
图片.png 图片.png // 遮罩shader Shader "Custom/CircleMask" { Properties{ _MainTex("MainTex", 2D) = "white" ...
1691 0
|
图形学
Unity Shader-简单均值模糊
http://blog.csdn.net/puppet_master/article/details/52547442   与Amplify中的Simple Blur例子实现一样