![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
вот... проблема у меня такого характера...
Я хочу нарисовать местность похожую на реальность.. тоесть чтоб было небо земля на земле дорогт и тротуары...а надороге например светофоры. Но я пока не могу понять как это сделать что б красиво выглядело..что б объекты были не очень большими и не очень маленькими.. ну как бы всё было в меру.. Вот у меня сейчас есть координаты дороги (это как бы структура дороги). ну например вот будет одна сторона перекрёстка. т1(400, 500, 0) т1(600, 500, 0) т1(600, 300, 0) т1(400, 300, 0) вот перекрёсток я нарисовал.. таким образом...взял самую большую координату и сказал что это будет 1 в опенГЛ там же от -1 до 1 вот в примере это будет 600. И рисовал точки таким образом через GL_POLYGON. Тут как бы находил через пропорцию 600 - 1 400 - х и значит точка с координатой 400, 500, 0 это будет (400/600, 500/600, 0) вот но тут этот перекрёсток рисеутся но по У вниз уежает надо его ловить.. сразу его не видно . Нарисовал светофор в виде куба получился какойто огромный размером с камаз... Вот если ав играли в игры то видели как так если со стороны игрока смореть например GTA там какой город... видел что небо и землю можно сделать 2-умя огромными квадратами и наложить на них текстуру... Помогите пожалуста с чего начать и как двигаться что б сделать сценку с нормальным видом.. ? Я всё понемногу знаю а вот как с этого сделать что то стоящие то пока не знаю ... и не знаю как поступить в том или 2-ом случаи |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
И теперь у нас всё время шесть часов, и всё время пора пить чай
Добавлено через 3 минуты и 3 секунды Уважаемый, давайте по пунктам перечислите проблемы. Медленно, обдумывая каждое слово, и перед постом перечитав свой текст несколько десятков раз. А то вот лично я понял что две проблемы: 0) Вы не знаете как сохранить соответствие пропорций. Тут ответ прост - вы выбираете некую меру, допустим 1 единица числа типа float = 1 метру. Исходя из этого вы делаете модели, экспортируете их, или же рисуете сами (я понял что вы вроде так светофор сделали). 1) Вы не знаете с какой стороны и за что взяться в вашем вопросе. В этом слуае опиши задачу чётко Это сообщение отредактировал(а) Rickert - 8.10.2008, 14:33 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, извеняюсь за некоректные посты просто у меня мысли все поперепутывались.. не знаю за что взяться...
Значит так. Я хочу для начала сделать какойто пейзаж ну что б была какаято земля (ну обычный асвальт) и небо. Потом на этом асвальте нарисовать дорогу ну мой перекрёсток который у меня задан вот теми координатами которые я привел в первом примере. И на этот перекрёсток добавить светофоры. Вот я отыскал какуюто картинку (в атаче) там конесно всё красиво но мне вот не так уж клёво можно всё попроще но конечно в идеале было б неплохо и что то вроде этого. Я не знаю с чего начать... как декомпозировать задачу и что за чем делать и как правильно делаь? у меня всё какоето кривое выходит без соответствия размерам. Так как координаты экранные x=600 a y=500 то изображение кудато убегает и непонятно дн его искать.. Светофор большой (как камаз). Короче дурдом а не сцена и всё на какомто зелёном фоне. Это сообщение отредактировал(а) Reptor - 8.10.2008, 15:22 Присоединённый файл ( Кол-во скачиваний: 15 )
untitled1.rar 3,24 Kb |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Ой только что посмотрел картинку и увидел что она поломана... странно.. то что у меня то тоже уже чорная.. може скачалась как то плохо..
Ну тогда без картинки... там собственно ничего такого просто местность нарисована. |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Короче я буду задавать вопросы, а вы отвечайте: вам нужно двухмерное изображение или трёхмерное?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, спасибо огромное.
Мне нужно изображение 3-оьх мерное... но информация (точки) по которым будет происходить прорисовка дороги 2-ух мерные (экранные). Как в примере который я наводил. т1(400,500).... |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Значит так, тормозим и делаем всё последовательно.
Сначала небо. Проще всего его сделать через skyBox. Берём в руки поисковик и пишем там что-нибудь типа "как реализовать skybox". Также идём поиском на www.gamedev.ru Вот вам одна прямая ссылка - http://sidvind.com/wiki/Skybox_tutorial По сути skybox - Это коробка, внутри которой находится вся сцена. Текстура этой коробки - это текстра неба, либо ещё какого-то окружения. Коробка движется вместе с камерой. Теперь остановитесь, не метайтесь, а сделайте сначала skybox, потом пойдём дальше. Буду вашим гидом в создании ВР -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, это я посмотрел и понял идею... мы делаем просто коробку в которую потом всё поместим...
Но я взял тот код который по той ссылке.. и зделал но у меня не вышло иак красиво как там.. вот тут я загрузил текстуры. (тут пока код не очень красив я знаю что его надо переделать - не ругайте)
а вот собственно то де я рисую. Координаты камеры я меняю при нажатии на кнопки и делаю к переменным +0.1 или -0.1
а вот картинка в атаче то что у меня получилось. И добпавил картинки для коробки Это сообщение отредактировал(а) Reptor - 9.10.2008, 13:05 Присоединённый файл ( Кол-во скачиваний: 21 )
3DModel_v0.1.2.rar 167,83 Kb |
||||
|
|||||
| Rickert |
|
||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, А что тебя удивляет? Квадраты? Во-первых вы поставили такой тип фильтрации: GL_NEAREST.
Меняем на GL_LINEAR:
К тому же у вас изображения размером 64х64 - это вообще убийство. В современных графических проектах используется минимум 256х256. После этого идём на www.progz.ru, в статьях по OpenGL глава 9 посвящена текстурированию. Вообще советую вам всем там статьи прочитать - очень многое узнаете. + к этому идите на http://pmg-ru.narod.ru/russian/nehe/index.html - здесь есть уроки по OpenGL последовательные. Для старта поможет сильно. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||
|
|||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, я понял про текстуры... мне не совсем понятно как мне использовать мой куб... как подбирать нужные мне картинки? и он у меня какойто ограниченый как будто я в комнате нахожусь а не в какомто свободном пространстве границы котороге не достежимы..
вот как там на картинке с ящиками в статье про SkyBox Это сообщение отредактировал(а) Reptor - 9.10.2008, 15:54 |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
http://www.gamedev.ru/articles/?id=60113&page=2
вот тут вторая картинка (небо, дорога, домики) - это то что я хочу сделать у себя... что б можно было приблежать, отдалять, перемещаться... Это сообщение отредактировал(а) Reptor - 9.10.2008, 16:48 |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, до меня наконецто тугодума дошло что у меня всё верно выходило со SkyBox. Я отыскал ещё один хороший пример и разобрал его детально и понял что вотето всё пространство (что я не мог понять от куда оно) всего лиш илюзия и грамотно нарисованые картинки.
Но тут у меня возникают новые непонятки...как это бокс поможет мне?? это ж на самом та деле такое маленькое пространство...как сделать так как на той картинке (что по линке на gamedev)?? У меня одна мысля по этому поводу - просто увеличивать квадраты из которых бокс зделан. Rickert, поправьте если что не так. И от сюда такие вопросы Что делать дальше? Бокс мне подходит? делать его с нужными мне текстурами (более большим)? а потом к следующему этапу.. |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, у тебя бокс будет двигаться вместе с камерой, таким образом получится, что пространство всё время будет находится вокруг тебя.
Вторая картинка - это тоже вариант создания среды. Как она сделана? Постоянно рисуется плоскость над тобой - небо и добавлен туман, чтобы не видеть конца горизонта. SkyBox можно и не тоскать за камерой, а просто сделать его неприлично большим. Если разобрался с ним можем переходить к следующему вопросу? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, да я разобрался со SkyBox... вот только я пока не понимаю как я в него помещу свои объекты. Зделать его большим или тоскать за камерой... мне сложно всё пока представить..
|
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, в прикреплёном файле то что у меня получилось....
От сюда замечания такие что 1. плохое качество картинок (256х256) и когда фулскрин - не очень красиво... 2. и опять же проблема в том что я не понимаю как я тут размещу свои объекты... ведь это передо мной то на самом деле просто стены с грамотными текстурами.. ну собственно это наверно и будет следущий шаг.
да я думаю можно Это сообщение отредактировал(а) Reptor - 10.10.2008, 14:21 Присоединённый файл ( Кол-во скачиваний: 15 )
3DModel_v0.1.2.rar 496,82 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, я предлогаю тебе бросать мне скомпилированный файл, потому что ты используешь glaux, а у меня его нет. Зачем тебе подключать библиотеки сокетов и mysql?
Я так понял у тебя куб сейчас размером [-0.5; 0.5] по всем координатам? Естественно, это слишком малый куб. Делай его в интервале от [-100; 100] хотя бы. + кинь скомпилированный файл (с ресурсами, естественно - куртинками). Дальше что нам надо добавить в сцену говори? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, прикрепил экзешник.
а у меня а БД есть информацыия про объекты (координаты дороги)
он у меня сейчас -10 до 10. Я этот старый с плохими картинками переделал (там был [-0.5; 0.5]). А сейчас отыскал картинки ... Во тут ещё вопрос есть ли какието проги что б самому рисовать SkyBox. так как готовые не всегда подходят. Переделаю куб.
вот тут и нужен MySQL. Rickert, теперь в БД у меня есть дорога которая кем то была нарисована в экранных координатах. Они имеют такой вид (как пример) т1(400, 500, 0) т2(300, 500, 0) т3(300, 300, 0) т4(400, 300, 0) эти точки соединяя линиями и получим дорогу (это может быть обычный перекрёсток или так Т-образный или как то более большой участок дороги). Достать из базы точки я их могу. Собственно теперь надо этот участок дороги добавить на сцену (нарисовать). Что б была дорога на земле. Это сообщение отредактировал(а) Reptor - 11.10.2008, 17:44 Присоединённый файл ( Кол-во скачиваний: 10 )
file.rar 539,20 Kb |
||||||
|
|||||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Сразу дам совет: после сдвига камера, при движении мышью, позиционируй его в точку, от которой отталкиваешь в расчётках (как правило центр рабочего экрана окна) - курсовр будет фиксирован. + сделай его невидимым. Функция "ShowCursor(0);" Привыкай, что программирование графики тесно связано с моделирование/анимацией и прочим из области 3D моделирования. Тебе нужна какая-нибудь программа по работе с моделированием (Maya, 3d studio, blender (бесплтаный и мощный)) + урок по созданию таких skyBox'ов. Бери поисковик и шустри, не найдёшь - помогу.
Отлично. Тут всё просто. Нас не устраивает две вещи: 0) Координаты в системе XY. Получая координаты дороги, указывай значение Y для Z - будем рисовать в плоскости XZ. 1) Они слишком большие по значения. Кастрируем на 100. Все приходящие значения. Давай, пробуй, жду ответов/приветов -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, хмм не выходит сделать куб больше....
Оставил границы видимыми и они не отдалились (я понимаю что они должны стать дальше) + на углах появились дыры.
я тут не совсем использую камеру. У меня просто вот:
да и ещё 2 exe: 1-ый [-10; 10] а 2-ой [-70; 70] Что делать с этим кубом? Присоединённый файл ( Кол-во скачиваний: 3 )
files.rar 591,50 Kb |
||||
|
|||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Всё правильно. По пунктам:
0) Границы видны, потому что тебе надо установить особые параметры для текстрирования. Читай здесь - http://www.gamedev.ru/faq/?id=91 1) У тебя вылазят зелёный грани потому что это плоскости отсечения. Их две: дальняя и ближняя. Их значения регулируются в функции "gluPerspective()" - последние два параметра. Помни, что буффер глубины 24 битный, следовательно значение не может быть больше 256^3. 2) glRotate - Это очень - очень плохо. Нет, конечно, для небольшого само-проектика покатит, но по идее надо всё переводить на вектора и вычислять значения по формулам. Опять-таким могу тебе дать экскурс в это. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert,
Это зделал.
Это зделал.
если честно то мне самому совсем не нравилось как это работает. Переделал сейчас вот так (буду ещё эксперементировать).
Да и зделал как вы говорили ShowCursor(0);
Нарисовал пока что участок дороги (не из базы) полигоном.. значения взял реальные но пока забиты руками (и уже
Там правда его сразу не видно но попробуйте понажимать кнопочки (перемещать камеру и он там есть) Теперь как то дорогу надо вписать в общий вид. Сейчас она както оторвана от общей сцены. Это сообщение отредактировал(а) Reptor - 12.10.2008, 13:54 Присоединённый файл ( Кол-во скачиваний: 5 )
pr.rar 525,73 Kb |
||||||||||||||
|
|||||||||||||||
| Rickert |
|
||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Сделал пишется через "с" Сделал пишется через "С"
Почему по y = (-0) ?
А почему вы её не из базы данных дёргаете. Давайте сразу уже смотреть чего там есть на выходе. Перенестие кнопки движения либо на стрелки, либо на стандартные "WASD" - а то не ясно Это сообщение отредактировал(а) Rickert - 12.10.2008, 17:32 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||
|
|||||
| Reptor |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
это я просто пробовал опустить дорогу и забыл убрать "-";
просто я хотел что б вы посмотрели.. если б из БД брал то у вас бы ошибка была так как БД нет. ok тогда сделаю из БД и выложу скрины того что вышло. Это сообщение отредактировал(а) Reptor - 12.10.2008, 22:10 |
||||||
|
|||||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, логично, не подумал
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, посмотрите я выложил скриншоты. Перекрёсток из БД.
Ну теперь надо что то с ним делать.. что дальше? Теперь это всё надо привести к красивому и реалистичному виду. Это сообщение отредактировал(а) Reptor - 13.10.2008, 11:29 Присоединённый файл ( Кол-во скачиваний: 11 )
picture.rar 986,08 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor
0) Давайте на "ты", мы уже и так близки 1) В следующий раз, когда буду отправлять картинки, сохраняйте их в JPG формате, а то у меня adsl'я мало пока что. У нас тут ещё безлимиток не организовали нормальных 2) Что дальше? Сейчас нам нужна местность на которой будет лежать эта дорога. Местность больших размеров. Как будем делать? Есть два варианта: генерировать исходя из дороги автоматически и случайно, или сделать модель местности заранее подогнав под дорогу, или ещё вариант: сделать через карту высот. Выбирайте. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Давайте....оо давай на "ты"
Хорошо.
Вот тут я б хотел выслушать тот вариант который ты считаеш правильным или более простым для начала. Просто пока высот у меня нет - дорога ровная (но они потом буду это 100%). Мне кажется сначало надо сделать без карты высот и местность сделать наверно хмм... - подогнав заранее под дорогу... или нет наверно....да наверно под дорогу подогнав. |
||||||
|
|||||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, значит твоя задача состоит из двух этапов:
0) Ты берёшь любой редактор для 3D моделирования: Maya, 3D studio, blender. 1) Сохраняешь данные о дороге в тот же OBJ файл. 2) Импортируешь данные в редактор, через этот OBJ файл. Благо его все понимают. 3) Рисуешь местность, глядя на свою дорогу. 4) Эскпортируешь полученную модель в любой формат. 5) Грузишь эту модель в своём проекте. Это если самому руками делать. Если ты возьмёшься делать через Maya, то я тебя могу провести по всем пунктам, от и до, включая само создание местсноти. Это сообщение отредактировал(а) Rickert - 14.10.2008, 03:46 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert,
хорошо давай так и поступим. Только если честно я пока мало что понял как это всё будет происходить... Ведь дорога может быть разной... Это мне надо будет что б в Maya всё автоматически это выполнялась.. или как?
как например эти пункты автоматизировать мне пока не ясно совсем... Хорошо с чего начинать....?? Да и ещё какой версии Maya мне нужна (я никогда с ней не работал). И где её можно скачать? Это сообщение отредактировал(а) Reptor - 14.10.2008, 15:42 |
||||
|
|||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
А, так дорога у тебя разная будет? В таком случае тебе только автоматическая генерация местности нжна, иначе никак. Пока шутсри поиском по гуглу и gamedev.ru "генерация ландшафта"
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Да, разная.
Rickert, я посмотрел про ландшафты в уроках Nehe и идею понял. Только вот как мне это поможет? я пока не понимаю. Это ж мне надо генерить этот raw-файл? Одним словом я пока не понимаю как это связать с моими дорогами и skyBox. Это сообщение отредактировал(а) Reptor - 14.10.2008, 22:42 |
||||
|
|||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, пока научись просто открывать raw файл и формировать поверхность.
Мы будем генерировать ландшафт случайным образом, а затем подгонять его под дорогу. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, я не могу понять как создавать raw файл. Есть в примере но там какаято абра кодабра. Как им пользоваться я понял а вот как свой сделать пока мне не ясно. Отыскал какойто редактор - терагон вроде... но он тоже мне не подходит... хотя редактор меня и не интересует... мне ж надо автоматом генерить файл..
Это я понял как делать.. что дальше делать? я так понимаю сейчас как раз таки и надо мне создать этот raw-файл... Исходя из того какая у меня дорога? |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Хорошо, ладно. Забудь про raw файл.
Сделай следующее: напиши функцию, которая будет принимать четыре значения: 0, 1) Длинна и ширина поверхности. 2, 3) Длинна и ширина каждой клеточки. Каждая клеточка - это полигон - два треугольника (6 вершин). Функция должна создавать плоскую поверхность. Справишься? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, ну постараюсь...
|
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, вот функция
и в атаче результат работы. Присоединённый файл ( Кол-во скачиваний: 5 )
untitled.rar 28,88 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, не-не-не!
Ты должен создать массив вершин, который будешь модифицировать и отображать. А сейчас ты просто в цикле вывел координаты. Это сообщение отредактировал(а) Rickert - 16.10.2008, 16:03 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, ага во как надо. Хорошо переделаю.
|
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, вот я переделал.
картинка в атаче Присоединённый файл ( Кол-во скачиваний: 5 )
untitled.rar 34,31 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, уже лучше. Немного поправь код: что тебе мешает в первой функции, сразу же расчитать позиции вершин и потом их только выводить в "drawLandscape()" ?
Теперь ещё усложним. Добавь третью координату. И пусть значение по Y будет случайным. Смотри описание функций "srand()" и "rand()" Пусть интервал значений будет от (-1.0) до (1.0) -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, вот смотри сделал случайные высоты.
Картинка в атаче. Rickert,
Вот тут я не совсем понял..... тоесть надо делать масив например не 64x64 (к примеру) а как то исходя из шага? Добавлено через 4 минуты и 50 секунд или наоборот просто в масив писать вотету информацию
а там просто брать и все подряд выводить? Присоединённый файл ( Кол-во скачиваний: 7 )
untitled.rar 37,09 Kb |
||||||
|
|||||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Да, подумай хорошенько, если что я тебе потом помогу с кодом. Ну у тебя там хоть проясняется всё по-немногу: по полкам раскладывается? Теперь значит смотри: в raw файле смысл такой же - это картинка, а значение цвета этой картинки - значение высоты точки. Сообразил? Итак, у нас сейчас должен получится случайно сгенерированный ландшафт. Он у нас топорный как ты можешь заметить. Надо бы его, наверное сгладить? Есть такая вещь "кривые безье". Кури общую информацию тут - http://ru.wikipedia.org/wiki/Кривые_Безье Потом иди на тот же gamedev.ru и смотри как их применяют. Также в поисковиках пошустри. И найди какую - нибудь текстурку, да наложи на сгенерированную повехность. Для этого, естественно, тебе понадобиться расчитать uv координаты. Но так как у нас простая плоскость, по сути, то проблем думаю не будет. Это сообщение отредактировал(а) Rickert - 17.10.2008, 18:53 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Да немного проясняется, но всеровно как выйти на конечный результат пока не до конца ясно (как это всё потом в купу собрать), а так до этого времени всё ясно.
да это я понял. Хорошо попробую разобраться с "кривые безье".. вот что б сгладить ландшафт и потом текстура. |
||||
|
|||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
А мы разве не выходим на него по-тихоньку? Сделали окружающую среду, сейчас добавим местноть и дорогу. Что там ещё надо будет? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, конечно выходим.
Хотелось бы ещё потом какойто светофор добавить и домик(дерево) Вернёмся к кривые безье.... я почитал и разобрался с ними... вот.. и попробовал их применить но не вышло (результат в атаче). Вот код.
я раньше делал треугольники а сейчас при помощи кривых безье сгладить переломы там де переход с одного прямоугольника (2 треугольника) на 2-ой. Но получились какието петли.... одним словом не получилось так как думал что получится..(((( Присоединённый файл ( Кол-во скачиваний: 7 )
__________.rar 47,44 Kb |
||||||
|
|||||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor
Значит так: делаешь пустой проект, в котором идёт только инициализация OpenGL и отображение. И реализовываешь в нём простой вариант кривой безье. Если хочешь, я могу прислать тебе уже готовый код с ныне платного gametutorials.com - покопаешься: там всё так писалось, чтобы исходник служил неким уроком в определённой области. Кинуть или сам повозишься? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Да скинь пожалуйста если можно. И сейчас ещё зделаю сам простой вариант кривой безье. |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, я сделал пустой проект в котором реализовал простой вариант кривой безье.
Вот код и атач.
Присоединённый файл ( Кол-во скачиваний: 5 )
ww.rar 12,92 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, ну так правильно работает или нет?
В понедельник с рабочей машины сдёрну безье и вышлю. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, ну да, правильно работает. Что ж у меня там напутано.... |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, в атаче то что получилоь... (правда с кривыми безье не до конца понял что получилось но пока пусть так будет).... Сделал текстуру... ну вроде не плохо..
Что дальше? Теперь надо как то дорогу положить на этот ландшафт?.. она сейчас телипается немного ниже и с самого краю + оня ещё какаято очень маленькая.. Rickert, знаеш что я не могу до конца себе представить... - как всё это будет в конце... просто сейчас есть SkyBox, дорога, ландшафт и эти 3 компонента как то оторваны друг от друга... Это сообщение отредактировал(а) Reptor - 19.10.2008, 11:42 Присоединённый файл ( Кол-во скачиваний: 6 )
p.rar 76,06 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Пойми, я не стану за тебя писать код Это самое важное качество программиста - найти неисправность и починить, тренируйся - это не лёгкий путь А какая целостность требуется? Нет, ну конечно ты можешь создать классы, разбить всё это дело по функциям, оптимизировать, но это долгая песня, который ты уже должен заниматься самостоятельно в течении пары недель. Так, вот теперь поверхность вроде сглаженная, отлично. Теперь что нам нужно? Чтобы ландшафт генерировался и состыковывался с дорогой? Попробуй сам придумать алгоритм или найти по поисковикам. Я тож пока подумаю что-нибудь. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Нет Rickert, ты меня не понял наверно.. |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, А ну так естественно
Давай, подумай, как от этого избавиться? 0) Во-первых сделать ограничение на движениее камеры как-то. Может сделать имитацию человеческого движения по поверхности: прыжок, вперёд, назад и всё такое. 1) Можно генерировать большой ландшафт и отображать его по кускам: те, которые видны. 2) Можно добавить туман, чтобы не было видно конца горизонта и опять-таки генерировать большой ландшафт. Это всё то, что пришло первое на ум. Поразмышляй Это сообщение отредактировал(а) Rickert - 19.10.2008, 15:12 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, а как мне добавить лёгкий туман на углах skyBox... так что б было всё видно но с легкой серостью...У меня сильно затуманено выходит... картинка в атаче.
я уже использую glFogf(GL_FOG_DENSITY, 0.01f); Присоединённый файл ( Кол-во скачиваний: 6 )
tyman.rar 46,64 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, а как нанести текстуру на мою дорогу... она рисуется как glBegin(GL_POLYGON);??
1-ое что мне приходит на ум так это отказаться от POLYGON Это сообщение отредактировал(а) Reptor - 19.10.2008, 19:52 |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Что значит "как"? А как ты её наложил на ландшафт? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
ну брал и кусочками вырезал пошагово... но там проще там же треугольниками... а тут много вершин.. Rickert, и ещё я не совсем понял что такое z в формуле с туманом... я тут сам пытаюсь считать....ну и не совсеп понял что за z? |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, z - обычно под ней подразумевают либо отдалённость от смотрящего, либо глубину.
Всмысле "вырезал"? У тебя должно было бы быть так: ландшафт из треугольников. Если смотреть на него в плоскости XZ, то самая нижняя левая вершина будет иметь UV координаты(0.0, 0.0), а самая верхняя правая (1.0, 1.0), а те, что между ними - промежуточные значения, исходя из их положения относительно крайних. Теперь дорога. Оказывается она у нас с проблемой... Нет UV координат у плоского выпуклого тела. Если у нас дорога будет использовать текстуру например "асфальт", без разметок - то проблем не будет, а вот если нужны разделительные полосы, то тут мы ничего поделать не сможем - нам нужно заранее знать направления. Вопрос такой: тебе данные о вершинах дороги поступают кучей, не какими - то опред. партиями, которые бы характеризовали: допустим некие дороги? Это сообщение отредактировал(а) Rickert - 20.10.2008, 11:20 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, Ну да так и сделал.
Да ко мне информация поступает просто кучей вершин...и я просто знаю последовательность ту по которой необходимо их соеденить.. но как бы разметка.... я знаю количество полос в каждом направлении... на каждой стороне....может просто линиями их нарисовать? |
||||
|
|||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Давай пока забудем про полосы и решим проблему с генерацией uv карты. Сделай текстуру размером 256х256: чёрная стрелка на белом фоне и загрузи её в проект - это будет наша текстура для дороги на время дебага.
Теперь расскажи мне про
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, идёт в базе просто последовательность точек... табличка такого вида
id | x | y 1 | 600 | 300 2 | 300 | 300 3 | 300 | 350 вот... и вот так их надо сондинять: 1->2->3 (попорядку).
вот тут я не совсем понял: будет белая область 256х256 и по середине будет просто чорная полоска? |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, не - не: белый квадрат размером 256х256, а по середине чёрная стрелку любым размером, но чтоб, есесно, влазила в квадрат.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, сделал.
|
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, и ещё как можно избежать... сделать так что б не было видно границ моего ландшафта..а именно я ж рисую ландшафт треугольниками и из-за этого весь ландшафт в линиях... На картинке всё видно...я там для примера чорным цветом их обрисовал..Очень в глаза кидаются эти границы треугольников.
Это сообщение отредактировал(а) Reptor - 20.10.2008, 14:58 Присоединённый файл ( Кол-во скачиваний: 13 )
p.JPG 26,03 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, где там ландшафт? Там какая-то сливающаяся текстура?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, ну да...а как сделать что б такого не было? я взял обычно зделал и наложил текстуры c координатами u,v на треугольники
Это сообщение отредактировал(а) Reptor - 20.10.2008, 15:58 |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, так ты текстуру-то возьмите какую-нибудь другую, отличную от Skybox'а
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, ну если я возьму текстуру отличную от скайбокса тогда вид не очень красивый будет.... в дали один цвет гор а то что на земле 2-ой цвет... как то не очень выходит
и всеровно даже на 2-ой тектуре видны эти места склейки триугольников. Это сообщение отредактировал(а) Reptor - 21.10.2008, 15:09 |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, ты зря занялся сейчас вылизыванием картинки - это последнее дело. Оставь пока эти грани. Сейчас нам надо сгенерить uv карту для дороги. Так, точки короче идут одна за другой, создавая контур. Что ж - это легче уже.
Ты можешь показать мне дорогу вид сверху, с включёным отображением вершин и линий. Вершины - зелёные, линии - синие. А лучше скомпиленную прогу кинь: надо узнать расположение вершин относительно друг друга. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, я тебе скрин скинул...так как скомпиленая у тебя работать не будет.. база нужна...и отметил на ней точки.
Вот эти точки мне даны... причём дороги могуть быть разные... но все описываются так же просто каждая сторона 4 точками и эти точки соединяются. Присоединённый файл ( Кол-во скачиваний: 9 )
1.rar 21,88 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, т.е. правая полоса на скрине, и нижняя полоса на скрине состоят из 4 вершин? а та хрень что их соединяет - многоугольник: из скольки?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert,
а там это просто 2 точки... это не отдельный многоугольник а просто последние 2 какието контрольные точки что б соеденить обе части.. если будет 3 полосы то будет так как на картинке в атаче... Присоединённый файл ( Кол-во скачиваний: 8 )
2.JPG 13,64 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor
Я предлогаю так: у нас есть четыре точки для полосы. Значит мы можем измерить размеры полосы. Теперь предположим, что наша текстура 256х256 будет расчитана на 1 ед. Т.е., если взять размеры полосы такими (5.0, 1.0), то получается что наша текстура должна быть наложена по длинне (U координата) - 5 раз, а по V - 1 раз. Следовательно, у левой (левая - меньшая по значению по длинне) точки будет координата U = 0.0, а у правой - U = 5.0. Таким образом текстура наложится 5 раз по длинне. А по V - 1. Сообразил? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, ну не совсем...это мне надо всё время длину и высоту прямоугольника вычеслять.. а потом в цикле налаживать текстуру...а как потом отдельно текстуру налаживать.. не что то я запутался.
|
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, в чём проблема? У тебя данные о дороги поступают постоянно в процессе выполнения программы?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert,
да.. так и есть.. я беру первую точку и мне надо приписать ей координату с текстуры u,v. Нет что то я не понимаю... Есть тукстура это та стрелочка на белом фоне?... так а там же есть белые области.. не что то я всеровно не понимаю.. |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor
Вот какими должны быть действия: 0) Приходит 4 точки - полоса дороги. 1) Мерим длинну и высоту. 2) Считаем UV координаты. 3) Присваиваем их полосе. Тебе надо составить нормальный класс дороги, где были бы данные о полосах и их внутренние параметры (координаты вершин, UV карта, длинна, высота, ссылка на текстуру). Нам пока без разницы какую текстуру накладывать и мы будем брать ту, что со стрелкой. Я тебя просил её сделать чтобы было проще ориентироваться с направлением, если бы потребовалось добавлять разделительные полосы. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, да я понял... теперь..сначала надо подготовить всю информацию а потом уже с ней что то делать...буду делать класс
|
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, сделал классы.. что то даже и получилось... вот теперь мне б пока хотелось порядок навести... так как преподу показывать надо уже....и хотелось что б вид какойто имело то что дорогу окружает.
|
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, предлогаешь вылезать картинку или просто хочешь порядок в коде и голове навести?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, предлагаю вылезать картинку Так что надо браться за вылизывание вида.. и порядка в голове (всеровно остались моменты непонятные мне.) |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, привет
|
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, Нет, тебе надо сначала вывести фигуру через GL_POLYGON, GL_TRIANGLES, а затем вывести фигуру через GL_LINE_STRIP - тогда ты отобразишь и "заливку" и конутр полигонов. Ты ведь именно этого добиваешься?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, та дело в том что через GL_POLYGON у меня дорога выходит как то не совсем так...в атаче картинки..
Там если линиями то всё нормально... а через полигон выходит как то криво...переходы между сторонами как то..непонятно как отобразились. Вот код.
Да и ещё так и не решил проблему с ландшафтом...как сделать что б не было видно границ.. выходит что он как то из кубиков состоит. Это сообщение отредактировал(а) Reptor - 2.11.2008, 11:59 Присоединённый файл ( Кол-во скачиваний: 18 )
picture.rar 141,26 Kb |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
Сделать подходящую текстуру, такую которая стыкуется без шва. поиши в гугле как, вот пример : http://chain2k.blogspot.com/ |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Так а почему через полигон так страно рисуется? что можно сделать что б дорога рисовалась нормально? так как линиями всё точно но без заливки а полигоном криво но зато заливка есть.
|
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Странно. Попробуй включить вместо GL_LINES_STRIP - GL_LINES.
По всей видимости порядок перечисления вершин нарушен, при выводе через полигон. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Rickert, в атаче картинка с линиями.
Присоединённый файл ( Кол-во скачиваний: 17 )
lines.jpg 56,03 Kb |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Reptor, всё верно. Тогда остаётся одно: выводить по 2 - 3 вершины от всего кол-ва полгонов: сначала 1 - 3, потом с 3 - 6 и т.д. Смотреть результат, как они соединяются.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Gongex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 1.1.2008 Репутация: -1 Всего: 0 |
я сделал трехмерную квартиру ,аналогию той в которой живу.На опенгл.И знаю как эта твоя местность должна рисоваться.
Вот екзешник хаты:http://unlater.narod.ru/OpenGl.html могу кинуть код.Такая квартира писалась 10 часов непрерывно,я представляю сколько ты будешь делать квартал. Добавлено через 4 минуты и 45 секунд вы лажу пишете что координаты вашего 3Дмира надо вычислять при перемещении.Для этого просто рисуете мир через glTranslatef и потом меняете позицию gluLookAt,и надо прописать перемещение камеры от мышки и от клавы.Все это у меня есть-пример,в коде моей проги 3D_Flat |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Gongex, я описал способы, которые используются при разработке игр. Пусть автор сам оценит какой вариант лучше: вращать мир вокруг себя, или действительно перемещаться в нём.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Gongex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 1.1.2008 Репутация: -1 Всего: 0 |
Rickert,
Думаю лучше перемещаться в мире,я подозреваю что Экшены именно так пишутся. |
|||
|
||||
| sawtooth |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 4.8.2008 Репутация: нет Всего: нет |
Gongex
Реализация непосредственно от предпочтений разработчика. Каждый сам решает, как ему удобнее. Стандартов не существует (и не будет, ибо это процесс созидательно-творческий) |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |