Текущее время: Вс 16 июн 2024 8:04

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 567 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18, 19  След.
Автор Сообщение
 Сообщение Чт 17 май 2012 21:12
Профиль  
Участник
Сообщения: 39
Зарегистрирован: Чт 17 май 2012 8:14
Пардон, все терь работают, я тупанул с настройкой макросов на клаву... и у меня Q и E были P и O

_________________
Вливайтесь в команду по созданию М3!
http://aim-online.gev1.ru/


 Сообщение Чт 17 май 2012 23:28
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Vlad14405 писал(а):
Шаман,Razum,smt005, а что если собраться, и попытаться сделать мехов онлайн?...
так сказать объеденить усилия, и не заниматься одним и тем-же а каждый четко делает по своей части

P.S. программировать не у мею

Ага, давай. Твоя часть писать код а мы тебе сюжет и идеи придумаем.

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Чт 17 май 2012 23:34
Профиль  
Механоид 3 поколения
Аватара пользователя
Сообщения: 490
Откуда: Украина,Донецкая об.
Зарегистрирован: Чт 4 авг 2011 15:54
Шаман
Все работает отлично, фпс 50-60, видюха как Vlad14405
н-видиа gt 450 1гиг, процессор 2 ядра по 3мгц, оперативки 2 гига.


 Сообщение Чт 17 май 2012 23:40
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Всё как у всех, ошибок нет. Единственное, иногда появляется звук такой же когда окно неактивно а на него нажимают.

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Чт 17 май 2012 23:42
Профиль  
Механоид 3 поколения
Аватара пользователя
Сообщения: 490
Откуда: Украина,Донецкая об.
Зарегистрирован: Чт 4 авг 2011 15:54
2 smt005
Поддерживаю :smile:
Та же фигня...


 Сообщение Чт 17 май 2012 23:51
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Шаман, зачет прога, ящитаю! Рябь на вершинах гор не так уж и сильна, я худшего ожидал. Только, может, стоит детализацию не кольцами делать, а квадратами? А то кольца бегут по ландшафту при движении и вызывают рябь, как я понял. Ну, типа, есть некий базовый размер квадрата ландшафта, содержащий для данного уровня детализации столько-то вершин. У него есть несколько уровней детализации, которые переключаются в зависимости от дистанции до камеры. Типа, если квадрат дальше некоего значения, то шаг сетки увеличивается в два, например, раза, если ближе, то уменьшается в два раза, соответственно. Причем, при уменьшении расстояния без переключения ЛОДов вершины сдвигаются к вершинам более детального ЛОДа, при увеличении - соответственно к вершинам и ребрам менее детального. Тогда, в момент переключения ЛОДов, этого заметно не будет. Конечно, при движении будет заметно, что ландшафт меняется, но в таком случае не будет ряби на острых краях.
Как-то так, насколько можно судить, сделано во втором батлфилде, там, если кто не знает, можно и пешком ходить, и на самолете летать, то-есть проблема весьма остро стоит.
На 520, убогой ноутбучной моей карте, ничего не тормозит, фпс в пределах 50-60. Проц - коре и5, 2300-2700 мгц динамически подстраиваемая частота.
Кстати, не очень понятно, откуда вообще проблема с небом. Оно фоном идет, имхо, стоит его рисовать в самом начале отрисовки кадра сразу в буфер, да и все. Заодно никаких лишних трансформаций с ним производить не надо, камера-то у нас как бе всегда в центре скайбокса, ориентировать только правильно, и готово.


 Сообщение Пт 18 май 2012 0:32
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Вадим писал(а):
А может промежуточный вариант: померишь углы, которые соседние треуги составляют друг с другом, если они больше некоторого критического значения, знаменующего переход от "гладко" к "пики гор", то данная группа треугов меняет детализацию с расстоянием по другому, менее крутому закону.
Способ мой простой и дубовый. Отдельные треуги он не рассматривает и не анализирует, и я вообще не только не представляю, как это можно сделать, но и сомневаюсь, что есть неручные методы (а другие для ФПС не годятся).
Вадим писал(а):
Данный эффект заметен особо только когда смотришь на контур горы сбоку, т.е. ниже этой линии земля, выше - небо. Может, имеет смысл подробно отрисовывать именно эти участки вершин хребтов и холмов?
Ящитаю, что все изгибистые участки ландшафта нужно крыть декоративными объектами. Ибо остроконечные треугольные пики в любой реализации будут смотреться убого. В моей они впридачу ещё и червивятся. Ландшафт должен быть гладким, а все локальные неровности пускай окаменяются дополнительными обектами, накладываемыми поверх.
PA3UJIb писал(а):
И как мне тут повернуться параллельно горизонту?
Ребята, сорьте! Я забыл написать про Q-E, поворачивающие камеру набок! :god:
Vlad14405 писал(а):
Попробовал полетать... улыбнуло)
не то что б не симулятор... точнее вообще не симулятор, зато хорошое настроение на оставшуюся часть дня
Это всего лишь испыталовка ландшафта. Новая технология, мнение о которой детально выразил лишь Вадим. :wink:
Valken писал(а):
Кстати, не дошел до озера лавы, но дошел до просто мерцающего параллилепипедами ландшафта.
А скрин можно? Что за неизвестные мне артефакты?! :shock:
smt005 писал(а):
иногда появляется звук такой же когда окно неактивно а на него нажимают
Это я стандартный вендовый звук объюзал - когда брюхом о землю цепляешь. Видимо разогнался и чесанул на подъёме. :smile:
Razum писал(а):
Только, может, стоит детализацию не кольцами делать, а квадратами?
Видимо, мне стоит обрисовать и объяснить мой способ. Чуть позже.
Razum писал(а):
откуда вообще проблема с небом. Оно фоном идет, имхо, стоит его рисовать в самом начале отрисовки кадра сразу в буфер, да и все
Так и есть. Это делают шейдеры RasterSkyBox перед отрисовкой всего остального. На экран накладывается квадрат, и каждому пикселу очищается буффер глубины и даётся цвет фона из скайбокса. Чтобы вычислить направление, которому этот пиксел отвечает, используется инверсная матрица трансформации и нормализованные координаты пиксела. Затем это направление (вектор) используется как тройка координат для скайбокс-текстуры. Артефакты возникают из-за того, что при удалении камеры от центра координат некоторые члены матрицы трансформации начинают зашкаливать и терять точность, соответственно. Направление вычисляется всё менее корректно, и его дискретность становится заметной. Возможно, я тяп-ляпнул с вышеуказанными шейдерами, и артефакта можно избежать, но мне щас не до этого. :smile:

З.Ы.: а зачем все про проц рассказывают? Только от видюхи зависит, пойдёт ли прога.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 1:21
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
2 Шаман Как ты определял что камера контактирует с поверхностью?

И как ты делал плавное движение?

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Пт 18 май 2012 2:57
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Цитата:
З.Ы.: а зачем все про проц рассказывают? Только от видюхи зависит, пойдёт ли прога.

Похоже, что не только от видюхи. Иначе почему у всех с разными видюхами примерно одинаков фпс? По идее, если все круто сделано, он за сотни зашкаливать должен. Или у тебя расчет, скажем так, физики, по фиксированному временному интервалу?
Шаман писал(а):
Это делают шейдеры RasterSkyBox перед отрисовкой всего остального.

Я, конечно, понимаю, что ты фанат шейдеров, но зачем ими скайбокс-то рисовать? Скайбоксы рисовались еще в дошейдерную эпоху стандартными гловскими функциями, может, и тебе стоит так сделать? Типа, например, нарисовать кубик стандартной функцией ГЛя с центром в нуле, заюзав матрицу поворота, построенную на координатах ориентации камеры? Все равно эту матрицу по идее нужно будет вычислять.


 Сообщение Пт 18 май 2012 3:23
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Раскрою карты! Расскажу о моём методе рендера карты в деталях.

Карта высот не рендерится напрямую. Вместо этого рендерится круг вокруг камеры, состящий из полосок треугольников, завёрнутых в кольца. Вот, как он выглядит:
Изображение
Для наглядности примера я взял радиальную детализацию в 10 градусов (т.е. круг разделён на 36 кусков). В проге у меня круг был разделён на 250 кусков.

Похоже на расплющенный глобус, не так ли? :smile:
Если представить, что координатная сетка представляет собой плоскую карту высот в привычном виде, то вот как круг будет выглядеть на ней, если смотреть со стороны:
Изображение
Круг плавно двигается вместе с игроком и не изменяет своей геометрии в горизонтальной плоскости. Однако высота каждой вершины в круге вытягивается из карты высот вершинным шейдером, как цвет из текстуры и подставляется как y координата. Координаты x,z вершины, разделённые на разрешение текстуры превращаются в s,t координаты текстуры карты высот. Какая конкретно мипмапа используется (уровень детализации) - зависит от длин граней, с которыми вершина контачит. Это число заранее просчитывается и хранится в вершинном буффере круга замест неиспользуемой y-координаты. :smile:
Итак, в чём же суперность сего метода? Сперва глянем на ландшафт, отрисованный обычной сеткой:
Изображение
Дело в том, что чем дальше ячейка карты от камеры, тем меньший размер на экране она занимает. В итоге, дальние ячейки, каждая из которых стОит 2-х треугольников, превращаются в 1 сраный коричневый пиксель на экране, в то время как ближние ячейки расфлюстрачиваются на полэкрана. И если мы решим увеличить дальность видимости в 2 раза, то количество треугольников возрастёт в 4 раза, и всё это ради 3хпиксельного прыща на горизонте! Не рационально.
Ну а теперь взглянем, как будет выглядеть геометрия круга, если поставить камеру чуть-чуть выше его центра:
Изображение
О, чудо! Каждая ячейка круга (трапеция), как ближняя, так и дальняя, на экране по ширине одинаковы! Это достигается за счёт того, что дальние ячейки больше ближних по размеру. И при этом каждое кольцо круга содержит одинаковое количество треугольников. Это значит, что при той же радиальной детализации увеличение дальности видимости в 2 раза потребует в 2 раза больше треугов, а не в 4. И постойте-ка, ведь каждое новое кольцо шире по размеру, и значит увеличение кол-ва колец в 2 раза увеличит дальность видимости более чем в 2 раза! :idea:

Теперь поговорим о радиальной детализации. Перспективная проекция, наблюдаемая нами в любой гуле, характеризуется углом обзора. В моей проге он был выставлен в 120 градусов по горизонтали. Если бы радиальная детализация круга была 1 градус, то он состоял бы из 360 полосок, из которых треть была бы в поле зрения. Это значит, что наблюдаемая зона ландшафта рисовалась бы 120ю полосками. На картинке выше видно, что все полоски на экране имеют одинаковую ширину. Это значит, что каждая из них занимает 1/120 часть экрана. При разрешении в 1024 пиксела по ширине это есть около 8ми пикселов. В моей проге полосок было в полтора раза меньше (250), посему каждая полоска рисовала 12пикселевый столбик экрана. :tongue:
В идеале, разумеется, полосок на экране должно быть столько же, сколько пикселей, т.е. 1024, и в сумме это 3072. Нехило так, да? :teeth:

Я думаю, читая это всё, у Вас проскочила мысль: а нафига рисовать те полоски, что сзади и сбоку от наблюдателя? Верно. Но только для случая, когда ландшафт ровный, и камера лежит на земле. А что будет, если посмотреть под ноги? О Боги, я на краешке пропасти!!!

Надеюсь, в общем понятно. Интересный подход, не так ли?

Добавлено спустя 10 минут 18 секунд:

smt005 писал(а):
2 Шаман Как ты определял что камера контактирует с поверхностью?
По карте высот сверялся, Ваш КЭП. :smile: При проваливании в землю камера насильно вытягивалась вверх, и выдавался недовольный бип.
smt005 писал(а):
И как ты делал плавное движение?
Перменная скорости. Если ВПЕРЁД, например, зажата, то к скорости прибавляется столько-то. Если ВПЕРЁД не зажата, скорость умножается на 0.9. Каждый кадр, шо по таймеру фигачит, камера передвигается вперёд на значение скорости.
Там у меня скорости по направлениям разбиты.
Камеру как класс не юзаю - напрямую с модельновидовой матрицей работаю.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 4:26
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Цитата:
Камеру как класс не юзаю - напрямую с модельновидовой матрицей работаю.

Походу,отсюда и косяки с горизонтом.
Способ,в принципе, хороший, и туториал отличный забабахал. Только вот от ползанья ланшафта на вершинах при данном способе никак не избавиться, хотя вблизи я, например, не заметил нифига. Кроме того, предвижу трудности, если будет какая-никакая физика при столкновении объектов с поверхностью. Использовать сам ландшафт нельзя, он меняется от движения камеры, а если ипользовать карту высот, то объекты будут пересекаться постоянно меняющимся ландшафтом. Представьте здание стоит, например, как в мехах, и фундаментом пересекается сландшафтом, да плюс еще и плоскость пересечения почти параллельна ландшафту, который она пересекает. Вот в этом случае ползанье будет очень сильно заметно, причем на любо дистанции.
Короче, имхо, вершины ландшафта лучше все-таки не возить вместе с камерой, а то проблем не оберешься.

Добавлено спустя 8 минут 26 секунд:

Запустил еще раз. Клевый способ, все-таки. Надо придумать, как - то, наверно, все же можно побороть дрожание. Хотя, если поверхности достаточно гладкие, то не заметно. Шаман, добавь что-нибудь плоское, пересекающее твой ландшафт, чтоб можно было позырить, как оно вблизи будет с объектами смотреться.


 Сообщение Пт 18 май 2012 4:58
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Razum писал(а):
Только вот от ползанья ланшафта на вершинах при данном способе никак не избавиться, хотя вблизи я, например, не заметил нифига.
Заметно лишь на гребенчатом ландшафте (есть там одно месть - прыщь гофрированный).
Razum писал(а):
Кроме того, предвижу трудности, если будет какая-никакая физика при столкновении объектов с поверхностью.
Кружок - лишь способ отрисовки ландшафта. Для всех остальных внеэкранных целей используется карта высот.
Razum писал(а):
если ипользовать карту высот, то объекты будут пересекаться постоянно меняющимся ландшафтом
Это и есть ключевая проблема. Однако! В некотором радиусе вблизи камеры рендеримый ландшафт ещё не использует мипмапнутую карту, и при достаточной детализации или определённой плавности изгибов формы артефактное плавание не будет превышать нескольких пикселов.
Razum писал(а):
Представьте здание стоит, например, как в мехах, и фундаментом пересекается сландшафтом, да плюс еще и плоскость пересечения почти параллельна ландшафту, который она пересекает. Вот в этом случае ползанье будет очень сильно заметно, причем на любо дистанции.
Левитирующие здания же, как Лаба Арлей! Левитирующие глайдеры, левитирующие хомячки!!! :god:
Razum писал(а):
Короче, имхо, вершины ландшафта лучше все-таки не возить вместе с камерой, а то проблем не оберешься.
Это автоматически означает нерациональный рендер карты высот напрямую. :tongue:
Razum писал(а):
Шаман, добавь что-нибудь плоское, пересекающее твой ландшафт, чтоб можно было позырить, как оно вблизи будет с объектами смотреться.
Ща попробую...

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 7:43
Профиль  
Участник
Сообщения: 39
Зарегистрирован: Чт 17 май 2012 8:14
Шаман писал(а):
Vlad14405 писал(а):
Попробовал полетать... улыбнуло)
не то что б не симулятор... точнее вообще не симулятор, зато хорошое настроение на оставшуюся часть дня
Это всего лишь испыталовка ландшафта. Новая технология, мнение о которой детально выразил лишь Вадим.

да это не про твой, твой вполне нормальный, там потом еше кто-то свой кидал и я на нем пробовал... а с втоим все пучком, баги есть, но этого не избежать! Жля этого и есть тесты.

_________________
Вливайтесь в команду по созданию М3!
http://aim-online.gev1.ru/


 Сообщение Пт 18 май 2012 8:02
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
По настоянию сенсея-Разума сделал рендер скайбокса по-человечески. Больше небо не дрожит. И накидал на локацию сотню цилиндров. Каждый из них серединой основания должен контачить с рельефом. Если не контачит - это погрешности отрисовки, о которых мы болтаем. :tongue:
Ахтунг: теперь архив весит 11 МБ!!! Оно:
https://sites.google.com/site/shamanlab ... ects=0&d=1
Бидоны идут линиями, очерчивающими и окрещивающими километровую границу одиночного куска карты (1024х1024 метра).

ИМХО, не так уж всё и плохо! Просто не нужно ставить наземные объекты на рельефные участки карты. На пологих склонах гор, а уж тем более на плоскостях, я артефактов не заметил. Ну так а кто ж в таких местах строиться будет?

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 8:29
Профиль  
Механоид 4 поколения
Аватара пользователя
Сообщения: 682
Откуда: Клин
Зарегистрирован: Пт 10 июл 2009 0:04
Цитата:
Не очень - я только крестик вижу

Вот сейчас есть. Видимо глюк сервера у них.

_________________
123


 Сообщение Пт 18 май 2012 8:46
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Format-X22 писал(а):
Вот сейчас есть. Видимо глюк сервера у них.
А!!! Понял, где напортачил. Нвидиевский компиллер более толерантный, чем дубовый ATI. Ругается насчёт файла ApplyLight.frg. Вот его содержимое в поправленном варианте:

ApplyLight.frg писал(а):
uniform sampler2D Texture0;
uniform sampler2D Texture1;
uniform sampler2D Texture2;
uniform sampler2D Texture3;
uniform sampler2DShadow Texture4;
uniform samplerCube Texture5;
uniform sampler2D Texture6;
uniform sampler2D Texture7;
void main(void)
{
vec4 Color = texture2D( Texture0, gl_TexCoord[0].st );
vec4 SpecGloss = texture2D( Texture1, gl_TexCoord[0].st );
vec3 Normal = normalize(texture2D( Texture3, gl_TexCoord[0].st ).xyz);
vec4 PosEye = vec4(gl_TexCoord[0].st * 2.0 - 1.0, texture2D( Texture6, gl_TexCoord[0].st ).r * 2.0 - 1.0, 1.0);
vec4 PosWorld = gl_ModelViewProjectionMatrixInverse * PosEye;
PosWorld = PosWorld/PosWorld.w;
vec4 Pos = gl_ProjectionMatrixInverse * PosEye;
Pos = Pos/Pos.w;
vec3 LightVec = (gl_LightSource[0].position - Pos).xyz;
vec3 LightDir = normalize(LightVec);
vec3 Intensity = gl_LightSource[0].diffuse.rgb / dot(LightVec,LightVec);
float diffuse = max(0.0, dot(Normal,LightDir));
float specular = texture2D(Texture7, vec2( SpecGloss.a, dot( normalize( reflect(Pos.xyz, Normal) ), LightDir) ) ).r;
vec4 PosShad = gl_TextureMatrix[0] * PosWorld;
PosShad = PosShad/abs(PosShad.w) * 0.5 + 0.5;
PosShad.z = PosShad.z-PosEye.z*0.001;
Intensity = Intensity * shadow2D( Texture4, PosShad.xyz ).r;
gl_FragColor = vec4((Color.rgb*diffuse + SpecGloss.rgb*specular)*Intensity, Color.a);
}

_________________
Сообщество креативных механоидов:
aim-fans.ru


Последний раз редактировалось Shaman Пт 18 май 2012 17:42, всего редактировалось 1 раз.

 Сообщение Пт 18 май 2012 10:48
Профиль  
Бывший разработчик
Сообщения: 66
Откуда: Самара
Зарегистрирован: Чт 5 окт 2006 9:45
Собственно вы переизобрели аппаратный рендеринг воксельного ландшафта в экранном пространстве.
Вот пример, которому уже 12 лет:
http://www.flipcode.com/archives/Realti ... tion.shtml
И заметьте, работает без всяких шейдеров.

_________________
Your mind is software. Program it.
Your body is a shell. Change it.
Death is a disease. Cure it.


 Сообщение Пт 18 май 2012 13:47
Профиль  
Механоид 3 поколения
Аватара пользователя
Сообщения: 490
Откуда: Украина,Донецкая об.
Зарегистрирован: Чт 4 авг 2011 15:54
2 Шаман
Я так понимаю карта бесконечная...


 Сообщение Пт 18 май 2012 16:27
Профиль  
Участник
Сообщения: 39
Зарегистрирован: Чт 17 май 2012 8:14
Шаман писал(а):
По настоянию сенсея-Разума сделал рендер скайбокса по-человечески. Больше небо не дрожит. И накидал на локацию сотню цилиндров. Каждый из них серединой основания должен контачить с рельефом. Если не контачит - это погрешности отрисовки, о которых мы болтаем. :tongue:
Ахтунг: теперь архив весит 11 МБ!!! Оно:
https://sites.google.com/site/shamanlab ... ects=0&d=1
Бидоны идут линиями, очерчивающими и окрещивающими километровую границу одиночного куска карты (1024х1024 метра).

ИМХО, не так уж всё и плохо! Просто не нужно ставить наземные объекты на рельефные участки карты. На пологих склонах гор, а уж тем более на плоскостях, я артефактов не заметил. Ну так а кто ж в таких местах строиться будет?


Да, с небом все в порядке... осталось только с пиками гор что-нить придумать и уже вполне можно полетать, к ста они(пики гор) трясутся только в движении, а если крутить камерой и подниматься вверх и опускаться вниз вроде бы не дергаются! по крайней мере мне так кается

Добавлено спустя 2 минуты 28 секунд:

watcover3396 писал(а):
2 Шаман
Я так понимаю карта бесконечная...

знаю что вопрос адресован шаману, если непротив отвечу я:"да карта бесконечная"вроде бы там она генерируется вплоть до бесконечности :roll:

Добавлено спустя 1 час 21 минуту 41 секунду:

P.S. смотрел я на "Бидоны", бликует отлично, да и просто красиво переливается... ну на насчет неровных поверхностей, как писал Шаман на склонах реально никто строиться не будет, вспомним хотя бы мехов вторых, в них базы на ровном месте стоят а не со скалы свисают!


 Сообщение Пт 18 май 2012 18:17
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
SHW писал(а):
Собственно вы переизобрели аппаратный рендеринг воксельного ландшафта в экранном пространстве.
Вот пример, которому уже 12 лет:
http://www.flipcode.com/archives/Realti ... tion.shtml
И заметьте, работает без всяких шейдеров.
Блин, опять велосипед изобрёл?! :mad: Не, но как там оно описано, я не особо вкурил, но выглядит так, что тамошний сенсей каждую вершину процессирует. У меня всё аппаратно (хотя и шейдерами, но не 20й ж век на дворе, что Вы мне это как в вину ставите?!).
watcover3396 писал(а):
Я так понимаю карта бесконечная...
Карта высот бесконечно повторяется, как и текстура на ландшафте. Единичный отрезок километрового размера обрамлён бочками.
Vlad14405 писал(а):
а если крутить камерой и подниматься вверх и опускаться вниз вроде бы не дергаются!
Так и есть. Круг всегда ориентирован одинаково, но двигается за наблюдателем только в горизонтальной плоскости. Только при этом артефакты становятся видны.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 18:28
Профиль  
Бывший разработчик
Сообщения: 66
Откуда: Самара
Зарегистрирован: Чт 5 окт 2006 9:45
Шаман писал(а):
Вы мне это как в вину ставите?!

Да нет, просто хотел показать откуда ноги растут у вашего способа. И может натолкнёт на мысли как его можно улучшить.
Хотя в пределе, скорее всего это должен быть Screen Space шейдер, который будет трассировать ландшафт. Наподобие того же InfiniteDetail.

_________________
Your mind is software. Program it.
Your body is a shell. Change it.
Death is a disease. Cure it.


 Сообщение Пт 18 май 2012 19:20
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
SHW писал(а):
Хотя в пределе, скорее всего это должен быть Screen Space шейдер, который будет трассировать ландшафт.
Это типа как каждый пиксель будет ковырять гигабайт данных карты высот, чтобы найти точку пересечения? ИМХО, ray tracing лучший, но как-то не для интерактивных приложений...

Добавлено спустя 2 минуты 36 секунд:

Даже с предельной оптимизацией - ограничением анализируемой геометрии узкой полосой треугов на одной линии, каждый пиксель будет перелопачивать не одну сотню этих треугов. Это никак и никогда не может быть перспективно.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 19:40
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1260
Откуда: island Syberia
Зарегистрирован: Ср 10 янв 2007 9:14
Цитата:
smt005 чепятал:
В данной версии разрешение экрана 1280 x 1024.

Плин, я надеялся, что встроенными средствами ГЛ научилсо определять максимальный совместимый видеорежим. Я только нашел какой-то мутный, виндовосовский GetMonitorInfo, но как оттуда выбрать наилучший? Только пользователю на выбор можно все выпихнуть из списка.

_________________
_=S.A.L.K.E.R.=_
"Кто кого еще порвет" - сказала Тузику грелка, надутая до 10 атмосфер
"У нас большие леса. Они способны без остатка поглотить любое воинское формирование" (с)


 Сообщение Пт 18 май 2012 20:00
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Это вместо того, чтоб на биледере писать, где все свойства экрана находятся по прямой ссылке
Screen->...
:no:

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 20:10
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1260
Откуда: island Syberia
Зарегистрирован: Ср 10 янв 2007 9:14
smt005 писал(а):
2 PA3UJIb А ты тоже решил делать игру ? :smile:

Смеешься, я решил вспомнить, что я делал. Новый Огр какой-то замороченный. TerrainManager теперь умеет блендить тектуры, причем выборочно; умеет терраморфинг. Реализация теней через RTSS. Надо заново туториалы учить.
Заодно решил плотнее познакомиться с openGL. Причем безо всякого использования glut или glaux. Загрузка текстур через другую либу, это гут. DevIL вроде легче, чем FreeImage. Но последний развивается, а DevIL последний раз в 2009 году обновлялся.

Никак не могу понять, почему glRotate поворачивает модельную ось Y, и не поворачивает оси X или Z.

Добавлено спустя 9 минут 28 секунд:

Шаман писал(а):
Это вместо того, чтоб на биледере писать

MSVC :god:
Blocknote :god:
Command Shell :god:
Хотя самый лучший редактор С++ это Eclipse. Только подружить его с мелкомягким компилером не удалось.

_________________
_=S.A.L.K.E.R.=_
"Кто кого еще порвет" - сказала Тузику грелка, надутая до 10 атмосфер
"У нас большие леса. Они способны без остатка поглотить любое воинское формирование" (с)


 Сообщение Пт 18 май 2012 21:15
Профиль  
МехоВед
Аватара пользователя
Сообщения: 7121
Зарегистрирован: Пн 7 ноя 2005 11:30
2 Шаман
Очень наглядное пояснение твоего способа. :supercool:

Попробовал новую версию проги, с цилиндрами. Нет, это не годится. Говоря "не будем ставить здания на крутые склоны" ты накладываешь ограничения на фантазию дизайнера уровней. Не дело. Мало ли, что может пригодиться. Такой подход неверен, нужно добиться максимальной универсальности.

И небо не дрожит больше. И парралелипипедов меньше стало, вроде. Но все равно после торможения с запредельных скоростей карта отказывается выглядеть нормально.

_________________
Тысячи часов поиска и все впустую.


 Сообщение Пт 18 май 2012 21:27
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Шаман писал(а):
Блин, опять велосипед изобрёл?
Тебе надо изменить звание с "Разработчик идей" на "Разработчик велосипедов".
PA3UJIb писал(а):
Плин, я надеялся, что встроенными средствами ГЛ научилсо определять максимальный совместимый видеорежим.
Это вроде задача API Win32. У меня такое разрешение т.к. у меня монитор с таким разрешением. Режим видеокарты/монитора остаётся обычным а вот форма на которой это всё рисуется может меняться как угодно.
PA3UJIb писал(а):
С++ это Eclipse
Почему? Раскажи в кратце о нём.

Добавлено спустя 3 минуты 27 секунд:

Цитата:
ты накладываешь ограничения на фантазию дизайнера уровней.
Дизайнеры тоже должны считаться с програмерами. Как в одной из статей по искуственному интелекту к игре было написано что-то типа (по смыслу) "делайте так чтобы персонаж никогда не попал в такую ситуацию".

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Пт 18 май 2012 22:35
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Вадим писал(а):
Говоря "не будем ставить здания на крутые склоны" ты накладываешь ограничения на фантазию дизайнера уровней.
С одной стороны, Вадим прав - неуниверсально. Дизайнер не должен бороться с ляпами программера. С другой стороны, хреновость не такая уж и критичная - дизайнер просто может поставить здание на склоне, посмотреть как оно выглядит в игре, и решит передвинуть его на твёрдую землю. И подитожит действие словами "на склоне оно как-то не смотрится".

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 18 май 2012 23:15
Профиль  
МехоВед
Аватара пользователя
Сообщения: 7121
Зарегистрирован: Пн 7 ноя 2005 11:30
Ты пытаешься схалявить.

_________________
Тысячи часов поиска и все впустую.


 Сообщение Пт 18 май 2012 23:20
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Я пытаюсь рационализировать вывод ландшафта. Вот Вам вариант ехешника с радиальной детализацией в 720 разбиений и 700 колец:
https://sites.google.com/site/shamanlab ... ects=0&d=1
Это уже миллион треугов. Дальность видимости - 2800 метров. Лучше, не правда ли?
При моём способе красота картинки зависит лишь от способностей видюхи.

Добавлено спустя 19 секунд:

Интересна статистика по ФПС.

Добавлено спустя 1 минуту 16 секунд:

Кстати, обладателям ATI карт: если компиллятор ругается на один из шейдеров, посмотрите, есть ли в проблемном файле пустые строки. Дубовые АТИвские компилляторы от них с ума сходят.

_________________
Сообщество креативных механоидов:
aim-fans.ru


Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 567 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18, 19  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB