Снова Ландшафт

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 25.08.2006 (Пт) 8:43

DirectXManiac
Это обозначает просто Single32, там в начале записан размер массива, дальше данные. Думаю имеет смысл разобраться с каким-нибудь простым стандартным форматом и в дальнейшем им пользоваться (может RAW?).

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.08.2006 (Пт) 15:15

Mikle
RAW, а bmp и jpg можно с картинки данные брать!
Picture1.Point(x,z) например и через Greyscale... Кстати хотел спросить а что если использовать не TGA8bit greyscale а просто TGA 8bit и пропускать получаемый цвет через GreyScale... Как думаешь выйдет?
#define ROFL 0xDDDD

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 25.08.2006 (Пт) 16:01

после перевода в грей скаил даже 32х битный рисунок станет 255 цветным
да и в TGA 8bit больше 255 цветов не будет (вроде)

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 25.08.2006 (Пт) 16:42

DirectXManiac
В палитровом режиме тоже можно взять 256 градаций, в 24битном RGB режиме теоретически можно взять 24 бита - это больше, чем достаточно, но это не наглядно, как GrayScale, когда мы видим карту высот в любом просмотрщике.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.08.2006 (Пт) 19:02

Bonesnapper
Но если не стоит GreyScale тогда ландшафт не правильно строиться!
Mikle
Я так понял что я прав! :? А что там с RAW?
#define ROFL 0xDDDD

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 25.08.2006 (Пт) 23:14

как я понимаю raw это 12 битный грей скаил (400 оттенков) :?:

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 26.08.2006 (Сб) 8:50

Bonesnapper
12 бит - это 4096 оттенков, уже нормально.
У кого-нибудь есть его описание?

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 26.08.2006 (Сб) 11:34

ну да я имел ввиду 4000 оттенков нолик просто забыл
на счет описания я немного поискал его в нете но чета так и не нашел :?

vitalik_b
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 16.02.2006 (Чт) 21:03

Сообщение vitalik_b » 26.08.2006 (Сб) 13:23

Вот описание формата RAW, правда на Английском.
http://www.wotsit.org/download.asp?f=raw

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 29.08.2006 (Вт) 13:51

Вот вариант на пиксельном шейдере 1.4, можно наложить пять текстур, шастая используется в качестве карты текстурирования. Первые пять текстур используют одинаковые текстурные координаты, все равно, смотрю, все используют одинаковый TexScale, так вертексный шейдер быстрее работает. У маски свой масштаб. Там, где в маске есть красный цвет - накладывается Tex1, где зеленый - Tex2, синий - Tex3, альфа - Tex4. Где ничего нет - Tex0. Все переходы плавные, корректные.
У вас нет доступа для просмотра вложений в этом сообщении.

vitalik_b
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 16.02.2006 (Чт) 21:03

Сообщение vitalik_b » 29.08.2006 (Вт) 14:32

круто!!!

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 29.08.2006 (Вт) 16:21

Mikle
Круто! А как быть если шейдеры не поддерживаються! Давай-те думать над этим... Сейчас не мало таких людей! Mikle что если попробовать тот способ который я предложил только blendом смазать переходы? Попробуешь? А то я немогу разобраться никак с tu,tv... Текстура повторяеться незнаю как выбрать координаты. Не подскажешь?
#define ROFL 0xDDDD

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 30.08.2006 (Ср) 8:34

DirectXManiac
Уточни свой способ "только blendом смазать переходы".
Без использования PS 1.4 можно смешивать не пять, а три текстуры, вообще без шейдеров - только две, и то с ограничениями. То есть можно, конечно смешать и большее кол-во с помощью обычных ColorOp и ColorArg, но работать это будет только на шейдерных картах.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 30.08.2006 (Ср) 11:18

Mikle
Помнишь я рассказывал по ЛС как сделать! Создать текстурный атлас и выбираться нужную текстуру по текстурным координатам... Но засада получаеться с ними... Текстура повторяеться... как быть? Думаю можно обойтись без шейдера! (vs)!
Вот я спрашивал: http://www.gamedev.ru/code/forum/?id=53503
#define ROFL 0xDDDD

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 30.08.2006 (Ср) 12:42

может быть лучше (как предложил один человек на Гемдев)
сделать как бы перекрытие одного куска ландшафта (с 1 текстурой)
другим и крайние вертексы слделать с альфой 50%
главное алгоритм сделать чтоб все правильно рисовалось
я уже предлагал такой способ правда алгоритм я так и не сделал нормальный :)
У вас нет доступа для просмотра вложений в этом сообщении.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 30.08.2006 (Ср) 13:03

Вот я чуть-чуть доработал, можно применять от одной до пяти текстур (плюс маска). При одной текстуре маска, естественно, не нужна. При 1-3 текстурах работает PS 1.1, выше - PS 1.4.
Добавьте сюда текстуры из предыдущего примера.
У вас нет доступа для просмотра вложений в этом сообщении.

vitalik_b
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 16.02.2006 (Чт) 21:03

Сообщение vitalik_b » 30.08.2006 (Ср) 13:06

Лучше всего ландшафт будет смотреться, если его сделать
например, как в warcraft'е. Там текстурные переходы сделаны
не линейной интерполяцией, а нарисованы вручную.

Самое трудное - это настроить координаты текстур для
каждой вершины. И такой способ будет несовместим
с Qtree, и другими алгоритмами оптимизации.
Последний раз редактировалось vitalik_b 30.08.2006 (Ср) 13:21, всего редактировалось 1 раз.

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 30.08.2006 (Ср) 13:19

все зависит зачем нужен ланд
если для стратегии то конечно красивие
но для шутера наверно этот ланд не подойдет по скорости
наверно :)

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 30.08.2006 (Ср) 13:25

vitalik_b
Плавность переходов можно задавать в маске. Рисуешь в фотошопе более размытую линию - и переход плавнее. А если сделать размер маски побольше, например 1024*1024, то можно будет делать очень четкие переходы.
Но в любом случае это только образец, например, если понадобится где-то Detail текстура - шейдеры придется переписать.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 30.08.2006 (Ср) 19:28

Mikle
Если уже есть четыре текстуры:
1. Песок
2. Трава
3. Горы
4. Тропинки
тогда конечно детадизированая текстура нужна! Но ведь она делаеться просто: add_sat dest,src1,src2_bias
или я не прав?
#define ROFL 0xDDDD

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 31.08.2006 (Чт) 10:26

DirectXManiac
Правильно то правильно, можно add_sat, можно mul_x2, можно add_2x_sat. Но это одна детайл текстура на все основные. Плюс еще вертексный шейдер нужно будет доделать.
На счет твоего способа - vitalik_b правильно написал, любой метод выбора текстуры на вертексном шейдере будет несовместим с OcTree и QTree.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 31.08.2006 (Чт) 12:34

Mikle
Жаль конечно! А как там QTree продвигаеться? ЛОДы поправил уже?
#define ROFL 0xDDDD

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 21.02.2007 (Ср) 16:10

Таки добился я мультитекстурирования без шейдеров. Огромный минус - это то, что сколько текстур - сколько проходов. Да ещё и незнаю чколько максимально текстур можно. Зато такой способ пойдет налюбом ландшафте и на любой карте! :) Если оптимизировать ландшафт, Mikle, я про ЛОДы и QTree. И добиться скорости 400 FPS. Довольно неплохой выигрыш, тогда можно использовать!
#define ROFL 0xDDDD

Пред.

Вернуться в Мультимедиа

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

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

    TopList