Skip to main content
gamedev.net
🔒 Locked

Quantinized normals....

Started by Axiverse 2 replies 550+ views
Original Post
Axiverse
Axiverse
i just read the article, and i don''t understand how this excatly works... how many directions can it point? if it''s not greater than 65536, then why all that math?
JohnBolton
JohnBolton
Quantization is simply a method of compression that works by reducing the precision of a value (thus reducing the number of bits required to represent it). Normally a 3D vector using 32-bit floats takes 96 bits. The article shows how to compress those 96 bits into only 16 bits -- 1/6 the size! -- with a small loss of image quality.

A quick, simple, and naive approach is to just reduce the number of bits in each component to 5, 5, and 6. Although there are 65536 possible values, each axis only has 32 or 64 possible values. That is fine for some applications, but not for others. In the cases where that is not good enough, you must do "all that math" in order to increase the efficiency of each bit and get acceptable results.



John Bolton
Page 44 Studios
Current project: NHL Faceoff 2005 PS2
John BoltonLocomotive Games (THQ)Current Project: Destroy All Humans (Wii). IN STORES NOW!
Axiverse
Axiverse
I know 5,5,6 bit dividion is bad, but why not 8,8? using spirical cordinates you can specify a direction using only 2 variables... thus having 255 segments (though wasting 510 values...)
GameCat
GameCat
This is a nice article describing the geometry compression in Java3D that contains information on compressing normals.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.