Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что использовать? и как лучше 
:(
    Опции темы
Ravend
Дата 5.12.2005, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.7.2005

Репутация: нет
Всего: 1



Привет, All!

пробую создать нечто напоминающее Civ3 (карту), интересует именно прорисовка местности и объекты/юниты на ней, элементы карты скорее всего будут 2D, а объекты/юниты 3D (хотелось реализовать их подвижное передвижение)
может ктонибудь в общих чертах поведать как лучше это сделать, нужно ли прибегать к каким либо бибилотекам (в случае выбора между OpenGL и DirectX, у меня явное предпочтение к OpenGL - будет ли её достаточно) или можно обойтись стандартными средствами такими как BitBlt?

АТЦЫ! ;)
осветите для меня этот вопрос
как лучше это реализовать?

Спасибо.
PM MAIL   Вверх
mr.DUDA
Дата 5.12.2005, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 7
Всего: 232



Используй Direct3D, рисуй свою карту на плоском квадрате из 2-х полигонов, фигурки можно грузить хоть из .x-файлов. А по OpenGL, пусть тебе АТЦЫ и помогут smile


--------------------
user posted image
PM MAIL WWW   Вверх
Ravend
Дата 5.12.2005, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.7.2005

Репутация: нет
Всего: 1



Цитата
mr.DUDA
Используй Direct3D, рисуй свою карту на плоском квадрате из 2-х полигонов, фигурки можно грузить хоть из .x-файлов.

почему из 2-х полигонов, поясни

Цитата
А по OpenGL, пусть тебе АТЦЫ и помогут smile 

ну что же делать подожду, авось и АТЦЫ заглянут smile

PM MAIL   Вверх
mr.DUDA
Дата 5.12.2005, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 7
Всего: 232



Цитата(Ravend @ 5.12.2005, 15:22)
почему из 2-х полигонов, поясни

потому что полигон это треугольник, сложишь два треугольника - получится квадрат


--------------------
user posted image
PM MAIL WWW   Вверх
Ravend
Дата 5.12.2005, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.7.2005

Репутация: нет
Всего: 1



Цитата
потому что полигон это треугольник, сложишь два треугольника - получится квадрат

не факт что карта будет квадратная
тем не менее спасибо за ответ
PM MAIL   Вверх
DENNN
Дата 5.12.2005, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



С OGL что конкретно не понятно?
А то вопросы такие общие, что тянут на разговор "за жизнь" и религиозные войны.
PM ICQ   Вверх
Ravend
Дата 5.12.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.7.2005

Репутация: нет
Всего: 1



есть желание совместить 2D с 3D, возможно ли это в OGL, если да то как
карту хотелось рисовать спрайтами, а юниты делать 3D моделями, вот и возник вопрос возможно ли это совместить в одной сцене и как
PM MAIL   Вверх
DENNN
Дата 6.12.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



Цитата(Ravend @ 5.12.2005, 18:34)
есть желание совместить 2D с 3D, возможно ли это в OGL, если да то как

Да без проблем. А вот вопрос "как?" опять слишком общий. У тебя какие-то занния по OGL уже есть?
PM ICQ   Вверх
Ravend
Дата 6.12.2005, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.7.2005

Репутация: нет
Всего: 1



ну наверно начальные, большую часть делал пользуясь примерами, на данный момент смог настроить среду, построить 3D сцену с вращением, маштабированием и перемещением отдельных деталей, так же реализована возможность выбора деталей мышкой
PM MAIL   Вверх
DENNN
Дата 6.12.2005, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



Чего же тогда спрашиваешь? Рисуй в буфер кадра используя необходимые команды: для 3Д с тремя координатами, для 2Д - с двумя ( не забывая при необходимости расчитывать нужные координаты). При твоей постановке задачи, если объекты карты не могут закрывать 3Д-объекты, то достаточно в первую очередь вывести сам спрайт с картой и очистить Z-буффер, чтоб при опследующей отрисовки 3д объектов они не пересеклись с плоскостью карты. Есттественно, в таком методе решение задачи "нарисовать 3д объект так, чтоб его изображение совпала с нужной областью карты" или "по координатам курсора определить точки пересечения с картой" ложиться полностью на тебя. Если карта будет изометрическая, то можно применить ортогональную проекцию, что избавит от необходимости учитывать перспективные искажения.
PM ICQ   Вверх
Ravend
Дата 6.12.2005, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.7.2005

Репутация: нет
Всего: 1



DENNN
позвольте ещё вопрос, на сколько ресурсоемка OpenGL, каким количеством вершин на сцену стоит оперировать ориентруясь на машину со средними характеристиками:
1GHz, 512 Mb, video ~64Mb
PM MAIL   Вверх
mr.DUDA
Дата 6.12.2005, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 7
Всего: 232



Цитата(DENNN @ 6.12.2005, 11:10)
и очистить Z-буффер

Оффтоп, конечно, но:

+

за наводку на идею... не знал раньше, что во время рендеринга можно чистить буферы как вздумается, очень помогло в решении одной проблемы (до этого просто отключал z-тест smile).


--------------------
user posted image
PM MAIL WWW   Вверх
DENNN
Дата 6.12.2005, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



Цитата(mr @ 6.12.2005, 16:27)
за наводку на идею... не знал раньше, что во время рендеринга можно чистить буферы как вздумается, очен

И сколько нам открытий чудных ... smile
OpenGL - штука замечательная именно отсутствием всякой крутизны. С пониманием что это костыль, а не инвалидная коляска, приходит понимание что на него можно не только опираться, но и размахивать над головой. smile

Цитата(Ravend @ 6.12.2005, 15:46)
позвольте ещё вопрос, на сколько ресурсоемка OpenGL, каким количеством вершин на сцену стоит оперировать ориентруясь на машину со средними характеристиками:
1GHz, 512 Mb, video ~64Mb

Средние характеристики здесь вообще не причем. Как, формально, и сам OpenGL. ПРи правильной постановке задачи можно выбрать правильный алгоритм отрисовки 3Д сцены. Фактически, важен не сам объем данных, котороый нужно вывести, а то, насколько быстро это необходимо сделать. Ты же ведь всерьез не думаешь, что в GTA в OPENGL вся карта каждый раз отрисовывается? smile
PM ICQ   Вверх
Ravend
Дата 6.12.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.7.2005

Репутация: нет
Всего: 1



так я и не имел в виду отображение всей доступной информации, но некоторый критерий толжен быть, все таки хотелось услышать ответ в цифрах
PM MAIL   Вверх
DENNN
Дата 6.12.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



ТОчной формулы не существует. Определитесь какие требования вы предьявляете к клиентскому софту, в первую очередь к видеоподсистеме.
Для современных карт NVIDIA, возможно тупо выводить полигоны из несолько сотен тысяч вершин. Только опять же, это метод грубой силы. К примеру у меня на работе стоит ГИС, которая реальный 3д мир в реалтайме крутит. Объемы растра и вектора данных начинаются от 5Гиг и более. И все это даже без видеокарты с 3д функциями. Все потому, что алгоритм достаточно продуманный.
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.