Я наложение текстуры на сферу. Карта текстуры, кажется, изменяется в соответствии с положением сферы (относительно того, куда указывает камера). Какие-либо решения этой проблемы?
Я использую stb_image для загрузки текстуры. Соответствующий код:
vec3 image_texture::value(float u, float v, const vec3& p) const {
int i = (u)*nx;
int j = (1 - v)*ny - 0.001;
if (i < 0) i = 0;
if (j < 0) j = 0;
if (i > nx - 1) i = nx - 1;
if (j > ny - 1) j = ny - 1;
float r = int(data[3 * i + 3 * nx*j]) / 255.0;
float g = int(data[3 * i + 3 * nx*j + 1]) / 255.0;
float b = int(data[3 * i + 3 * nx*j + 2]) / 255.0;
//std::cout << r << "," << g << "," << b << std::endl;
return vec3(r,g,b);
}
Задача ещё не решена.
Других решений пока нет …