На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
Страницы: (7) 1 2 [3] 4 5 ... Последняя » все  ( Перейти к последнему сообщению )  
> Бесконечный ландшафт. Самолёт. Уже можно полетать. , Построение ландшафта при помощи чтения текстуры в вертексном шейдере.
    Улучшил снег. Перезаливать всю демку не буду, поменял только пиксельный шейдер.
    Запустите компилятор шейдеров SC.exe, откройте Land.psh, замените код на такой:
    ExpandedWrap disabled
      ps_3_0
       
      dcl_texcoord0 v0.xy //fog
      dcl_texcoord1 v1.xy //map
      dcl_texcoord2 v2.xy //tex
      dcl_color0 v3
      dcl_color1 v4
       
      dcl_2d s0 //fog
      dcl_2d s1 //ground
      dcl_2d s2 //grass
      dcl_2d s3 //detail
      dcl_2d s4 //snow
       
      def c0, 2.5, -4, 0, 1
       
      texld r0, v0, s0
      texld r1, v2, s1
      texld r2, v2, s2
      texld r3, v1, s3
      texld r4, v2, s4
       
      mad r0.a, v4.b, c0.r, r3.a
      mad r0.a, r0.a, c0.r, c0.g
      max r0.a, r0.a, c0.b
      min r0.a, r0.a, c0.a
       
      mul r1, r1, r3.a
      mad r4, r4, r3.g, r3.a
      mul r2, r2, r3
      lrp r2, v4.g, r2, r1
      lrp r4, r0.a, r4, r2
      mul r1, r4, v3
       
      lrp r2, v3.a, r0, r1
      mov oC0, r2

    и не забудьте нажать кнопку "Compile Asm".
    Теперь запускайте демку.
      Белее и плотнее он конечно стал, но почему-то с не солнечной стороны его меньше и он там серее. А уж когда на вершинах гор во впадинках он желтоватый, то тут вообще вопросы... :crazy:
        Сделал фильтр, выравнивающий снег. Теперь снег заполняет впадины, сглаживая неровности.
        Обновление: https://yadi.sk/d/n2npm16NcwmLy

        Кликабельно:
        user posted image
          Полигончиков бы ландшафту побольше. Адаптивная тесселяция могла бы помочь. Снег не похож на снег, нужен какой-то более реалистичный шейдер, с отражениями.. И текстура травы маловата, очень хорошо заметна повторяемость. В остальном, все лучше и лучше :)
            Тесселляция, к сожалению, на DX9 недоступна.
            На счёт снега и травы согласен, тут ещё ищу.
              Поправил. В основном - туман и распределение травы, немного снег. Перезалил по той же ссылке.
                Распределение травы довольно странное. У тебя по карте высот есть целая область низких холмиков, которая полностью закрашена одной текстурой травы
                Прикреплённая картинка
                Прикреплённая картинка


                Ну, и опять же -- регулярность текстуры как прослеживалась, так и прослеживается. Думаю, стоит, во-первых, выбрать другую текстуру, а во-вторых, попробовать и её как-нибудь разнообразить, и смешивать между собой несколько слоев травы в таких холмистых местах. Не помешали бы, например, какие-нибудь полевые цветы.
                  Очень не хочется ещё одну текстуру вводить, пытаюсь сохранить быстродействие. Сейчас я пытаюсь разнообразить зелёнку с помощью detail.png - в этой текстуре отдельные каналы являются макро-картами для других текстур. Попробую ещё саму текстуру травы поменять или отредактировать.
                    Теперь можно полетать на самолёте!
                    Зачатки физики: https://yadi.sk/d/h5brnYjKdkPji
                    Кому в леталках не нравится инверсия - клавиша "I" её включает-выключает.
                    Пока без коллизий, закрылки на аэродинамику не влияют.
                      Теперь самолёт затеняется горами, сам на ландшафт тоже отбрасывает тень: https://yadi.sk/d/h5brnYjKdkPji
                      Доработал камеру, теперь вращение тоже с инерцией.
                      Приступаю к коллизиям.
                        Управление очень неудобное. Все-таки, полет должен вестись мышью или джойстиком, а не клавиатурой. Касаемо ландшафта, ничего особо не изменилось..
                          Цитата B.V. @
                          полет должен вестись мышью или джойстиком

                          На счёт джойстика согласен, просто у меня его нет, а время поджимает.
                          На счёт мыши категорически не согласен. Тут либо мы даём полную свободу выбирать направление мышью, тогда становится удобно, но напрочь теряется физичность, либо управляем мышью не самим самолётом, а элеронами и рулями, с их ограничениями на скорость перемещения и максимальный угол, тогда получаем крайне неприятное по ощущениям и неочевидное управление. Я уже такое пробовал, ничего хорошего не вышло, так же ничего хорошего я не видел с таким управлением в других играх.
                          В космической демке FS у меня было управление поворотом мышью, это было удобно потому, что там совершенно другая физика, полное отсутствие момента инерции. Для самолёта это не годится.
                          Цитата B.V. @
                          Касаемо ландшафта, ничего особо не изменилось.

                          Я просто устал возиться с текстурами, да и времени не много, переключился на другое. Позже вернусь.
                            Да, в более-менее физичных вариантах управления мышью самолёт обычно очень быстро теряет управление и втыкается в землю.
                            Правда можно привязать положение элеронов и руля высоты не к положению мыши, что напрашивается, а к скорости её движения. Так управлять становится намного удобнее. Клавиши клавиатуры, будучи нажаты, просто переводят элероны/рули в некое фиксированное положение

                            Ведь при использовании в стрелялках, например, наклоном джойстика мы задаём перемещение прицела, а при управлении мышью двигаем прицелом непосредственно.
                              С аварией я решил просто. Любое касание земли НЕ шасси считается аварией, далее - секундное кувыркание по земле и перезапуск.
                              С утра на свежую голову доделал взлёт-посадку, специально для тренировок выровнял часть ландшафта, позже нарисую аэродром.
                              Закрылки работают (Home-End), пробел включает-выключает двигатель. Физика стала ровнее и, наверное, проще.
                              Можно оценить: https://yadi.sk/d/h5brnYjKdkPji
                              Жду комментарии.
                                Цитата Mikle @
                                Жду комментарии.
                                Никогда не играл в авиасимуляторы, но... :
                                1.Летать довольно быстро научился. Довольно понятно и легко.
                                2.Очень ждём воду (реки, озёра), песок и т.д. Пейзаж слишком однообразен. :yes-sad:
                                3.Когда внизу видна крохотная тень, то это вообще не физично. Надо как-то размывать и, как следствие, вдалеке вообще не показывать.
                                4.Неплохой была бы струя из сопла (можно и отключать кому не нравится). Пока - летит непонятно на чём - пропеллеров то не видно. Да и это был бы показатель включенности двигателя что ли. Пока - угадайка.
                                5.Нелохо бы переключать ракурс на "поближе". А то слишком далеко кажется судно своё.
                                6.Какая-то парочка-тройка автоботов-самолётов, летающих недалеко, внесли бы интерес! Можно было бы погоняться за ними или поубегать. ;)
                                7.На какой-то высоте можно и убирать шасси. Если планер допускает сие.
                                Вот. :good: Здóрово!
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0542 ]   [ 19 queries used ]   [ Generated: 30.04.24, 18:24 GMT ]