![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
Насколько я знаю, на способ отображения модели "рубленая\не рубленая" влияет параметр GL_FLAT/GL_SMOOTH в функции glShadeModel(). В моей сцене это работает только на примитивах типа glutSolidSphere: при GL_FLAT видны границы полигонов, при GL_SMOOTH - не видны. Но на искусственно созданной моделе границы полигонов видны всегда, будто GL_SMOOTH на неё не распространяется. ЗЫ: Модель загружается из файла. Процесс отрисовки выглядит так:
Код:
Есть подозрение, что я что-то не так делаю при отрисовке. всякие glHint тоже не помогали. glBlend используется.
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
Наверное, у этой модели изначально все нормали такие, что она не гладкая.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Сдаётся мне, что в данном формате вовсе не предусмотрено сглаживание (либо вы используете не те поля, которые нужно, если парсер не ваш). Посмотрите, у вас отдельно хранятся вершины и нормали. Очевидно, что фейс - это как минимум 3 вершины. Однако у всех одна нормаль, потому что в ваших данных нормаль есть только у фейса. Т.о. любой фейс будет не сглаженным, т.к. все входящие в него вершины будут иметь одну нормаль на всех.
Обычно для этих целей каждой вершине соответсвует нормаль, а если вершина принадлежит нескольким поверхностям, не сглаженным друг с другом - она дублируется (с разными нормалями для разных фейсов). Советую попробовать другой формат.
Изобретатель велосипедов
Последний раз редактировалось Selestis; 03.05.2014 в 20:58. |
![]() |
![]() |
![]() |
#4 | |||
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]() Цитата:
Цитата:
Цитата:
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
|||
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]() Цитата:
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
3D модель системного блока в OpenGL | Chester751 | Общие вопросы C/C++ | 0 | 17.04.2014 22:32 |
Opengl - не работает( | kventin_zhuk | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 03.08.2012 14:13 |
OpenGL - анимированная модель (.*gms) | Vova777 | Мультимедиа в Delphi | 0 | 05.08.2011 20:28 |
как сгладить отличие между шейдерами 2.0 и 3.0 для gforce? | aVague | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 29.03.2008 18:25 |