Показать сообщение отдельно
Старый 13.12.2013, 19:38   #55
Nfnehtdbx2
AnyKey`щик
 
Регистрация: 13.12.2013
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Пишем свой первый игровой движок (3D Game Engine)

на данный момент соображаю как сделать очень простой и хороший 3-д игровой движок

с математикой поворотов и масштабирований точек достаточно просто описанно (там идут умножения на косинус)
т.е. для каждого обьекта свой коэфициент поворота

вот с рендерингом недавно были доработанны основные идеи

Итак они состоят в следующем :

1- при проэктировании привязывать точки проэтируемых треугольников к ближайшим целым точкам(пересечениям)
2- для области скажем 30х30 пикселов вычислить все возможные треугольники и занести их в таблицу
(комбинации пересечений) (900 в кубе байт комбинаций)

или можн обойтись более малой таблицей 10х10 (100 в кубе байт комбинаций -> 1мб)
и складывать итоговые фигуры уже из нее
как обеспечить чтобы треугольник оказался не больше чем 10х10 при вписывании его в прямоугольник?

Необходимо чтобы он в натуральную величину не был больше чем 10х10 при вписывании его в оптимальный прямоугольник

есть еще одна возможность которую я увидел несколько позже если одна из точек треугольника скажем нижняя левая
будет находится в центре координат!
вертикальных точек станет 20 а не 10
но так как определяемых по шаблону точек всего 2
то и вариаций будет 20х10 в квадрате а не 10 в квадрате а после в кубе
(10х10 в кубе => 1 мегабайт)

и для треульников оптимально вписанных в квадрат
10х10 пикселов
достаточной будет таблица состоящая
всего из 20х10 в квадрате => 40 000 бит
т.е. всего 40 кбайт

такую таблицу можна поместить в кэш даже старых процессоров

Остался открыт вопрос работы над видимостью или невидимостью обьектов(фильтрации того что необходимо отобразить)
Так же необходима проработка "скелета обьектов"
И все это необходимо сделать еще до начала написания движка

Ессно под него необходимо будет написать и среду разарботки
но оно того стоит

моя страница в контакте
http://vk.com/i8ogdan

Последний раз редактировалось Nfnehtdbx2, 13.12.2013 в 20:19. Причина: дополнить
(Offline)
 
Ответить с цитированием