revert some changes
add textureing method
finish texture
finish
arguments should be compatiable
generate mipmap