shader入门--PixelShader运用实例
来源:互联网 发布:怎样淘宝上降价买东西 编辑:程序博客网 时间:2024/06/06 02:16
PixelShader:
PixelShader的功能是根据传入的变量,按照某种算法计算出每个像素的颜色.即是在传入变量里面,包含顶点法向量,纹理观察位置等变量,在执行的时候,根据PixelShader传入的各顶点上的的数据,再按两个顶点之间的数据进行插值,从而得到对应的像素的计算结果.
PixelShader的输出:
颜色纹理输出:
由于可以控制模型上的每个像素的颜色,可以将模型德尔颜色直接输出,在GPU中执行.
float4 ps_main( VS_OUTPUT In ) : COLOR0{ return float4(1.0,0.0,0.0,1.0);}
纹理按照纹理坐标输出:
如果要是输出纹理的话,要求说明纹理和纹理坐标,这里的Texture0 是自己预定义的模式,是要进行纹理贴图的纹理名称
sampler Texture0;float4 ps_main( VS_OUTPUT In ) : COLOR0{return tex2D(Texture0,In.inTxr);}
颜色纹理输出为灰度:
这是没有添加灰度的纹理,只是简单的添加了一张纹理,下面一张是将颜色转化为灰度.
颜色转化为灰度计算公式为:
float4 fGray = 0.299*fRed + 0.5*fGreen + 0.2*fBlue;
sampler Texture0;float4 ps_main( VS_OUTPUT In ) : COLOR0{ float4 vColor = tex2D(Texture0,In.inTxr*2.0); float OutColor = vColor.x*0.3+vColor.y*0.5+vColor.z*0.2; return float4(OutColor,OutColor,OutColor,1.0); }
也可以使用点乘的方式来计算:
sampler Texture0;float4 ps_main( VS_OUTPUT In ) : COLOR0{ float4 vColor = tex2D(Texture0,inTxr1*2.0); float3 v3ToGray = float3(0.3,0.5,0.2); float OutColor = dot(vColor,v3ToGray) return float4(OutColor,OutColor,OutColor,1.0);}
1 0
- shader入门--PixelShader运用实例
- Shader入门
- Shader实例 : 边缘检测
- Shader实例 : 雪景效果
- unity-Shader入门指南
- shader 的入门
- Unity3D Shader入门指南
- OpenGL--shader入门
- shader 入门 图形学心得
- Unity3D Shader 入门
- Shader入门指南【1】
- Shader入门指南【2】
- Unity Shader入门
- Unity Shader入门介绍
- unity shader入门
- Unity3D Shader 入门
- Shader入门学习手记
- u3d shader入门写法
- 生活中如何说服别人
- python 读写本地数据
- [git] git Process
- [git] Basic Git Command Line Reference for Windows Users
- [Getting and Cleaning data] Project
- shader入门--PixelShader运用实例
- mean value coordinates
- python中的print
- 清华梦的粉碎—写给清华大学的退学申请【转自王垠博客】
- 谈 Linux,Windows 和 Mac【转自王垠博客】
- 什么是“对用户友好”【转自王垠博客】
- Xcode7禁用了明码的HTTP请求
- Ubuntu 14.04 安装node js
- Java技术路线