Noise в шейдерах

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

Noise в шейдерах

Сообщение gnoblin 06 ноя 2010, 03:26

Пробовал использовать шум в шейдере, noise(x) у меня почему-то не заработал :(.

Подсмотрел на оф.форуме алгоритм для генерации шума,
поэтому вот небольшой сурфейс шейдер на тему:
noise1.jpg


Создает анимированный во времени шумок.
Синтаксис:
Используется glsl
 Shader "Noise1" {
    Properties {
      _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader {
      Tags { "RenderType" = "Opaque" }
      CGPROGRAM
      #pragma surface surf Lambert
          #include "UnityCG.cginc"

      struct Input {
          float2 uv_MainTex;
      };
      sampler2D _MainTex;

      float Rand( float2 inpos )
          {
                float2 input =  inpos;
                const float2 randvec = float2(15.12345, 91.98765);
                float    randangle = dot( input ,  randvec );
                float rand = sin( randangle ) * 115309.76543;
                return 1.0 - 2.0 * frac(rand);
      }
 
      void surf (Input IN, inout SurfaceOutput o) {
     
      //tex2D (_MainTex, IN.uv_MainTex).rgb;
      float g =  Rand( IN.uv_MainTex.xy + _Time.y );
          o.Albedo = half3(g,g,g);    
         
      }
      ENDCG
    }
    Fallback "Diffuse"
  }
У вас нет доступа для просмотра вложений в этом сообщении.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Noise в шейдерах

Сообщение gnoblin 13 ноя 2010, 01:32

подборка текстур шума
http://www.neilblevins.com/cg_education ... noise.html
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Noise в шейдерах

Сообщение Phoenics 13 ноя 2010, 04:09

gnoblin писал(а):Пробовал использовать шум в шейдере, noise(x) у меня почему-то не заработал :(.


Насколько я знаю она мало где работает, если работает где-то, лучше пользвоатся текстурами для шума
Аватара пользователя
Phoenics
UNIт
 
Сообщения: 60
Зарегистрирован: 31 окт 2010, 22:29

Re: Noise в шейдерах

Сообщение Guyver 25 ноя 2010, 18:25

наткнулся в инете на статью ... где описывается шум перлина, сравнил функции ранд, оказалось тут упрощённая формула (адрес статьи если кому интересно http://www.m3xbox.com/GPU_blog/?tag=fractal)

прикол в том, что сама функция рандома уже около потолка по арифметическим инструкциям... пытался замутить генерацию перлина по seed, но увы и ах напоролся на превышение кол-ва инструкций арифметических буквально на smooth_random =((( а жаль .... идея рандомной генерации поверхностей была так заманчива.
Xcombat: 3D шутер на летающих тарелках!
Аватара пользователя
Guyver
UNIверсал
 
Сообщения: 392
Зарегистрирован: 21 июл 2010, 08:04
Откуда: Челябинск

Re: Noise в шейдерах

Сообщение sp00n 25 ноя 2010, 22:13

эммм, а разве нельзя рандом считать на цпу, а в шейдер передавать уже посчитанное значение?
Ты молод, креативен, талантлив?
Амбициозен, уверен в себе, полон свежих идей?
А делать хоть что-нибудь умеешь?!
sp00n
UNITрон
 
Сообщения: 254
Зарегистрирован: 27 фев 2010, 20:43


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

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

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