|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Форум движка Xtreme3D / Xtreme3D: вопросы и ответы / Отрисовка моделей |
Страницы: 1 |
Автор | Сообщение |
Лёха_Ш частый гость Группа: Участники Сообщений: 11 |
Добавлено: 19-03-2011 12:10 |
Прошло время, из чуланов вылезли на свет божий недоработки для Экстрим 3Д. И всё бы хорошо, но... При отрисовке моделек заметил интересную вещь, одна сторона модели содержит полностью прозрачные грани. Другая сторона отрисовывается нормально... Как сие понимать? Сначала подумалось, что геометрия модели слишком сложная. Но вот загрузил обычный приметив собранный из полигонов и получил тот же эффект. Что делать господа? |
|
gammaker бывалый Группа: Участники Сообщений: 49 |
Добавлено: 21-03-2011 15:03 |
Это не недоработка. Это отсечение задних граней, которое используется для оптимизации. Сделай эти грани лицевыми (для этого вершины должны идти против часовой стрелки) или напиши MaterialSetFaceCulling("Имя материала модели", fcNoCull). Второй вариант легче, но будет медленнее. | |
Лёха_Ш частый гость Группа: Участники Сообщений: 11 |
Добавлено: 21-03-2011 20:05 |
Спасибо. В моём случае производительностью пока можно пожертвовать. На будущее, учту ориентацию вершин. |
|
JunkerKun частый гость Группа: Участники Сообщений: 17 |
Добавлено: 28-01-2018 00:14 |
Я тут темку апну, чтобы новых не плодить. Очень странная фиговина выползла - не могу назначить материал. Сколько бы ни ставил параметры на другой цвет, по прежнему тот же набор серых треугольников (текстуры у модели нет). (А если отключаю освещение, то набор полностью черных треугольников). В чем может быть проблема? Причем, вот этот код из примеров тоже не применяется к моей модели: MaterialCreate('mHellknight', 'data/hellknight/diffuse.png'); MaterialLoadTextureEx('mHellknight', 'data/hellknight/normal.png', 1); MaterialSetShininess('mHellknight', 32); MaterialSetAmbientColor('mHellknight', c_gray, 1); MaterialSetDiffuseColor('mHellknight', c_white, 1); MaterialSetSpecularColor('mHellknight', c_ltgray, 0.25); ObjectSetMaterial(actor, 'mHellknight'); |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 28-01-2018 11:43 |
Похоже на проблему с UV-координатами. Хотя без модели трудно судить, можешь ее выложить? | |
JunkerKun частый гость Группа: Участники Сообщений: 17 |
Добавлено: 28-01-2018 14:30 |
https://yadi.sk/d/najGfxDu3RrH4C В архиве SMD и MS3D. Как оказалось, черной модель становится из-за контура. Мне кажется, что шейдер тупит. Отключил обводку - шейдер освещения вроде работает, но так, словно это не целшейдинг, а энвайронмент: как отблески на хроме отображается. Написал для упрощения освещения свой шейдер - вроде работает. Кстати, что происходит, когда я создаю несколько акторов? Модель грузится заново и занимает память? Или она кэшируется? Нашел ActorProxy, но... на него нельзя повесить диапазон кадров, нельзя повесить скорость анимации... |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 29-03-2018 14:09 |
У ActorProxy еще есть проблема с вершинными актерами (MD2 и пр.) - скорость анимации почему-то очень низкая. Так что модуль однозначно требует доработки. Я его взял из GLScene 1.0, и в исходник пока особо не вникал. А без него - да, модель загружается заново. |
|
JunkerKun частый гость Группа: Участники Сообщений: 17 |
Добавлено: 01-05-2018 02:33 |
Есть новости по прокси? И вообще, есть ли какой-то другой способ грузить модель только один раз и использовать ее везде, раз прокси не работает нормально? А то как то глупо получается - на сто врагов грузить сто моделей заново? |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 01-05-2018 12:18 |
Пока не занимался - к сожалению, сейчас совсем нет времени. Другого способа нет, разве что дублирование (ObjectCopy), но это практически то же самое, что новая загрузка. |
Страницы: 1 |
Форум движка Xtreme3D / Xtreme3D: вопросы и ответы / Отрисовка моделей |