|
|
Please see my recent p.b.i thread for background, plus the excellent
analysis by clipka.
I propose to change some of the storage types used that are related to
height_field data. It seems to me these were written with minimum storage
space in mind rather than accuracy (and maybe when integer processing was
faster than float?). The changes should help when non-integer images are
used for height_fieds, and also when functions are used within SDL to
directly generate the height_field.
There are some minor changes needed to hfield.h and hfield.cpp to avoid
casting and storing heights/normals as integers.
Then in Parser::Make_Pattern_Image (in parstxtr.cpp) it should create a
float-based image to store the height values, and not an integer based one.
My very basic tests show that these changes solve the issue that is visible,
but I have not investigated any side-affects on other parts of the code.
Is it worth investigating such a change further? The accuracy of
height_fields will be improved, but at the cost of increased memory usage.
Post a reply to this message
|
|