[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 4«1234»
Форум Panda3D - по русски » Panda3D » Общие вопросы » TextureStage и Terrain (наложение текстур по слоям.)
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
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
На самом деле в общем случае не важно DX или OpenGL. Шейдеры - инструкции для видеокарты и работают они с примитивами, находящимися в памяти карточки никак не связанными с конкретным графическим API. А Cg изначально и задумывалось с целью переносимости.
Другое дело, что поддержка DX пандой на данный момент действительно ограничена и инструкции шейдера просто не будут переданы в карточку.

Quote (DrEmerido)
Какие существуют техники запаковки карты в один файл?

Панда поддерживает работу с виртуальной файловой системой - любая файловая структура упаковывается в файл vfs, затем подгружается в панде и дальше из неё можно выдёргивать нужные данные.
 
serg-kkzДата: Среда, 18.05.2011, 17:52 | Сообщение # 18
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: Offline
Quote (ninth)
Шейдеры - инструкции для видеокарты и работают они с примитивами, находящимися в памяти карточки никак не связанными с конкретным графическим API.

Но кто их передаст карте, а потом отобразить во всей красе?
З.Ы. можно не отвечать.


ООП  -  
 
DrEmeridoДата: Среда, 18.05.2011, 18:08 | Сообщение # 19
Рядовой
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Вопрос решен.
Тему можно закрывать.
 
serg-kkzДата: Среда, 18.05.2011, 18:12 | Сообщение # 20
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: Offline
Шейдером?

ООП  -  
 
DrEmeridoДата: Среда, 18.05.2011, 18:18 | Сообщение # 21
Рядовой
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
У тебя есть предложение получше?
 
serg-kkzДата: Среда, 18.05.2011, 18:20 | Сообщение # 22
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: Offline
неа, я думал ты его нашёл.

ООП  -  
 
serg-kkzДата: Воскресенье, 17.08.2014, 15:31 | Сообщение # 23
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: Offline
Цитата ninth ()
default_d.png - Маска. Для экономии ресурсов используются все 4 канала (RGBA) - каждый в качестве самостоятельной маски. По ним накладываются текстуры деталировки: grayRock.png hardDirt.png bigRockFace.png shortGrass.png
Не пойму как это работает, как её скажем править в фотошопе. Хочу сделать автоматическую генерацию слоев на определенной высоте, так же возможность доработки кистью прям в панде. Пробовал рисовать синим, красным, зеленым, это только текстуру травы добавляет с оттенками.


ООП  -  
 
ninthДата: Понедельник, 18.08.2014, 00:44 | Сообщение # 24
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
Цитата serg-kkz ()
это только текстуру травы добавляет с оттенками

Это потому что ты именно рисуешь цветом, а значит одновременно вносишь изменения как минимум (если цвет чистый) в два канала - в соответствующий цвет и в альфа-канал, а альфа собственно в шейдере за траву и отвечает.
Если ты хочешь получить конкретную текстуру, то на нужном месте требуется в соответствующем канале значение поставить в 1, а во всех остальных - в 0.

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

З.Ы.
Тот пример что я выкладывал уже не качается, взял то, что валялось у меня на диске. Посмотри, там в шейдере есть строка o_color = o_color + tex2D(tex_5, l_texcoord0.xy) - 0.5; ? Если есть, то можно закомментировать, она в принципе не нужна для этого демо - искажает ожидаемый цвет.

Прикрепления: 0071581.jpg(99Kb)
 
serg-kkzДата: Среда, 20.08.2014, 03:09 | Сообщение # 25
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: Offline
Похоже канал b, в этом примере косячный... выводит просто серый цвет(полигонов). А должен текстурку bigRockFace. Это даже видно на твоем скрине, серый свет в некоторых местах.

ООП  -  

Сообщение отредактировал serg-kkz - Среда, 20.08.2014, 03:09
 
serg-kkzДата: Среда, 20.08.2014, 03:40 | Сообщение # 26
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: 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
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: Offline
Вот что получилось на данный момент.

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

Прикрепления: 8681192.jpg(93Kb)


ООП  -  

Сообщение отредактировал serg-kkz - Среда, 20.08.2014, 15:51
 
ninthДата: Среда, 20.08.2014, 21:41 | Сообщение # 28
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
А саму текстуру-маску ты чем генерируешь?
 
serg-kkzДата: Среда, 20.08.2014, 22:05 | Сообщение # 29
Генерал-лейтенант
Группа: Модераторы
Сообщений: 690
Награды: 3
Репутация: 16
Статус: Offline
Цитата ninth ()
А саму текстуру-маску ты чем генерируешь?

Ну, как чем... есть одна замечательная библиотека PIL


ООП  -  
 
ninthДата: Четверг, 21.08.2014, 11:00 | Сообщение # 30
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
PIL то я знаю, просто вариантов помимо него ещё есть, хотя более геморные )
Да с PIL вполне можно сгенерить с учётом вертикальности стенок.
 
Форум Panda3D - по русски » Panda3D » Общие вопросы » TextureStage и Terrain (наложение текстур по слоям.)
Страница 2 из 4«1234»
Поиск: