TextureStage и Terrain
|
|
DrEmerido | Дата: Вторник, 17.05.2011, 23:47 | Сообщение # 16 |
Рядовой
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
| Хорошо хорошо. Я новичок во всем что связано с 3D, иначе меня бы не было на этом форуме =)Добавлено (17.05.2011, 23:47) --------------------------------------------- Еще один небольшой вопрос. Уверен другим он тоже будет полезен. Какие существуют техники запаковки карты в один файл? Просто записывается содержимое файлов изображений, или существуют более элегантные способы?
|
|
| |
ninth | Дата: Среда, 18.05.2011, 11:50 | Сообщение # 17 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| На самом деле в общем случае не важно DX или OpenGL. Шейдеры - инструкции для видеокарты и работают они с примитивами, находящимися в памяти карточки никак не связанными с конкретным графическим API. А Cg изначально и задумывалось с целью переносимости. Другое дело, что поддержка DX пандой на данный момент действительно ограничена и инструкции шейдера просто не будут переданы в карточку. Quote (DrEmerido) Какие существуют техники запаковки карты в один файл? Панда поддерживает работу с виртуальной файловой системой - любая файловая структура упаковывается в файл vfs, затем подгружается в панде и дальше из неё можно выдёргивать нужные данные.
|
|
| |
serg-kkz | Дата: Среда, 18.05.2011, 17:52 | Сообщение # 18 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Quote (ninth) Шейдеры - инструкции для видеокарты и работают они с примитивами, находящимися в памяти карточки никак не связанными с конкретным графическим API. Но кто их передаст карте, а потом отобразить во всей красе? З.Ы. можно не отвечать.
ООП -
|
|
| |
DrEmerido | Дата: Среда, 18.05.2011, 18:08 | Сообщение # 19 |
Рядовой
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
| Вопрос решен. Тему можно закрывать.
|
|
| |
serg-kkz | Дата: Среда, 18.05.2011, 18:12 | Сообщение # 20 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Шейдером?
ООП -
|
|
| |
DrEmerido | Дата: Среда, 18.05.2011, 18:18 | Сообщение # 21 |
Рядовой
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
| У тебя есть предложение получше?
|
|
| |
serg-kkz | Дата: Среда, 18.05.2011, 18:20 | Сообщение # 22 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| неа, я думал ты его нашёл.
ООП -
|
|
| |
serg-kkz | Дата: Воскресенье, 17.08.2014, 15:31 | Сообщение # 23 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Цитата ninth ( ) default_d.png - Маска. Для экономии ресурсов используются все 4 канала (RGBA) - каждый в качестве самостоятельной маски. По ним накладываются текстуры деталировки: grayRock.png hardDirt.png bigRockFace.png shortGrass.png Не пойму как это работает, как её скажем править в фотошопе. Хочу сделать автоматическую генерацию слоев на определенной высоте, так же возможность доработки кистью прям в панде. Пробовал рисовать синим, красным, зеленым, это только текстуру травы добавляет с оттенками.
ООП -
|
|
| |
ninth | Дата: Понедельник, 18.08.2014, 00:44 | Сообщение # 24 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Цитата serg-kkz ( ) это только текстуру травы добавляет с оттенками Это потому что ты именно рисуешь цветом, а значит одновременно вносишь изменения как минимум (если цвет чистый) в два канала - в соответствующий цвет и в альфа-канал, а альфа собственно в шейдере за траву и отвечает. Если ты хочешь получить конкретную текстуру, то на нужном месте требуется в соответствующем канале значение поставить в 1, а во всех остальных - в 0.
В гимпе использую возможность разобрать картинку на отдельные каналы, редактирую нужный канал и собираю обратно. В фотошопе тоже что-то подобное должно быть, я с ним уже давным давно не работал, но большинство функций у них сходны.
З.Ы. Тот пример что я выкладывал уже не качается, взял то, что валялось у меня на диске. Посмотри, там в шейдере есть строка o_color = o_color + tex2D(tex_5, l_texcoord0.xy) - 0.5; ? Если есть, то можно закомментировать, она в принципе не нужна для этого демо - искажает ожидаемый цвет.
|
|
| |
serg-kkz | Дата: Среда, 20.08.2014, 03:09 | Сообщение # 25 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Похоже канал b, в этом примере косячный... выводит просто серый цвет(полигонов). А должен текстурку bigRockFace. Это даже видно на твоем скрине, серый свет в некоторых местах.
ООП -
Сообщение отредактировал serg-kkz - Среда, 20.08.2014, 03:09 |
|
| |
serg-kkz | Дата: Среда, 20.08.2014, 03:40 | Сообщение # 26 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Исправил
//detail texture coordinates scaled, we must get the correct scale fator to make terrain look like in EarthSculptor l_detail1 = vtx_texcoord0 * 9.3; //27.365000 in EarthSculptor l_detail2 = vtx_texcoord0 * 12.8; //20.000000 in EarthSculptor l_detail2 = vtx_texcoord0 * 7.9; //32.340000 in EarthSculptor l_detail4 = vtx_texcoord0 * 11.5; //22.389999 in EarthSculptor
На
l_detail3 = vtx_texcoord0 * 7.9; //32.340000 in EarthSculptor
И все встало на свои места.
ООП -
Сообщение отредактировал serg-kkz - Среда, 20.08.2014, 03:40 |
|
| |
serg-kkz | Дата: Среда, 20.08.2014, 15:50 | Сообщение # 27 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Вот что получилось на данный момент.
Думаю генерацию слоя скал нужно привязать к ориентации полигонов, а именно генерировать на более или менее на отвесных. Тогда будет смотреться живее. И еще нужно будет научиться генерировать карты теней.
ООП -
Сообщение отредактировал serg-kkz - Среда, 20.08.2014, 15:51 |
|
| |
ninth | Дата: Среда, 20.08.2014, 21:41 | Сообщение # 28 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| А саму текстуру-маску ты чем генерируешь?
|
|
| |
serg-kkz | Дата: Среда, 20.08.2014, 22:05 | Сообщение # 29 |
Генерал-полковник
Группа: Модераторы
Сообщений: 803
Награды: 3
Репутация: 18
Статус: Offline
| Цитата ninth ( ) А саму текстуру-маску ты чем генерируешь? Ну, как чем... есть одна замечательная библиотека PIL
ООП -
|
|
| |
ninth | Дата: Четверг, 21.08.2014, 11:00 | Сообщение # 30 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| PIL то я знаю, просто вариантов помимо него ещё есть, хотя более геморные ) Да с PIL вполне можно сгенерить с учётом вертикальности стенок.
|
|
| |