mirror of
				https://github.com/yuzu-emu/FasTC.git
				synced 2025-11-04 09:15:09 +00:00 
			
		
		
		
	Add clamping to our pixels
This commit is contained in:
		
							parent
							
								
									86678c0cfe
								
							
						
					
					
						commit
						3dd1444ff6
					
				| 
						 | 
					@ -163,6 +163,13 @@ class Pixel : public Vector4<uint16> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Tests for equality by comparing the values and the bit depths.
 | 
					  // Tests for equality by comparing the values and the bit depths.
 | 
				
			||||||
  bool operator==(const Pixel &) const;
 | 
					  bool operator==(const Pixel &) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Clamps the pixel to the range [0,255]
 | 
				
			||||||
 | 
					  void ClampByte() {
 | 
				
			||||||
 | 
					    for(uint32 i = 0; i < 4; i++) {
 | 
				
			||||||
 | 
					      vec[i] = (vec[i] < 0)? 0 : ((vec[i] > 255)? 255 : vec[i]);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
REGISTER_VECTOR_TYPE(Pixel);
 | 
					REGISTER_VECTOR_TYPE(Pixel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -306,6 +306,16 @@ TEST(Pixel, ScaleColor) {
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST(Pixel, ByteClamp) {
 | 
				
			||||||
 | 
					  FasTC::Pixel p(256, 3, -2, 10);
 | 
				
			||||||
 | 
					  p.ClampByte();
 | 
				
			||||||
 | 
					  EXPECT_EQ(p.A(), 255);
 | 
				
			||||||
 | 
					  EXPECT_EQ(p.R(), 3);
 | 
				
			||||||
 | 
					  EXPECT_EQ(p.G(), 255);
 | 
				
			||||||
 | 
					  EXPECT_EQ(p.B(), 10);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST(YCoCgPixel, Conversion) {
 | 
					TEST(YCoCgPixel, Conversion) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  FasTC::Pixel p;
 | 
					  FasTC::Pixel p;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue