1 263
订阅者
无数据24 小时
+57 天
+8330 天
帖子存档
1 263
u_xlat3.xyz = u_xlat0.yyy * Globals.hlslcc_mtx4x4unity_ObjectToWorld[1].xyz;
u_xlat3.xyz = fma(Globals.hlslcc_mtx4x4unity_ObjectToWorld[0].xyz, u_xlat0.xxx, u_xlat3.xyz);
u_xlat3.xyz = fma(Globals.hlslcc_mtx4x4unity_ObjectToWorld[2].xyz, u_xlat0.zzz, u_xlat3.xyz);
u_xlat37 = dot(u_xlat3.xyz, u_xlat3.xyz);
u_xlat37 = rsqrt(u_xlat37);
u_xlat3.xyz = float3(u_xlat37) * u_xlat3.xyz;
output.TEXCOORD2.xyz = u_xlat3.xyz;
output.TEXCOORD2.w = u_xlat2.x;
u_xlat16_10.xyz = half3(u_xlat1.zxy * u_xlat3.yzx);
u_xlat16_10.xyz = half3(fma(u_xlat1.yzx, u_xlat3.zxy, (-float3(u_xlat16_10.xyz))));
output.TEXCOORD4.xyz = u_xlat1.xyz;
u_xlat16_10.xyz = half3(u_xlat0.www * float3(u_xlat16_10.xyz));
output.TEXCOORD3.xyz = float3(u_xlat16_10.xyz) * Globals.unity_WorldTransformParams.www;
output.TEXCOORD3.w = u_xlat2.y;
output.TEXCOORD4.w = u_xlat2.z;
u_xlat1.xyz = (-u_xlat2.xyz) + Globals._WorldSpaceCameraPos.xyz;
u_xlat37 = dot(u_xlat1.xyz, u_xlat1.xyz);
u_xlat37 = rsqrt(u_xlat37);
u_xlat1.xyz = float3(u_xlat37) * u_xlat1.xyz;
output.TEXCOORD7.xyz = half3(u_xlat1.xyz);
return output;
}1 263
u_xlat4 = u_xlat2.yyyy * Globals.hlslcc_mtx4x4unity_MatrixVP[1];
u_xlat4 = fma(Globals.hlslcc_mtx4x4unity_MatrixVP[0], u_xlat2.xxxx, u_xlat4);
u_xlat4 = fma(Globals.hlslcc_mtx4x4unity_MatrixVP[2], u_xlat2.zzzz, u_xlat4);
output.mtl_Position = u_xlat4 + Globals.hlslcc_mtx4x4unity_MatrixVP[3];
output.TEXCOORD0.xy = fma(input.TEXCOORD0.xy, Globals._MainTex_ST.xy, Globals._MainTex_ST.zw);
output.TEXCOORD0.zw = input.TEXCOORD1.xy;
u_xlat4.xyz = u_xlat2.xyz + (-Globals._WorldSpaceCameraPos.xyz);
u_xlat37 = dot(u_xlat4.xyz, u_xlat4.xyz);
u_xlat37 = sqrt(u_xlat37);
u_xlat38 = min(u_xlat37, Globals.unity_FogParams.z);
u_xlat4.x = u_xlat37 + (-u_xlat38);
u_xlat37 = u_xlat4.y / u_xlat37;
u_xlat38 = fma(u_xlat37, u_xlat38, Globals._WorldSpaceCameraPos.xyz.y);
u_xlat38 = u_xlat38 + (-Globals.unity_FogParams.w);
u_xlat5.x = u_xlat38 * (-Globals.unity_FogParams.x);
u_xlat38 = u_xlat37 * (-Globals.unity_FogParams.x);
u_xlat37 = u_xlat37 * Globals.unity_FogParams.x;
u_xlat37 = Globals.unity_FogParams.y / u_xlat37;
u_xlat5.y = u_xlat4.x * u_xlat38;
u_xlat4.xy = u_xlat5.xy * float2(1.44269502, 1.44269502);
u_xlat4.xy = exp2(u_xlat4.xy);
u_xlat37 = u_xlat37 * u_xlat4.x;
u_xlat38 = (-u_xlat4.y) + 1.0;
u_xlat37 = u_xlat37 * u_xlat38;
u_xlat37 = u_xlat37 * -1.44269502;
u_xlat37 = exp2(u_xlat37);
u_xlat37 = (-u_xlat37) + 1.0;
u_xlat37 = max(u_xlat37, 0.0);
output.TEXCOORD1.w = half(u_xlat37);
u_xlat16_10.x = half(u_xlat1.y * u_xlat1.y);
u_xlat16_10.x = half(fma(u_xlat1.x, u_xlat1.x, (-float(u_xlat16_10.x))));
u_xlat16_4 = half4(u_xlat1.yzzx * u_xlat1.xyzz);
u_xlat16_11.x = dot(Globals.unity_SHBr, u_xlat16_4);
u_xlat16_11.y = dot(Globals.unity_SHBg, u_xlat16_4);
u_xlat16_11.z = dot(Globals.unity_SHBb, u_xlat16_4);
output.TEXCOORD1.xyz = fma(Globals.unity_SHC.xyz, u_xlat16_10.xxx, u_xlat16_11.xyz);
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y].w;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 1].w;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 2].w;
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 3].w;
u_xlat3.w = dot(u_xlat4, float4(input.TANGENT0));
u_xlat3 = u_xlat3 * input.TEXCOORD1.yyyy;
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x].w;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 1].w;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 2].w;
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 3].w;
u_xlat6.w = dot(u_xlat4, float4(input.TANGENT0));
u_xlat3 = fma(u_xlat6, input.TEXCOORD1.xxxx, u_xlat3);
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z].w;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 1].w;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 2].w;
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 3].w;
u_xlat7.w = dot(u_xlat4, float4(input.TANGENT0));
u_xlat3 = fma(u_xlat7, input.TEXCOORD2.xxxx, u_xlat3);
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w].w;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 1].w;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 2].w;
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 3].w;
u_xlat8.w = dot(u_xlat4, float4(input.TANGENT0));
u_xlat0 = fma(u_xlat8, input.TEXCOORD2.yyyy, u_xlat3);
u_xlat3 = u_xlat0.yyyy * Globals.hlslcc_mtx4x4unity_WorldToObject[1];
u_xlat3 = fma(Globals.hlslcc_mtx4x4unity_WorldToObject[0], u_xlat0.xxxx, u_xlat3);
u_xlat3 = fma(Globals.hlslcc_mtx4x4unity_WorldToObject[2], u_xlat0.zzzz, u_xlat3);
u_xlat0 = fma(Globals.hlslcc_mtx4x4unity_WorldToObject[3], u_xlat0.wwww, u_xlat3);
u_xlat37 = dot(u_xlat0, u_xlat0);
u_xlat37 = rsqrt(u_xlat37);
u_xlat0 = u_xlat0 * float4(u_xlat37);1 263
u_xlat7.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 3].y;
u_xlat7.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x].y;
u_xlat7.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 1].y;
u_xlat7.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 2].y;
u_xlat5.y = dot(u_xlat7, input.POSITION0);
u_xlat6.y = dot(u_xlat7, float4(input.TANGENT0));
u_xlat4.y = dot(u_xlat7.xyz, float3(input.NORMAL0.xyz));
u_xlat7.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 3].z;
u_xlat7.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x].z;
u_xlat7.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 1].z;
u_xlat7.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 2].z;
u_xlat5.z = dot(u_xlat7, input.POSITION0);
u_xlat6.z = dot(u_xlat7, float4(input.TANGENT0));
u_xlat4.z = dot(u_xlat7.xyz, float3(input.NORMAL0.xyz));
u_xlat1.xyz = fma(u_xlat4.xyz, input.TEXCOORD1.xxx, u_xlat1.xyz);
u_xlat2.xyz = fma(u_xlat5.xyz, input.TEXCOORD1.xxx, u_xlat2.xyz);
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 3].x;
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z].x;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 1].x;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 2].x;
u_xlat5.x = dot(u_xlat4, input.POSITION0);
u_xlat7.x = dot(u_xlat4, float4(input.TANGENT0));
u_xlat4.x = dot(u_xlat4.xyz, float3(input.NORMAL0.xyz));
u_xlat8.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 3].y;
u_xlat8.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z].y;
u_xlat8.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 1].y;
u_xlat8.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 2].y;
u_xlat5.y = dot(u_xlat8, input.POSITION0);
u_xlat7.y = dot(u_xlat8, float4(input.TANGENT0));
u_xlat4.y = dot(u_xlat8.xyz, float3(input.NORMAL0.xyz));
u_xlat8.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 3].z;
u_xlat8.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z].z;
u_xlat8.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 1].z;
u_xlat8.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.z + 2].z;
u_xlat5.z = dot(u_xlat8, input.POSITION0);
u_xlat7.z = dot(u_xlat8, float4(input.TANGENT0));
u_xlat4.z = dot(u_xlat8.xyz, float3(input.NORMAL0.xyz));
u_xlat1.xyz = fma(u_xlat4.xyz, input.TEXCOORD2.xxx, u_xlat1.xyz);
u_xlat2.xyz = fma(u_xlat5.xyz, input.TEXCOORD2.xxx, u_xlat2.xyz);
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 3].x;
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w].x;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 1].x;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 2].x;
u_xlat5.x = dot(u_xlat4, input.POSITION0);
u_xlat8.x = dot(u_xlat4, float4(input.TANGENT0));
u_xlat4.x = dot(u_xlat4.xyz, float3(input.NORMAL0.xyz));
u_xlat9.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 3].y;
u_xlat9.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w].y;
u_xlat9.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 1].y;
u_xlat9.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 2].y;
u_xlat5.y = dot(u_xlat9, input.POSITION0);
u_xlat8.y = dot(u_xlat9, float4(input.TANGENT0));
u_xlat4.y = dot(u_xlat9.xyz, float3(input.NORMAL0.xyz));
u_xlat9.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 3].z;
u_xlat9.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w].z;
u_xlat9.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 1].z;
u_xlat9.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.w + 2].z;
u_xlat5.z = dot(u_xlat9, input.POSITION0);
u_xlat8.z = dot(u_xlat9, float4(input.TANGENT0));
u_xlat4.z = dot(u_xlat9.xyz, float3(input.NORMAL0.xyz));
u_xlat1.xyz = fma(u_xlat4.xyz, input.TEXCOORD2.yyy, u_xlat1.xyz);
u_xlat2.xyz = fma(u_xlat5.xyz, input.TEXCOORD2.yyy, u_xlat2.xyz);1 263
Original Shader:
#include <metal_stdlib>
#include <metal_texture>
using namespace metal;
#if !(__HAVE_FMA__)
#define fma(a,b,c) ((a) * (b) + (c))
#endif
struct Globals_Type {
float3 _WorldSpaceCameraPos;
half4 unity_SHBr;
half4 unity_SHBg;
half4 unity_SHBb;
half4 unity_SHC;
float4 hlslcc_mtx4x4unity_ObjectToWorld[4];
float4 hlslcc_mtx4x4unity_WorldToObject[4];
float4 unity_WorldTransformParams;
float4 hlslcc_mtx4x4unity_MatrixVP[4];
float4 unity_FogParams;
float4 _MainTex_ST;
};
struct _Bones_Type {
float4 hlslcc_mtx4x4_BonePalette[256];
};
struct Mtl_VertexIn {
float4 POSITION0 [[ attribute(0) ]];
half4 TANGENT0 [[ attribute(1) ]];
half3 NORMAL0 [[ attribute(2) ]];
float2 TEXCOORD0 [[ attribute(3) ]];
float2 TEXCOORD1 [[ attribute(4) ]];
float2 TEXCOORD2 [[ attribute(5) ]];
half4 COLOR0 [[ attribute(6) ]];
};
struct Mtl_VertexOut {
float4 mtl_Position [[ position ]];
float4 TEXCOORD0 [[ user(TEXCOORD0) ]];
half4 TEXCOORD1 [[ user(TEXCOORD1) ]];
float4 TEXCOORD2 [[ user(TEXCOORD2) ]];
float4 TEXCOORD3 [[ user(TEXCOORD3) ]];
float4 TEXCOORD4 [[ user(TEXCOORD4) ]];
half3 TEXCOORD7 [[ user(TEXCOORD7) ]];
};
vertex Mtl_VertexOut xlatMtlMain(
constant Globals_Type& Globals [[ buffer(0) ]],
constant _Bones_Type& _Bones [[ buffer(1) ]],
Mtl_VertexIn input [[ stage_in ]]
) {
Mtl_VertexOut output;
float4 u_xlat0;
half4 u_xlat16_0;
int4 u_xlati0;
float4 u_xlat1;
float3 u_xlat2;
float4 u_xlat3;
float4 u_xlat4;
half4 u_xlat16_4;
float3 u_xlat5;
float4 u_xlat6;
float4 u_xlat7;
float4 u_xlat8;
float4 u_xlat9;
half3 u_xlat16_10;
half3 u_xlat16_11;
float u_xlat37;
float u_xlat38;
u_xlat16_0 = input.COLOR0 * half4(128.0, 128.0, 128.0, 128.0);
u_xlati0 = int4(float4(u_xlat16_0));
u_xlati0 = u_xlati0 << int4(2, 2, 2, 2);
u_xlat1.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 3].x;
u_xlat1.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y].x;
u_xlat1.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 1].x;
u_xlat1.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 2].x;
u_xlat2.x = dot(u_xlat1, input.POSITION0);
u_xlat3.x = dot(u_xlat1, float4(input.TANGENT0));
u_xlat1.x = dot(u_xlat1.xyz, float3(input.NORMAL0.xyz));
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 3].y;
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y].y;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 1].y;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 2].y;
u_xlat2.y = dot(u_xlat4, input.POSITION0);
u_xlat3.y = dot(u_xlat4, float4(input.TANGENT0));
u_xlat1.y = dot(u_xlat4.xyz, float3(input.NORMAL0.xyz));
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 3].z;
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y].z;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 1].z;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.y + 2].z;
u_xlat2.z = dot(u_xlat4, input.POSITION0);
u_xlat3.z = dot(u_xlat4, float4(input.TANGENT0));
u_xlat1.z = dot(u_xlat4.xyz, float3(input.NORMAL0.xyz));
u_xlat1.xyz = u_xlat1.xyz * input.TEXCOORD1.yyy;
u_xlat2.xyz = u_xlat2.xyz * input.TEXCOORD1.yyy;
u_xlat4.w = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 3].x;
u_xlat4.x = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x].x;
u_xlat4.y = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 1].x;
u_xlat4.z = _Bones.hlslcc_mtx4x4_BonePalette[u_xlati0.x + 2].x;
u_xlat5.x = dot(u_xlat4, input.POSITION0);
u_xlat6.x = dot(u_xlat4, float4(input.TANGENT0));
u_xlat4.x = dot(u_xlat4.xyz, float3(input.NORMAL0.xyz));1 263
🇷🇺 Очень старый чит с Metal Chams для CoDM
🇺🇸 A very old cheat with Metal Chams for CoDM
1 263
Repost from Мемный Скaм
Сооснователь криптоигры Blum АРЕСТОВАН — Владимира Смеркиса обвиняют в мошенничестве и уже заключили под стражу.
Команда проекта поспешила откреститься от бывшего директора по маркетингу. Blum — ещё одна криптоигра, где пользователи зарабатывали очки, которые обещали обменять на криптовалюту.
Напомню, хомяки ждут релиз монеты уже год, но дата раздачи так и не была объявлена.
Как раз к листингу выйдет.
1 263
🇷🇺 Вот тестовый проект, но его нужно конкретно переписать
🇺🇸 Here is a test project, but it needs to be specifically rewritten.
1 263
🇷🇺 Нужен ли вам OpenGL Shaders дампер с UI?
🇺🇸 Do you need an OpenGL Shaders dumper with UI?
1 263
🇷🇺 Исходный код обновлен на Github
🇺🇸 The source code has been updated on Github
1 263
🇷🇺 Я сделал небольшое обновление, добавил UI, ранее были просто логи. Так же сделал возможность просмотра шейдеров & экспорта.
🇺🇸 I made a small update, added a UI, previously there were just logs. I also made it possible to view shaders & export.
1 263
🇷🇺 Попытки понять, как сделать Metal Chams в любых играх на iOS.
🇺🇸 Trying to figure out how to make Metal Chams in any iOS games.
1 263
Если вылезает дичь, как на фото выше, юзайте эту команду:
sudo xattr -r -c /Applications/Il2CppDumperGUI.app
1 263
Repost from VALORANT MOBILE | VINFO
+1
⚡️Анонсировано новое закрытое бета-тестирование
• Набор участников: 12 мая - 14 мая;
• Тестирование: ожидается в мае;
• Доступно только для некоторых моделей Android (список возможно будет изменён).
Регистрация:
1. Установите 🇹🇼 Tencent Pioneer и 🇹🇼WeChat или 🇹🇼QQ (у вас должен быть зарегистрированный аккаунт WeChat или QQ);
2. Войдите в аккаунт Tencent Pioneer с помощью WeChat или QQ;
3. Откройте сверху третий раздел;
4. Выберите баннер с изображением Valorant;
5. Привяжите номер телефона для регистрации (скорее всего вам понадобится именно китайский номер).
🔑 Подача заявки на участие в другом бета-тесте 👈
⭐️ Если у вас оформлен Telegram Premium, поддержите наш канал по ссылке
📱 VALORANT MOBILE
1 263
🇷🇺 Скоро исходный код будет на GitHub.
🇺🇸 The source code will be on GitHub soon.
