Difference between revisions of "User:Blackjak"

From Bo3b's School for Shaderhackers
Jump to: navigation, search
(Lesson 1)
(Lesson 3)
 
(3 intermediate revisions by one user not shown)
Line 1: Line 1:
 
== Lesson 0 ==
 
== Lesson 0 ==
 +
3D Image Screenshot<br><br>
 
[[file:TheBall01 50.jpg|700px]]<br />
 
[[file:TheBall01 50.jpg|700px]]<br />
  
 
== Lesson 0.5==
 
== Lesson 0.5==
 +
Quick Fix<br><br>
 
[[file:TheBall02 50.jpg|700px]]<br />
 
[[file:TheBall02 50.jpg|700px]]<br />
  
 
== Lesson 1 ==
 
== Lesson 1 ==
 +
Edited Shader Code
 
  <nowiki>// Annoying ball light bloom effect
 
  <nowiki>// Annoying ball light bloom effect
 
//
 
//
Line 67: Line 70:
 
// approximately 21 instruction slots used (1 texture, 20 arithmetic)
 
// approximately 21 instruction slots used (1 texture, 20 arithmetic)
 
  </nowiki>
 
  </nowiki>
 +
 +
== Lesson 2 ==
 +
Disabling Bloom Effect<br><br>
 +
Before:[[File:B Before TheBall03 50.jpg|700px]]
 +
<br><br>
 +
After:[[File:B After TheBall04 50.jpg|700px]]
 +
 +
== Lesson 3 ==
 +
Change Color of Bloom Effect<br>
 +
<nowiki>//Bloom effect color change
 +
mov oC0.x, c200.x
 +
 +
// Disable game-breaking bloom effect
 +
// if Const1 = 0 disable effect, else leave it on
 +
mov r30.x, c220.x
 +
if_eq r30.x, c200.x
 +
  mov oC0.xyzw, c200.wwww
 +
endif</nowiki>
 +
[[File:B ColorChange TheBall06 50.jpg|700px]]

Latest revision as of 02:35, 22 January 2017

Lesson 0

3D Image Screenshot

TheBall01 50.jpg

Lesson 0.5

Quick Fix

TheBall02 50.jpg

Lesson 1

Edited Shader Code

// Annoying ball light bloom effect
//
// 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
	
// Disable game-breaking bloom effect
mov oC0.xyzw, c1.wwww

// approximately 21 instruction slots used (1 texture, 20 arithmetic)
 

Lesson 2

Disabling Bloom Effect

Before:B Before TheBall03 50.jpg

After:B After TheBall04 50.jpg

Lesson 3

Change Color of Bloom Effect

//Bloom effect color change
mov oC0.x, c200.x
	
// Disable game-breaking bloom effect
// if Const1 = 0 disable effect, else leave it on
mov r30.x, c220.x
if_eq r30.x, c200.x
   mov oC0.xyzw, c200.wwww
endif

B ColorChange TheBall06 50.jpg