glm에도 packer가 있었네.. 이런..
아래 코드는 3개의 float 변수를 10, 10, 10, 2 비트 패킹을 하여 하나의 uint32_t 변수에 담는 예제..
glm::vec3 p0 = glm::vec3(coords[0][0], coords[0][1], coords[0][2]);
glm::vec3 p1 = glm::vec3(coords[1][0], coords[1][1], coords[1][2]);
glm::vec3 p2 = glm::vec3(coords[2][0], coords[2][1], coords[2][2]);
glm::vec3 normal = GetNormal(p0, p1, p2);
glm::vec4 a = glm::vec4(normal[0], normal[1], normal[2], 0);
unsigned int packed = glm::packSnorm3x10_1x2(a);
qDebug() << packed;
glm::vec4 unpacked = glm::unpackSnorm3x10_1x2(packed);
qDebug() << unpacked[0] << unpacked [1] << unpacked [2];
'블로그 (Blog) > 개발로그 (Devlogs)' 카테고리의 다른 글
Python List <--> Tcl List 상호 변환 (0) | 2025.04.03 |
---|---|
벡터에 수직인 뱡향 벡터 구하기.. (0) | 2025.03.05 |
디바이스 드라이버에서 atof 함수 구현 (0) | 2025.02.18 |
MinGW 컴파일러에서 멀티코어 사용하기 (0) | 2025.02.18 |
AES Encryption/Decryption (0) | 2025.02.18 |