User:DarkStarSword
From Bo3b's School for Shaderhackers
Revision as of 03:52, 1 September 2014 by DarkStarSword (Talk | contribs)
Contents
Lesson 0
Lesson 1
This pixel shader changes the appearance of the flare on the main menu, but disabling it does not remove it o_O
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
// sampler2D Texture2D_0;
// float UniformPixelScalar_7;
// float4 UniformPixelVector_0;
// float4 UniformPixelVector_3;
// float4 UniformPixelVector_4;
// float4 UniformPixelVector_5;
// float4 UniformPixelVector_6;
//
//
// Registers:
//
// Name Reg Size
// -------------------- ----- ----
// UniformPixelVector_0 c0 1
// UniformPixelVector_3 c4 1
// UniformPixelVector_4 c5 1
// UniformPixelVector_5 c6 1
// UniformPixelVector_6 c7 1
// UniformPixelScalar_7 c8 1
// Texture2D_0 s0 1
//
ps_3_0
def c1, 0.5, 1, -0.5, 0
def c2, 3, 0, 0, 0
dcl_texcoord v0.xy
dcl_texcoord1 v1
dcl_texcoord2 v2.y
dcl_texcoord4 v3.w
dcl_2d s0
add r0.xy, c1.z, v0
mov r0.w, c1.w
dp2add r1.x, c5, r0, r0.w
dp2add r1.y, c6, r0, r0.w
add r0.xy, r1, c1.x
texld r0, r0, s0
mad_sat r0.y, v2.y, -c1.x, c1.y
mul r0.yzw, r0.y, v1.xxyz
mul r0.yzw, r0, v1.w
mul_sat r0.xyz, r0.yzww, r0.x
mul r1.xyz, r0, c4
mad r0.xyz, c4, -r0, r0
mad r0.xyz, c8.x, r0, r1
mul r0.xyz, r0, c4.w
mul r0.xyz, r0, c7
mov r1.x, c2.x
mad_pp r0.xyz, r0, r1.x, c0
mul_pp oC0.xyz, r0, v3.w
mov oC0.w, c1.w
// approximately 21 instruction slots used (1 texture, 20 arithmetic)
Lesson 2
Before:
After:
Lesson 3
DX9Settings.ini changes:
// Hold F8 to enable the bloom effect (note to self - don't use F7 as it // rewrites this file without comments): [KEY1] Key = 119 Presets = 1;2; Type = 2
Pixel shader changes:
def c200, 0.4, 0.2, 0, 0
// <---snip--->
//Disable game breaking bloom effect
mov r30.x, c220.x // r30.x = Const1
if_eq r30.x, c1.w // if (Const1 == 0) {
mov oC0.xyzw, c1.wwww // oC0 = 0
else // } else {
mov oC0, c200 // oC0 = c200 (orange)
endif // }