Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Теневые карты
#8
Цитата:Как вообще реалистичный ландшафт в играх делается? Не загружают же огромную текстуру, это ж сколько К нужно. Скорее всего маленькая разноцветная, и цвета заменяют на готовые текстуры и просто устанавливают тайловость и детализацию. Ну и карта высот тоже наверное есть. Из неё то и получают геометрию.
Шейдер с неск. слоями повторяющихся текстур, а как их смешивать - есть много способов. Triplanar mapping для простых случаев, либо да, из разноцветного splatmap'а считывать индекс текстуры/интерполянт в данной точке. Я в своем движке интерполирую между 4 текстурами в зависимости от 4 каналов splatmap. Видел и более сложные варианты с большим набором тайлов по принципу мегатекстуры, но подробно не изучал.

Цитата:Кстати возвращаясь к теме вопроса. Я не понимаю что нужно делать с bumpshader, его просто создать нужно функцией и как-то назвать? Зачем тогда это делать.
Я думал, у тебя он уже создается)

Делается примерно так:
Код:
[== Неизвестный ==]
MaterialCreate('mDiffuse', 'diffuse.png');
MaterialCreate('mNormal', 'normal.png');
bumpShader = BumpShaderCreate();
BumpShaderSetDiffuseTexture(bumpShader, 'mDiffuse');
BumpShaderSetNormalTexture(bumpShader, 'mNormal');
BumpShaderSetMaxLights(bumpShader, 8);

MaterialCreate('mShader', '');
MaterialSetShininess('mShader', 32);
MaterialSetAmbientColor('mShader', c_dkgray, 1);
MaterialSetDiffuseColor('mShader', c_white, 1);
MaterialSetSpecularColor('mShader', c_white, 1);
MaterialSetShader('mShader', bumpShader);
Ответ


Сообщения в этой теме

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)