Branimir Karadžić пре 7 година
родитељ
комит
93565f083f
2 измењених фајлова са 18 додато и 13 уклоњено
  1. 14 13
      include/bx/inline/pixelformat.inl
  2. 4 0
      include/bx/pixelformat.h

+ 14 - 13
include/bx/inline/pixelformat.inl

@@ -31,36 +31,37 @@ namespace bx
 		return max(-1.0f, float(_value) / _scale);
 	}
 
-	// R8
-	inline void packR8(void* _dst, const float* _src)
+	// A8
+	inline void packA8(void* _dst, const float* _src)
 	{
 		uint8_t* dst = (uint8_t*)_dst;
-		dst[0] = uint8_t(toUnorm(_src[0], 255.0f) );
+		dst[0] = uint8_t(toUnorm(_src[3], 255.0f) );
 	}
 
-	inline void unpackR8(float* _dst, const void* _src)
+	inline void unpackA8(float* _dst, const void* _src)
 	{
 		const uint8_t* src = (const uint8_t*)_src;
-		_dst[0] = fromUnorm(src[0], 255.0f);
-		_dst[1] = 0.0f;
-		_dst[2] = 0.0f;
-		_dst[3] = 1.0f;
+		const float aa = fromUnorm(src[0], 255.0f);
+		_dst[0] = aa;
+		_dst[1] = aa;
+		_dst[2] = aa;
+		_dst[3] = aa;
 	}
 
-	// A8
-	inline void packA8(void* _dst, const float* _src)
+	// R8
+	inline void packR8(void* _dst, const float* _src)
 	{
 		uint8_t* dst = (uint8_t*)_dst;
-		dst[0] = uint8_t(toUnorm(_src[3], 255.0f));
+		dst[0] = uint8_t(toUnorm(_src[0], 255.0f) );
 	}
 
-	inline void unpackA8(float* _dst, const void* _src)
+	inline void unpackR8(float* _dst, const void* _src)
 	{
 		const uint8_t* src = (const uint8_t*)_src;
 		_dst[0] = fromUnorm(src[0], 255.0f);
 		_dst[1] = 0.0f;
 		_dst[2] = 0.0f;
-		_dst[3] = _dst[0];
+		_dst[3] = 1.0f;
 	}
 
 	// R8S

+ 4 - 0
include/bx/pixelformat.h

@@ -41,6 +41,10 @@ namespace bx
 	///
 	float fromSnorm(int32_t _value, float _scale);
 
+	// A8
+	void packA8(void* _dst, const float* _src);
+	void unpackA8(float* _dst, const void* _src);
+
 	// R8
 	void packR8(void* _dst, const float* _src);
 	void unpackR8(float* _dst, const void* _src);