Полностью процедурные волны в реальном времени, никаких текстур / 3d графика :: 3D анимация

3D анимация 3d графика 

Полностью процедурные волны в реальном времени, никаких текстур

https://www.shadertoy.com/view/Ms2SD1
Shadertoy
Seascape
Tags: procedural, noise, waves, sea, water, subsurface
<§> 307584 V 1009 W 96
Created by TDM in 2014-Sep-26
fully-procedural sea surface computing, without textures.
Android version: https://play.google.com/store/apps/details?id=com.nature.seascape
Comments
Browse New

Подробнее
Shadertoy Seascape Tags: procedural, noise, waves, sea, water, subsurface <§> 307584 V 1009 W 96 Created by TDM in 2014-Sep-26 fully-procedural sea surface computing, without textures. Android version: https://play.google.com/store/apps/details?id=com.nature.seascape Comments Browse New Sign In + Q a Shader Inputs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 - 26 27 28 29 30 31 32 33 34 35 » 36 37 38 39 » 40 41 42 43 44 45 46 /* * "Seascape" by Alexander Alekseev aka TDM - 2014 * License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported Licens * Contact: tdmaav@gmail.com const int NUM_STEPS = 8; const float PI = 3.141592; const float EPSILON = le-3; »define EPSILON_NRM (0.1 / iResolution.x) // sea const int ITER_GEOMETRY = 3; const int ITER_FRAGMENT = 5, const float SEA_HEIGHT =0.6; const float SEA_CHOPPY =4.0 const float SEA_SPEED =0.8; const float SEA_FREQ = 0.16; const vec3 SEA_BASE = vec3(0.1,0.19,0.22); const vec3 SEA_WATER_COLOR = vec3(0.8,0.9,0.6); »define SEA_TIME (1.0 + iTime * SEA_SPEED) const mat2 octavem = mat2(1.6,1.2,-1.2,1.6); // math mat3 fromEuler(vec3 ang) { vec2 al = vec2 sin ang x cos ang x vec2 a2 = vec2 sin ang y cos ang y vec2 a3 = vec2(sin ang z cos(ang z)); mat3 m; m 0 = vec3 al y*a3 y+al x*a2 x*a3,x,al y*a2.x*a3.x+a3.y*al.x,-a2y*a3,x); m 1] = vec3(-a2 y*al x al y*a2.y a2 x); m 2] = vec3 a3=y*al.x*a2.x+al,y*a3,x al,x*a3 x-al y*a3=y*a2.x,a2 y*a3,y); return m; \ float hash( vec2 p ) { float h = dot(p,vec2(127.1,311.7)); return fract(sin(h)*43758.5453123); float noise( in vec2 p ) { vec2 i = floori p vec2 f = fract p vec2 u = f*f*(3.0-2.0*f); return -1.0+2.0*mix( mix( hash( i + vec2(0.0,0.0) ), hashf i + vec2(l.0,0.0) ), u.x), — - A < >
3D анимация,3d графика
Развернуть
Бля, меня укачало после нескольких секунд фуллскрина(
Тормозит во фуллскрине. Но в небольшом окошке норм.
у меня комп не потянул вообще
yoburg yoburg 22.10.201706:43 ответить ссылка 6.3
это видео мой комп тоже не тянет
У меня комп не потянул фото поста, о чём идёт речь?
Там лошадиное порно.
на 1:10 по левой стороне выпрыгивают дельфины.
А разве расчёты не на сервере?
Не насобирали на сервера.
в шейдертое исполняется написанный справа код на твоем GPU
pohnah pohnah 22.10.201712:17 ответить ссылка 0.3
Ого. Не знал. Но я не программист - могу и обмануться.
А еще там скоро напишут майнер...
dstwo dstwo 23.10.201701:58 ответить ссылка 0.2
Очень странно, что у тебя за проц? Мой древний е5440 потянул(правда 40 кадров)
neidik neidik 22.10.201711:04 ответить ссылка 0.0
xeon? у меня с 1050ti все 60 выдаёт
у меня gt520, жизнь боль.
neidik neidik 22.10.201713:12 ответить ссылка 0.0
gt220 - жить можно
intel hd 3000 :(
В опере на проце i7_6700k 1,5 фпс 80-100% нагрузки, при включении аппаратной поддержки(видюхи r9_290x) выдаёт 144 фпс(ограничение монитора с фрисинком).
В лисе сразу включена поддержка видюхи.
Скорость волн не соответствует уровню колебаний. Это волны не на воде, а на каком-то киселе. В высоком разрешении видны отдельные артефакты. Освещение и блики вообще ни к черту. Но статичные кадры получаются неплохими.
Hellsy Hellsy 22.10.201706:47 ответить ссылка 4.5
Давно ты волны в киселе не видел. Ролик не презентабельный, но в 60 фпс очень даже. Отлично.
Santez Santez 22.10.201711:15 ответить ссылка 1.2
Зато я морские волны каждый день вижу - море в 3км. На воду то, что в ролике - не похоже.
Hellsy Hellsy 22.10.201711:41 ответить ссылка 0.9
Как по мне вполне похоже. Кисель в двух метрах от меня.
Разрешите доебаться.jpg
ого, мощно, надо применить)
SliderUA SliderUA 22.10.201711:01 ответить ссылка 0.8
Ух! Где берег?!! В какой стороне берег??!!11111
Я себя примерно так ощущаю D=
Йо хо хо! Хочу игру про парусный флот с такими волнами!
Taifune Taifune 22.10.201711:45 ответить ссылка 1.0
Пф... фигня.
Вот мое процедурное море:
Axil Axil 22.10.201711:51 ответить ссылка -2.8
Кто ж, блядь, такую камеру сделал? Чуть морскую болезнь не словил.
"Seascape" by Alexander Alekseev aka TDM - 2014
pkuгg pkuгg 22.10.201712:23 ответить ссылка 0.0
Телефон тянет на 60фпс. Иногда проседает до 40. В FullHd
Что за телефон? Мой honor 10i только 0.2, до 0.8 иногда поднимается
Avaroh Avaroh 16.03.202109:04 ответить ссылка 0.0
Oneplus5. Хотя я уже не особо помню о чем речь :)
Хотя сейчас попробовал - максимум чуть меньше 5фпс...
Картину немного смазывают переодически проходящие волны с вертикальным срезом. ;-)
pda0 pda0 22.10.201719:23 ответить ссылка 0.0
А я предлагал, iframe с shadertoy на реактор добавить http://joyreactor.cc/post/3197322

значок реактора:
https://www.shadertoy.com/view/XsBfDK

Я еще вот такое делал: https://www.shadertoy.com/view/MtjcWD , но это лучше не открывать если видеокарта не очень.
int16 int16 22.10.201720:54 ответить ссылка 1.1
там ошибка
Tyekanik Tyekanik 22.10.201722:57 ответить ссылка -0.1
Где "там"?
int16 int16 22.10.201723:29 ответить ссылка 0.0
В первой строке
Shadertoy
Search...
M ►	0.00	1.7 fps
Raytrace
Tags: raytrace
Raytrace
Comments
Sign in to post a comment.
Created by intl6 in 2017-Oct-22
Browse New Sign In
+
a Shader Inputs
1 #define PI
3.1415926535
2	»define MAXFLGAT	99999.99
3
4	// change these parameters for better quality
Там Unknown Error. Компилятор не справился с шейлером. Скорее всего видеокарта или драйвер не полностью поддерживают WebOpenGL, бывает если графика встроенная. У меня на ноутбуке у самого этот шейлер не запускается. Но на десктопе все ок
int16 int16 22.10.201723:51 ответить ссылка 0.0
Я кстати этот шейдер запускал в самописном движке в виртуальной реальности (как с Vive так и с Oculus). Все кажется, настолько реально, что прямо чувствуешь морскую прохладу, солнце, морской бриз и запах моря.
int16 int16 22.10.201720:59 ответить ссылка 0.0
не подскажешь как его на компе скомпилить/запустить (linux)?
Это фрагментный шейдер на GLSL. Он компилируется драйвером при запуске и выполняется на GPU.
Но чтобы это дело запустить, нужен дополнительный код уровня приложения, который бы создал окно, создал OpenGl контекст. Еще нудно скомпилировать шейдеры, создал дополнительные объекты для отрисовки двух треугольников на весь вьюпорт и повесить на них этот шейдер. На самом деле совсем немного.
Наверняка, можно заюзать unity для этих целей, но нужно будет GLSL в HLSL перевести. Можно заюзать bgfx. Я туда добавлял пример с небом, там просто нужно будет заменить шейдер неба, на этот шейдер, обернув его немножко.
int16 int16 22.10.201722:48 ответить ссылка 0.0
ок, вроде нашел
sudo pacman -S freebasic
там код
https://www.freebasic.net/forum/viewtopic.php?t=24462#
вроде бекдоров нету
мне пришлось закоментить все где есть "glActiveTexture" (строчка 27 и 63)
потом
> fbc shadertoy.bas
потом
> ./shadertoy имя_файла.glsl
только проблема если шейдер состоит из картинки и буферов (я не знаю что это)
например этот https://www.shadertoy.com/view/llK3Dy
я его смог запустить только как
> ./shadertoy код_из_buf_A.glsl

както так
Я лекции недавно читал по компьютерной графике, делал небольшие примеры на чистом OpenGL с использованием glfw (создание окна/контекста) и gl3w (загрузка OpenGL API). Вобщем вот на скроую руку переписал пример, чтобы шейдеры с шейдертоя запускал. Должно работать все, что не юзает буферы и текстуры.

https://drive.google.com/uc?id=0ByQCs8WA2qnceXZDYVFCNFZVZU0&export=download
IE Hello World
□
X
int16 int16 22.10.201723:36 ответить ссылка 0.2
На линуксе не тестил, но вот только что на маке проверил, все работает.
Чтобы собрать, нужен cmake и компилятор умеющий С++11.

Для линукс и мак ос:
из корневой папки с CMakeList.txt

mkdir build
cd build
cmake ../
make
int16 int16 22.10.201723:54 ответить ссылка 0.1
Подобное на API Vulkan в GPU Caps Viewer.
Ссылка : http://www.geeks3d.com/dl/get/530
Shadertoy
+ Q
a Shader In
1	/*
2	* "S
3	* Li
4	* Co
!>	•/
6	
7	const
«	rniKt
_ □	E9
GeeXLab demos (OpenGL / Vulkan / Direct3D 12)
Vulkan - Shadertoy > Seascape
Start demo
[ GeeXLab homepage ] OpenGL demos
	
	FAN CURVE
• AUTO
•	MONITORING SETTINGS
•	OSD OFF
•	START UP OFF SS
[
Sys-admin Sys-admin 23.10.201709:48 ответить ссылка -0.1
Ага, они видно для бенчмарков с шейдертоя взяли шейдеров. У меня там 1800FPS выдает (видюха не моя, это на работе).
y Vulkan - Shadertoy > Seascape | 1858FPS (0.321 ms/frame) | GPU C...	—	□ X
1846 FPS 0.52ms Frame: 77499
VULKAN / SHADERTOY > SEASCAPE
1<x framework V0-1.4
int16 int16 23.10.201709:57 ответить ссылка 0.1
Ради интереса раскрой окно на весь экран.Сколько fps выдаст?
145
Монитор 4k.
145 FPS 6.56ms* Frame: 5098 avg min max last GPU load: 97.35 77.00 99.00 99.00 GPU temp: 81.00 degC Time: 23.181 sec TITAN X (Pascal) Vulkan 1.0.46 Res: 3840x2066
int16 int16 23.10.201710:39 ответить ссылка 0.1
а есть версия для Unity ?
andarky andarky 23.10.201715:33 ответить ссылка 0.6
Сожно и в Unity запихнуть этот шейдер. Там правда нужно переписать GLSL в HSLS, но это совсем не сложно. Если надо, могу показать как
int16 int16 23.10.201720:00 ответить ссылка 0.0
Шейдеры, фпс, расзрешение... Вы мне скажите, а тут можно задать силу ветра, чтобы волны более-менее в одну сторону катились, а не стохастически генерились?
Это уже совсем другая история..
Honor 10i, Kirin 710f, mali g51. Иногда даже до 0.8 ФПС поднимается )
YOTA	ah .I 5.7
MegaFon	K/s ©	Gl78% HU 08:46
o A shadertoy.com/view/K/ CD :
H II 23.09 0.2 fps	Rf^02«^84tS
Seascape
<> V1916
Views: 492451 .Tags:
procedural, noise, waves, sea, water, subsurface Created by TDM in 2014-09-26
fully-procedural sea surface computing, without textures.
Android
Avaroh Avaroh 16.03.202108:49 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты