Показать сообщение отдельно
Старый 08.10.2009, 14:14   #12
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: SimpleGraphicsEngine 0.1b

Посмотрел код. Рекомендую теперь сделать Ctrl+A потом Ctrl+Del и начинать заново. Из очевидного что бросилось в глаза сразу:
1) Камера не унаследована от ентити, просто отдельный класс - бред
2) Функции управления объектами (перемещение и т.п.) не имеющие ничего общего с реальностью
3) Кругом лишняя нагрузка на процессор. На более менее приличной сцене твой двиг погибнет из-за этого
4) С текстурами вообще ничо не ясно. Но функция установки фильтрации убила (во-первых, всегда ставятся значения на 0 уровень, во-вторых, анизотропка ставится неверно).
5) Вся работа с шейдерами - тонюсенькая обертка вокруг стандартных ID3DXEffect
6) Сильная зависимость от D3DX, в идеале лучше не использовать ничего кроме шейдеров с нее.
7) Материалы типа есть, но по факту их нет
8) Увидев дефайн:
#define ADIN 1
Скатился под стол
9) Для загрузки Х моделей опять же юзается D3DX, поэтому о легкой загрузке других форматов забудь сразу, для этого тебе придется переписать двиг.
10) Общий стиль кода - смахивает на копипаст с разных мест. Блин, не может один человек писать используя десяток стилей (альтернативно одаренных оставим в стороне).
11) В общем и целом - это не двиг, а некая обертка над ДХ
12) Сильная зависимость от GAPI. У нас это явилось причиной невозможности портирования движка на другие платформы.
В общем работай, может чо и выйдет удобоваримое в итоге. Пока кода немного проще привести все в порядок, дальше будет хуже.
Ну и по траблам с необходимостью редиста для запуска - мать вашу, научитесь уже проект настраивать для начала, потом пишите двиги. В данном конкретном случае достаточно переключить тип рантайм библиотеки на статичную, вместо используемой DLL.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Harter (01.12.2009)