mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 02:52:43 +00:00 
			
		
		
		
	 68a1727547
			
		
	
	
		68a1727547
		
	
	
	
	
		
			
			Since the alpha blend configuration should not change between most calls of draw_primitives it makes no sense to reinitialize the blend factors for every rasterized triangle. The alpha blend factors are now set up whenever the device config changes. The blend factors are stored in struct AlphaBlendFactors.
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			584 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			584 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Stephan Unverwerth <s.unverwerth@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <LibGfx/Vector4.h>
 | |
| 
 | |
| namespace SoftGPU {
 | |
| 
 | |
| struct AlphaBlendFactors final {
 | |
|     FloatVector4 src_constant {};
 | |
|     float src_factor_src_alpha = 0;
 | |
|     float src_factor_dst_alpha = 0;
 | |
|     float src_factor_src_color = 0;
 | |
|     float src_factor_dst_color = 0;
 | |
| 
 | |
|     FloatVector4 dst_constant {};
 | |
|     float dst_factor_src_alpha = 0;
 | |
|     float dst_factor_dst_alpha = 0;
 | |
|     float dst_factor_src_color = 0;
 | |
|     float dst_factor_dst_color = 0;
 | |
| };
 | |
| 
 | |
| }
 |