每天30分钟看Shader--(3)《Shaders for Game Programmers and Artists》Chapter5 02_Black and White, Like in the Old Times 黑白化

每天30分钟看Shader--(3)《Shaders for Game Programmers and Artists》Chapter5 02_Black and White, Like in the Old Times 黑白化

 

Black and White, Like in the Old Times 黑白化

红不拉叽的茶壶变成黑不溜秋的了!

Intensity  =   0.299 * col.r  +   0.587 * col.g  +   0.184 * col.b;
或者
Intensity  =  dot(col,float4( 0.299 , 0.587 , 0.184 , 0 ));
但是下面的效率更高。


四维向量点积





每天30分钟看Shader--(3)《Shaders for Game Programmers and Artists》Chapter5 02_Black and White, Like in the Old Times 黑白化_第1张图片


you will be invited to implement a variation of this black and white shader called Sepia.

variation  [ˌveəriˈeiʃən]

n.变化,变动;变体,变种;变奏(曲)

sepia  ['si:pjə]

n. 乌贼,乌贼的墨,颜料

a. 乌贼墨色的,使用乌贼墨颜料的


2008-11-27

还可以采用矩阵的方式

每天30分钟看Shader--(3)《Shaders for Game Programmers and Artists》Chapter5 02_Black and White, Like in the Old Times 黑白化_第2张图片

返回[0.299*color.r + 0.299*color.g + 0.299*color.b,       0.587*color.r + 0.587*color.g + 0.587*color.b,      0.184*color.r + 0.184*color.g + 0.184*color.b,     color.a]

这样子就是黑白的?

Thermal Imaging


每天30分钟看Shader--(3)《Shaders for Game Programmers and Artists》Chapter5 02_Black and White, Like in the Old Times 黑白化_第3张图片


把color_filter的值改下就行了

 

你可能感兴趣的:(每天30分钟看Shader--(3)《Shaders for Game Programmers and Artists》Chapter5 02_Black and White, Like in the Old Times 黑白化)