Хорошо, я пишу программу, и ее часть похожа на движок рендеринга в Google Maps.
Загружает последовательность маленьких плиток и рисует их в OpenGl. Плитки загружаются динамически и освобождаются динамически, поэтому вам не нужно загружать всю карту.
Итак, я делаю текстуру из JPG.
Привязка текстуры в OpenGL.
Нарисуй четырехугольник.
Промыть и повторять, пока все плитки не будут нарисованы.
И это прекрасно работает. Моя проблема в том, что если я использую glTranslatef (X, Y, 0), где X или Y не является целым числом, то между квадратами есть артефакт / линия. Я предполагаю, что это потому, что между Quads происходит что-то вроде Aliasing. Есть ли в любом случае, чтобы избавиться от проблемы Aliasing, кроме преобразования X и Y в целое число. И или есть лучшее место для поиска информации по этой проблеме.
Код для создания свойств текстуры
// Пусть OpenGL сгенерирует дескриптор объекта текстуры для нас
glGenTextures (1, & texture);
// Bind the texture object
glBindTexture( GL_TEXTURE_2D, texture );
// Set the texture's stretching properties
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST );
// Edit the texture object's image data using the information SDL_Surface gives us
glTexImage2D( GL_TEXTURE_2D, 0, nOfColors, surface->w, surface->h, 0,
texture_format, GL_UNSIGNED_BYTE, surface->pixels );