6

Godot 3.1.1: Баг в языке шейдеров Годо. Переменные в параметрах цикла убивают шейдер

Если использовать параметр uniform или переменную в цикле внутри шейдера, то в сборке для браузера такой шейдер не работает. При этом он работает на лаптопах и мобильных платформах.

Версия Godot 3.1.1.stable.official

Так работает:

...
for (int n = 0; n < 3; n++) {...}
...
Так не работает в chrome, firefox:
int max_iter = 3;
for (int n = 0; n < max_iter; n++) {...}
...

Дубликаты не найдены

Лига Разработчиков Видеоигр

3.9K постов18.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

-Уважайте чужой труд и используйте конструктивную критику

-Не употребляйте мат без необходимости

-Не занимайтесь саморекламой, пишите качественные и интересные посты


СТОИТ ПУБЛИКОВАТЬ:

-Пост о Вашей игре, желательно - с историей разработки и описанием полученного опыта

-Обучающие посты, туториалы

-Интервью с именитыми разработчиками

-Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
-Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ НУЖНО ПУБЛИКОВАТЬ:

-Только гифки/арты/скриншоты из игры. Такие материалы могут сопровождать рассказ об игре или обучающий туториал, но не должны являться основой поста

-Посты, единственная цель которых - набор команды для разработки игры по вашей  гениальной идее

-Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

-Публиковать бессодержательный пост с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

-Выдавать чужой труд за свой

Подобные посты будут удалены, а авторы таких постов будут внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

-Пост должен быть содержательным и интересным для пользователей

-Ссылка должна размещаться непосредственно в начале или конце поста и только один раз.

-Cсылка размещается в формате: "Страница игры в Steam: URL"

Подробнее
0

Вот и я долго искал у себя ошибку

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

Дневник разработки игры на Godot Engine || devlog#01

Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Дневник разработки игры на Godot Engine || devlog#01 Инди, Gamedev, Pixel Art, Godot Engine, Видео, Длиннопост
Показать полностью 6
37

Эффект силового поля (шейдер)

Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Эффект силового поля (шейдер) Шейдеры, Unity3d, VFX, Gamedev, Гифка, Длиннопост, Силовое поле
Показать полностью 3
26

Puzzle of life - Проработка эффектов и анимаций взаимодействия

65

Создание интерактивного снега с помощью Godot

Создание интерактивного снега с помощью Godot Gamedev, Godot, Godot Engine, Гифка, Видео
102

Генератор землеподобных  планет на Godot

Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Генератор землеподобных  планет на Godot Gamedev, Godot Engine, Гифка, Длиннопост
Показать полностью 8
114

Space Simulation Toolkit


Показать полностью
25

Godot 3: Локализация игры на разных языках. Управление переводами.

273

Красивый туман в Unity3d с высокой оптимизацией

Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Shader "Mobile/CustomFogCube"
{
Properties
{
_FogStart("Fog Start", float) = 0 //объявляем наши новые переменные для тумана
_FogEnd ("Fog End", float) = 50

}
SubShader
{
Tags{ "RenderType" = "Opaque" }
Fog{ Mode off }
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ LIGHTMAP_ON
#include "UnityCG.cginc"
half _FogStart;  //определяем новые переменные в рамках CGPROGRAM
half _FogEnd;

struct appdata
{
float4 vertex : POSITION;
float4 color : COLOR;
float4 uv : TEXCOORD1;
};
struct v2f
{
float4 pos : SV_POSITION;
float4 uv : TEXCOORD1;
half fog : TEXCOORD2;  //добавляем новую переменную для расчета расстояния отображения тумана и последующей передачи в fragment функцию
float4 color : COLOR;
half3 viewDir : TEXCOORD3;
};
v2f vert(appdata v)
{
v2f o;
o.color = v.color;
o.pos = UnityObjectToClipPos(v.vertex);
//lightmaps
o.uv.xy = v.uv.xy * unity_LightmapST.xy + unity_LightmapST.zw;
//fog высчитываем положение тумана в зависимости от заданных значений
half fogz = UnityObjectToViewPos(v.vertex).z;
o.fog = saturate((fogz + _FogStart) / (_FogStart - _FogEnd));

float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;
o.viewDir = -(normalize(UnityWorldSpaceViewDir(worldPos)));
return o;
}
half4 frag(v2f i) : COLOR
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
fixed4 c = i.color * 0.5;
//lightmaps
#ifdef LIGHTMAP_ON
  fixed4 lm = UNITY_SAMPLE_TEX2D(unity_Lightmap, i.uv.xy);
c.rgb *= lm.rgb * 4;
#endif
//fog заменяем плавно цвет поверхности на цвет кубомапы (он же наш туман). Кубомапу нужно задать в настройках освещение (Lighting > Scene > Environment Reflection > Source = Custom > Cubemap = Ваша кубомапа)
half4 fogCube = UNITY_SAMPLE_TEXCUBE(unity_SpecCube0, i.viewDir);
return lerp(c, fogCube, i.fog);

}
ENDCG
}
}
Fallback "Mobile/VertexLit"
}
Красивый туман в Unity3d с высокой оптимизацией Unity3d, Gamedev, Туман, Мобильные игры, Разработка игр, Шейдеры, Indiedev, Fog, Длиннопост
Показать полностью 2
186

Магия шейдеров 6: Glitch-эффект с аберрацией

Магия шейдеров 6: Glitch-эффект с аберрацией Shadermagic, Coremission, Gamedev, Магияшейдеров, Шейдеры, Гифка
Магия шейдеров 6: Glitch-эффект с аберрацией Shadermagic, Coremission, Gamedev, Магияшейдеров, Шейдеры, Гифка
Магия шейдеров 6: Glitch-эффект с аберрацией Shadermagic, Coremission, Gamedev, Магияшейдеров, Шейдеры, Гифка
Показать полностью 1
121

2D Water в Unity 3D

2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
2D Water в Unity 3D Unity3d, Pixel Art, Шейдеры, Gamedev, Длиннопост, Гифка
Показать полностью 12
133

Магия шейдеров 4: Рецепт развевающейся на ветру ткани

Магия шейдеров 4: Рецепт развевающейся на ветру ткани Магияшейдеров, Shadermagic, Coremission, Gamedev, Шейдеры, Гифка
80

Визуальный редактор скриптов в Godot Engine

Визуальный редактор скриптов в Godot Engine Godot Engine, Unreal Engine, Gamedev
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: