Browse Source

Add pack and unpack function for A8 (#198)

william7ba 7 năm trước cách đây
mục cha
commit
407b9f58a8
1 tập tin đã thay đổi với 16 bổ sung0 xóa
  1. 16 0
      include/bx/inline/pixelformat.inl

+ 16 - 0
include/bx/inline/pixelformat.inl

@@ -47,6 +47,22 @@ namespace bx
 		_dst[3] = 1.0f;
 		_dst[3] = 1.0f;
 	}
 	}
 
 
+	// A8
+	inline void packA8(void* _dst, const float* _src)
+	{
+		uint8_t* dst = (uint8_t*)_dst;
+		dst[0] = uint8_t(toUnorm(_src[3], 255.0f));
+	}
+
+	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] = _dst[0];
+	}
+
 	// R8S
 	// R8S
 	inline void packR8S(void* _dst, const float* _src)
 	inline void packR8S(void* _dst, const float* _src)
 	{
 	{