我正在寻找/编写一个16位浮点数的C++实现,用于OpenGL顶点缓冲区(纹理坐标,法线等).这是我目前的要求:
这是我到目前为止的接口:
class half
{
public:
half(void) : data(0) {}
half(const half& h) : data(h.data) {}
half(const unsigned short& s) : data(s) {}
half(const float& f) : data(fromFloat(f)) {}
half(const double& d) : data(fromDouble(d)) {}
inline operator const float() { return toFloat(data); }
inline operator const double() { return toDouble(data); }
inline const half operator=(const float& rhs) { data = fromFloat(rhs); return *this; }
inline const half operator=(const double& rhs) …Run Code Online (Sandbox Code Playgroud)