При загрузке OBJ я получаю это
И на этот раз я успешно загрузил модель! ура!!
но есть небольшая проблема, та, которую я имел с другим загрузчиком obj...
вот как это выглядит:
http://img132.imageshack.us/i/newglitch2.jpg/
вот другой угол, если вы не можете увидеть это сразу:
http://img42.imageshack.us/i/newglitch3.jpg/
теперь это должно выглядеть как куб, но, как вы можете видеть, края граней на кубе очень изменчивы
кто-нибудь еще имеет эту проблему, или если кто-то знает, как решить эту проблему, то дайте мне знать
также прокомментируйте, если есть какой-либо код, который нужно показать, я буду рад опубликовать его.
эй, я поиграл с кодом (изменил некоторые вещи), и это то, что я придумал
ОРИГИНАЛ:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(50.f,(double)800 / (double)600,0.f,200.f);
glTranslatef(0.f, 0.f, -10.0f);
Результат: выбор изображения (посмотрите на изображения)
ТОК:
glMatrixMode(GL_MODELVIEW);
gluPerspective(50.f,(double)800 / (double)600,0.f,200.f);
glTranslatef(0.f, 0.f, -50.0f);
glLoadIdentity();
результат: модель не изменчива, но не может двигать камеру (модель прямо передо мной)
2 ответа
gluPerspective(50.f,(double)800 / (double)600,0.f,200.f);
^^^
|
That's your problem right there ---------------+
Расстояние ближней отсечки должно быть больше 0 для перспективных проекций. На самом деле вы должны выбрать, чтобы расстояние было как можно дальше, а плоскость отсечения - как можно ближе.
Скажем, ваш буфер глубины имеет ширину 16 бит, а затем вы разбиваете сцену на 32768 фрагментов. Распределение срезов осуществляется по закону 1/x. Технически вы делите на ноль.
Ну, это похоже на проблему настройки проекции. Некоторые части вашего куба, превратившись в пространство клипа, превышают ближнюю / дальнюю плоскости.
Из того, что я вижу, вы используете матрицу ортогональной проекции - это стандарт для создания 2D пользовательского интерфейса. Пожалуйста, ознакомьтесь с ближним и дальним вызовом вашего вызова. Для двумерного пользовательского интерфейса они обычно устанавливаются как -1 и 1 соответственно (или 0 и 1), поэтому может потребоваться уменьшить масштаб куба или увеличить глубину усеченного вида путем изменения указанных параметров.