Шейдер для смешивания текструр террейна

Шейдеры и все-все-все.

Шейдер для смешивания текструр террейна

Сообщение WebWolf 10 май 2012, 16:45

Привет всем. Нужно подправить шейдер. Взял его отсюда:
http://blenderartists.org/forum/showthr ... le-quality
Я вообще не разбираюсь в шейдерах, но может кто нибудь его сможет допилить, что бы он был без нормал мепа и заточен был под мобилы. Потому что сейчас заметны некоторые артефакты, какое то поблескивание на террейне как будто он мокрый (террейн ввиде меша). :-? А так же какие то ошибки в шейдере.
Или может кто уже находил что то похожее что бы можно было текстурить по цвету.
Изображение
WTF? _WolfGames3D.com / Все в Tanks Heroes Вконтакте!
Аватара пользователя
WebWolf
Старожил
 
Сообщения: 532
Зарегистрирован: 19 дек 2009, 15:49
Откуда: Russian Federation
  • Сайт
  • ICQ

Re: Шейдер для смешивания текструр террейна

Сообщение magoga 11 май 2012, 21:01

а тебе всякие вещи типа спекуляра и пр. нужен? или только диффуз и смешивание?

если только диффуз то вот:
хотя я бы не советовал подобными шейдерами на мобилках пользоваться
ибо как их не оптимизируй все равно жрут много )))

Синтаксис:
Используется glsl

Shader "Custom/4textureBlend"
{
        Properties
        {
                _BlendTex ("Blend (RGB)", 2D) = "white" {} // маска
                _1Tex ("Blend (ZERO)", 2D) = "white" {}
                _2Tex ("Blend (R)", 2D) = "white" {}
                _3Tex ("Blend (G)", 2D) = "white" {}
                _4Tex ("Blend (B)", 2D) = "white" {}
                _MainTex ("Fallback For GLES1", 2D) = "white" {} //  для мобилок с Gles < 2.0
        }
       
        SubShader
        {
                Tags { "RenderType"="Opaque" }
                LOD 200
               
                CGPROGRAM
                #pragma surface surf Lambert noforwardadd

                sampler2D _BlendTex, _1Tex, _2Tex, _3Tex, _4Tex;

                struct Input
                {
                        fixed2 uv_BlendTex;
                        fixed2 uv_1Tex;
                        fixed2 uv_2Tex;
                        fixed2 uv_3Tex;
                        fixed2 uv_4Tex;
                };

                void surf (Input IN, inout SurfaceOutput o)
                {
                        fixed3 _BT = tex2D (_BlendTex, IN.uv_BlendTex).rgb ;
                        fixed3 _1T = tex2D (_1Tex, IN.uv_1Tex).rgb;
                        fixed3 _2T = tex2D (_2Tex, IN.uv_2Tex).rgb;
                        fixed3 _3T = tex2D (_3Tex, IN.uv_3Tex).rgb;
                        fixed3 _4T = tex2D (_4Tex, IN.uv_4Tex).rgb;
                       
                        fixed Z = 1 - (_BT.r + _BT.g + _BT.b); // вычисляем черный цвет
                       
                        fixed3 c =
                        _1T * Z
                        + _2T * _BT.r
                        + _3T * _BT.g
                        + _4T * _BT.b;
                        o.Albedo = c;
                        o.Alpha = 1;
                }
                ENDCG
        }
       
Fallback "Mobile/VertexLit" //  для мобилок с Gles < 2.0
}


 
Аватара пользователя
magoga
UNIт
 
Сообщения: 98
Зарегистрирован: 22 мар 2010, 21:08

Re: Шейдер для смешивания текструр террейна

Сообщение WebWolf 11 май 2012, 22:06

magoga писал(а):а тебе всякие вещи типа спекуляра и пр. нужен? или только диффуз и смешивание?

если только диффуз то вот:
хотя я бы не советовал подобными шейдерами на мобилках пользоваться
ибо как их не оптимизируй все равно жрут много )))


А что лучше просто юнитевский террейн?
WTF? _WolfGames3D.com / Все в Tanks Heroes Вконтакте!
Аватара пользователя
WebWolf
Старожил
 
Сообщения: 532
Зарегистрирован: 19 дек 2009, 15:49
Откуда: Russian Federation
  • Сайт
  • ICQ

Re: Шейдер для смешивания текструр террейна

Сообщение seaman 11 май 2012, 22:26

На мобилах террайна нет.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Шейдер для смешивания текструр террейна

Сообщение Zaicheg 11 май 2012, 22:45

seaman писал(а):На мобилах террайна нет.

С недавних пор есть.
http://unity3d.com/support/documentatio ... rains.html
iOS:
"Due to performance hit, Terrain Engine usage is discouraged on pre-ipad2 devices"
Android:
"Due to performance hit, Terrain Engine usage is discouraged on non high-end devices."
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Шейдер для смешивания текструр террейна

Сообщение seaman 11 май 2012, 23:10

Опаньки. Отстал от жизни. Извините за дезинформацию.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Шейдер для смешивания текструр террейна

Сообщение magoga 12 май 2012, 02:58

а толку-то если он только на hi-end девайсах, а на всем остальном можно будет мерить не FPS(FramesPerSecond) а FPM(FramesPerMinut) :))
грубо говоря это платформы с тегрой третьей, а их меньшинство сейчас и им подобные.
да и вообще после трех с половиной лет работы с юнити усвоил для себя урок, что не стоит юзать их террайн
может быть они когда-нибудь его приведут в порядок, но на мой взгляд на данный момент это нажористый тормозной кусок г***** )))
Аватара пользователя
magoga
UNIт
 
Сообщения: 98
Зарегистрирован: 22 мар 2010, 21:08

Re: Шейдер для смешивания текструр террейна

Сообщение gnoblin 13 май 2012, 23:03

magoga писал(а):а толку-то если он только на hi-end девайсах, а на всем остальном можно будет мерить не FPS(FramesPerSecond) а FPM(FramesPerMinut) :))
грубо говоря это платформы с тегрой третьей, а их меньшинство сейчас и им подобные.
да и вообще после трех с половиной лет работы с юнити усвоил для себя урок, что не стоит юзать их террайн
может быть они когда-нибудь его приведут в порядок, но на мой взгляд на данный момент это нажористый тормозной кусок г***** )))

а можно глянуть на успехи за 3.5 года работы с юнити? :D
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Шейдер для смешивания текструр террейна

Сообщение Battle Angel Alita 13 май 2012, 23:11

Кстати, чому бы не написать свой террайн, с маджонгом и гейшами?
Мозг рака
Изображение
Аватара пользователя
Battle Angel Alita
UNIверсал
 
Сообщения: 476
Зарегистрирован: 25 ноя 2009, 14:52

Re: Шейдер для смешивания текструр террейна

Сообщение magoga 14 май 2012, 12:31

gnoblin писал(а):а можно глянуть на успехи за 3.5 года работы с юнити? :D


отвечу в личку чтоб не флудить.
Аватара пользователя
magoga
UNIт
 
Сообщения: 98
Зарегистрирован: 22 мар 2010, 21:08


Вернуться в Shader Lab

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

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