Normal Quantization
opengl 에서 gpu로의 데이타 전송을 최소화 하는것이 성능상 이점이 있음. 특히 표면 노말의 경우는 x, y, z 3개의 float을 넘겨주는데.. 총 12바이트를 소요함. 이를 하나의 signed int (10.10.10.2) 로 표현하면 4바이트로 줄어듬. 비록 약간의 데이타 손실은 있지만 opengl에서 normal 로 표면을 표한할때는 차이가 거의 없음. 아래와 같이 약간의 손실을 감수하면서 opengl의 성능을 올릴때 사용하면 좋을것임. 노말말고 다른데 적용할부분이 어디가 있을까.. #include #include #include static inline uint8_t encode8_unorm(float x) { return uint8_t( int (x * 255.f + 0.5f) ); }..