Показать сообщение отдельно
Старый 26.12.2015, 20:11
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 13  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Код AS3:
function(x:Number, y:Number, strength:Number):Point {
    return new Point(Math.sin(x * strength, y)); // Вертикальная волна с амплитудой длиною в текстуру.
}
По твоей формуле написал шейдер
Код AS3:
			name = "screen";
 
			vertexCode += "mov op, va0\n"; 
			vertexCode += "mov v0, va1\n"; // uv
 
			// distortion
			vertexCode += "mov v1, vc0\n"; // stageWidth, stageHeight
 
			fragmentCode = "mov ft1, v0\n"; // uv
			fragmentCode += "mul ft2.x, ft1.x, v1.x\n"; // u * stageWidth
			fragmentCode += "sin ft2.x, ft2.x\n"; // sin(u * stageWidth)
			fragmentCode += "add ft1.x, ft1.x, ft2.x\n"; // u = sin(u * stageWidth)
 
			fragmentCode += "tex ft0, ft1, fs0 <2d,nearest,clamp>\n";
			fragmentCode += "mov oc, ft0\n";
Результат
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 59
Размер:	170.3 Кб
ID:	31943  
__________________
Я заклинаю вас действовать иначе.