
Axiom v4.0.120 for Houdini 20.5.x and 21.x.x Win
![]()
Title: Axiom v4.0.120 for Houdini 20.5.x and 21.x.x Win
Info:
Axiom empowers artists to build high-end effects such as fire, smoke and pyrotechnics. It’s tried and tested in professional working environments ranging from blockbusters to indie projects.
Games
Axiom can be used to make effects for games as well as film and TV! Axiom has tight Houdini integration so you can use all the SideFX Labs tools to bring your creations to Unreal or Unity.
Axiom is for FX Artists by FX Artists
Axiom is being used by freelancers, indie studios, and large studio productions.
Speed and efficiency are crucial in any production on any level.
Fully Deterministic
With Metal and Cuda, Axiom can use your system memory if you run out of GPU memory. No more switching to the CPU.
Fast Iterations
With a few small tweaks to the emitter and the solver, you can quickly get a variety of different results in a matter of minutes. These three simulations took 15 minutes to simulate combined.
Simplistic Workflows
With just a few Axiom nodes (three to be exact) you can get the results shown here. With Axiom, we are striving to simplify all of your pyro needs without compromising on quality.
![]()
![]()
https://rg.to/file/0f88dc971aca0753025ae47fb6f21ed4/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part3.rar.html https://rg.to/file/6ac6aa4b222773b3a0b60c8861f775af/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part1.rar.html https://rg.to/file/edc1b8c6970b550fb75542e1cf1bbd89/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part2.rar.html https://rg.to/file/0c67890ee85e479fcf7f0e17655e0757/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part5.rar.html https://rg.to/file/b3516e2e3cd89c401f489b377bf9f103/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part4.rar.html
![]()
https://alfafile.net/file/A3dZa https://alfafile.net/file/A3dZ2 https://alfafile.net/file/A3dZW https://alfafile.net/file/A3dZ6 https://alfafile.net/file/A3dZq
![]()
https://nitroflare.com/view/CBB2C3BE4FB49A0/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part1.rar https://nitroflare.com/view/C988EF4A7923FFC/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part2.rar https://nitroflare.com/view/5E1AAAF275AA56D/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part3.rar https://nitroflare.com/view/EDCEC87C21516A7/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part4.rar https://nitroflare.com/view/5D991D87EE90151/Axiomv4.0.120forHoudini20.5.xand21.x.xWin.part5.rar





Transfers on Alfafile keep disconnecting. Rapidgator links are insanely slow (20 kbytes/sec) and Nitroflare links do not work with vpn.
Alfafile’s prevents downloads stating that the user cannot download simultaneously multiple files while no other files are being downloaded.
It’s daily download limit system fails to work. It works but the data limit varies from day to day.
I’ll be studying more and will be posting the results later.
/* This file was generated by the Hex-Rays decompiler version 9.2.0.250908.
Copyright (c) 2007-2021 Hex-Rays
Detected compiler: Visual C++
*/
#include
#include
//————————————————————————-
// Function declarations
void ExceptionDir();
void __fastcall start(__int64 a1, __int64 a2);
int *__fastcall sub_140023DE2(unsigned int a1);
void __fastcall sub_140023E20(__int64 a1, __int64 a2);
//————————————————————————-
// Data declarations
// extern HMODULE (__stdcall *LoadLibraryA)(LPCSTR lpLibFileName);
// extern void (__stdcall __noreturn *ExitProcess)(UINT uExitCode);
// extern FARPROC (__stdcall *GetProcAddress)(HMODULE hModule, LPCSTR lpProcName);
// extern BOOL (__stdcall *VirtualProtect)(LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
//—– (000000014001F000) —————————————————-
void ExceptionDir()
{
;
}
//—– (0000000140023DB0) —————————————————-
void __fastcall start(__int64 a1, __int64 a2)
{
sub_140023E20(0, a2);
}
// 140023DC2: ignored the value written to the shadow area of the succeeding call
//—– (0000000140023DE2) —————————————————-
int *__fastcall sub_140023DE2(unsigned int a1)
{
unsigned __int64 v1; // rbp
_DWORD *v2; // rdi
int *result; // rax
char v4; // dl
unsigned int v5; // ecx
int v6; // edx
bool v7; // cf
bool v8; // zf
result = (_DWORD *)((char *)v2 + v1);
v4 = *((_BYTE *)v2 + v1);
if ( a1 0xFFFFFFFFFFFFFFFCuLL )
goto LABEL_9;
v5 = a1 – 4;
do
{
v6 = *result++;
v7 = v5 < 4;
v5 -= 4;
*v2++ = v6;
}
while ( !v7 );
v8 = v5 == -4;
a1 = v5 + 4;
v4 = *(_BYTE *)result;
if ( !v8 )
{
LABEL_9:
do
{
result = (int *)((char *)result + 1);
*(_BYTE *)v2 = v4;
–a1;
v4 = *(_BYTE *)result;
v2 = (_DWORD *)((char *)v2 + 1);
}
while ( a1 );
}
return result;
}
// 140023DE2: variable 'v2' is possibly undefined
// 140023DE2: variable 'v1' is possibly undefined
//—– (0000000140023E20) —————————————————-
// positive sp value has been detected, the output may be wrong!
void __fastcall sub_140023E20(__int64 a1, __int64 a2)
{
unsigned __int64 v2; // rbx
unsigned __int64 v3; // rbp
_BYTE *v4; // rdi
_BYTE *v5; // rsi
__int64 (__fastcall *v6)(__int64, __int64); // r11
bool v7; // cf
int v8; // ebx
int v9; // ett
int v10; // eax
unsigned int v11; // eax
bool v12; // cf
int v13; // ebx
int v14; // ett
unsigned int v15; // eax
int v16; // eax
int v17; // ecx
__int64 (__fastcall *v18)(_QWORD); // r11
unsigned int v19; // eax
__int64 (__fastcall *v20)(__int64); // r11
__int64 v21; // rcx
int v22; // ecx
bool v23; // cf
int v24; // ebx
int v25; // ett
unsigned __int64 v26; // rcx
_BYTE *v27; // rsi
int v28; // ebx
unsigned __int8 v29; // al
unsigned int *v30; // rsi
unsigned int v31; // eax
__int64 v32; // rsi
char *v33; // rdi
__int64 v34; // rax
FARPROC *v35; // rbx
HMODULE LibraryA; // rbp
char v37; // al
const CHAR *v38; // rdx
char *v39; // rcx
char v40; // al
bool v41; // zf
FARPROC ProcAddress; // rax
UINT v43; // ecx
_WORD *v44; // rdi
unsigned __int64 *i; // rbx
__int64 v46; // rax
__int64 v47; // rdi
unsigned int *v48; // [rsp-60h] [rbp-B0h]
__int64 (__fastcall *v49)(__int64, __int64); // [rsp-58h] [rbp-A8h]
_QWORD v50[4]; // [rsp-50h] [rbp-A0h] BYREF
__int64 v51; // [rsp-30h] [rbp-80h] BYREF
__int64 v52; // [rsp-28h] [rbp-78h] BYREF
v6 = v49;
while ( 1 )
{
while ( 1 )
{
LOBYTE(a2) = *v5;
v7 = __CFADD__((_DWORD)v2, (_DWORD)v2);
LODWORD(v2) = 2 * v2;
if ( !(_DWORD)v2 )
{
v8 = *(_DWORD *)v5;
v7 = (unsigned __int64)v5 < 0xFFFFFFFFFFFFFFFCuLL;
v5 += 4;
v9 = v7 + v8;
v7 = __CFADD__(v7, v8) | __CFADD__(v8, v9);
LODWORD(v2) = v8 + v9;
LOBYTE(a2) = *v5;
}
if ( !v7 )
break;
++v5;
*v4++ = a2;
}
do
{
v10 = v6(a1, a2);
v11 = v10 + v7 + v10;
v12 = __CFADD__((_DWORD)v2, (_DWORD)v2);
v2 = (unsigned int)(2 * v2);
if ( !(_DWORD)v2 )
{
v13 = *(_DWORD *)v5;
v7 = (unsigned __int64)v5 < 0xFFFFFFFFFFFFFFFCuLL;
v5 += 4;
v14 = v7 + v13;
v12 = __CFADD__(v7, v13) | __CFADD__(v13, v14);
v2 = (unsigned int)(v13 + v14);
LOBYTE(a2) = *v5;
}
}
while ( !v12 );
v7 = v11 < 3;
v15 = v11 – 3;
if ( !v7 )
break;
LABEL_12:
v6(a1, a2);
v19 = v18(v17 + (unsigned int)v7 + v17);
LODWORD(v21) = v21 + v7 + (_DWORD)v21;
if ( !(_DWORD)v21 )
{
v21 = v19;
do
{
v19 = v20(v21);
v21 = v22 + (unsigned int)v7 + v22;
v23 = __CFADD__((_DWORD)v2, (_DWORD)v2);
LODWORD(v2) = 2 * v2;
if ( !(_DWORD)v2 )
{
v24 = *(_DWORD *)v5;
v7 = (unsigned __int64)v5 < 0xFFFFFFFFFFFFFFFCuLL;
v5 += 4;
v25 = v7 + v24;
v23 = __CFADD__(v7, v24) | __CFADD__(v24, v25);
LODWORD(v2) = v24 + v25;
}
}
while ( !v23 );
}
sub_140023DE2(v19 + (v3 < 0xFFFFFFFFFFFFF300uLL) + (_DWORD)v21);
}
a2 = (unsigned __int8)a2;
++v5;
v16 = ~((unsigned __int8)a2 | (v15 <= v26 )
goto LABEL_30;
v29 = *v27;
v30 = (unsigned int *)(v27 + 1);
while ( v29 == 0xE8 || v29 == 0xE9 )
{
do
{
if ( (unsigned __int64)v30 >= v26 )
{
LABEL_30:
v32 = v50[0];
v33 = (char *)(v50[0] + 0x20000LL);
while ( 1 )
{
v34 = *(unsigned int *)v33;
if ( !*(_DWORD *)v33 )
break;
v35 = (FARPROC *)(v32 + *((unsigned int *)v33 + 1));
v33 += 8;
LibraryA = LoadLibraryA((LPCSTR)(v34 + v32 + 147456));
while ( 1 )
{
v37 = *v33++;
if ( !v37 )
break;
if ( v37 >= 0 )
{
v39 = v33;
v38 = v33;
v40 = v37 – 1;
do
{
if ( !v39 )
break;
v41 = *v33++ == v40;
–v39;
}
while ( !v41 );
}
else
{
v38 = (const CHAR *)*(unsigned __int16 *)v33;
v33 += 2;
}
ProcAddress = GetProcAddress(LibraryA, v38);
if ( !ProcAddress )
ExitProcess(v43);
*v35++ = ProcAddress;
}
}
v44 = v33 + 4;
for ( i = (unsigned __int64 *)(v32 – 4); ; *i = v32 + _byteswap_uint64(*i) )
{
LODWORD(v46) = *(unsigned __int8 *)v44;
v44 = (_WORD *)((char *)v44 + 1);
v46 = (unsigned int)v46;
if ( !(_DWORD)v46 )
break;
if ( (unsigned __int8)v46 > 0xEFu )
{
LOBYTE(v46) = v46 & 0xF;
v46 = (unsigned int)((_DWORD)v46 <= 0x80u && v29 = v26 )
goto LABEL_30;
v48 = v30;
goto LABEL_21;
}
// 140023FFC: positive sp value A8 has been found
// 140023FFC: control flows out of bounds to 140013870
// 140023E25: variable ‘v5’ is possibly undefined
// 140023E28: variable ‘v4’ is possibly undefined
// 140023E2F: variable ‘v2’ is possibly undefined
// 140023E42: variable ‘v6’ is possibly undefined
// 140023E42: variable ‘a1’ is possibly undefined
// 140023E42: variable ‘a2’ is possibly undefined
// 140023E45: variable ‘v7’ is possibly undefined
// 140023E77: variable ‘v18’ is possibly undefined
// 140023E75: variable ‘v17’ is possibly undefined
// 140023E7A: variable ‘v21’ is possibly undefined
// 140023E83: variable ‘v20’ is possibly undefined
// 140023E86: variable ‘v22’ is possibly undefined
// 140023E96: variable ‘v3’ is possibly undefined
// 140023F5D: variable ‘v43’ is possibly undefined
// nfuncs=5 queued=4 decompiled=4 lumina nreq=0 worse=0 better=0
// ALL OK, 4 function(s) have been successfully decompiled
/* This file was generated by the Hex-Rays decompiler version 9.2.0.250908.
Copyright (c) 2007-2021 Hex-Rays
Detected compiler: Visual C++
*/
#include
#include
//————————————————————————-
// Function declarations
void ExceptionDir();
void __fastcall start(__int64 a1, __int64 a2);
int *__fastcall sub_140023DE2(unsigned int a1);
void __fastcall sub_140023E20(__int64 a1, __int64 a2);
//————————————————————————-
// Data declarations
// extern HMODULE (__stdcall *LoadLibraryA)(LPCSTR lpLibFileName);
// extern void (__stdcall __noreturn *ExitProcess)(UINT uExitCode);
// extern FARPROC (__stdcall *GetProcAddress)(HMODULE hModule, LPCSTR lpProcName);
// extern BOOL (__stdcall *VirtualProtect)(LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
//—– (000000014001F000) —————————————————-
void ExceptionDir()
{
;
}
//—– (0000000140023DB0) —————————————————-
void __fastcall start(__int64 a1, __int64 a2)
{
sub_140023E20(0, a2);
}
// 140023DC2: ignored the value written to the shadow area of the succeeding call
//—– (0000000140023DE2) —————————————————-
int *__fastcall sub_140023DE2(unsigned int a1)
{
unsigned __int64 v1; // rbp
_DWORD *v2; // rdi
int *result; // rax
char v4; // dl
unsigned int v5; // ecx
int v6; // edx
bool v7; // cf
bool v8; // zf
result = (_DWORD *)((char *)v2 + v1);
v4 = *((_BYTE *)v2 + v1);
if ( a1 0xFFFFFFFFFFFFFFFCuLL )
goto LABEL_9;
v5 = a1 – 4;
do
{
v6 = *result++;
v7 = v5 < 4;
v5 -= 4;
*v2++ = v6;
}
while ( !v7 );
v8 = v5 == -4;
a1 = v5 + 4;
v4 = *(_BYTE *)result;
if ( !v8 )
{
LABEL_9:
do
{
result = (int *)((char *)result + 1);
*(_BYTE *)v2 = v4;
–a1;
v4 = *(_BYTE *)result;
v2 = (_DWORD *)((char *)v2 + 1);
}
while ( a1 );
}
return result;
}
// 140023DE2: variable 'v2' is possibly undefined
// 140023DE2: variable 'v1' is possibly undefined
//—– (0000000140023E20) —————————————————-
// positive sp value has been detected, the output may be wrong!
void __fastcall sub_140023E20(__int64 a1, __int64 a2)
{
unsigned __int64 v2; // rbx
unsigned __int64 v3; // rbp
_BYTE *v4; // rdi
_BYTE *v5; // rsi
__int64 (__fastcall *v6)(__int64, __int64); // r11
bool v7; // cf
int v8; // ebx
int v9; // ett
int v10; // eax
unsigned int v11; // eax
bool v12; // cf
int v13; // ebx
int v14; // ett
unsigned int v15; // eax
int v16; // eax
int v17; // ecx
__int64 (__fastcall *v18)(_QWORD); // r11
unsigned int v19; // eax
__int64 (__fastcall *v20)(__int64); // r11
__int64 v21; // rcx
int v22; // ecx
bool v23; // cf
int v24; // ebx
int v25; // ett
unsigned __int64 v26; // rcx
_BYTE *v27; // rsi
int v28; // ebx
unsigned __int8 v29; // al
unsigned int *v30; // rsi
unsigned int v31; // eax
__int64 v32; // rsi
char *v33; // rdi
__int64 v34; // rax
FARPROC *v35; // rbx
HMODULE LibraryA; // rbp
char v37; // al
const CHAR *v38; // rdx
char *v39; // rcx
char v40; // al
bool v41; // zf
FARPROC ProcAddress; // rax
UINT v43; // ecx
_WORD *v44; // rdi
unsigned __int64 *i; // rbx
__int64 v46; // rax
__int64 v47; // rdi
unsigned int *v48; // [rsp-60h] [rbp-B0h]
__int64 (__fastcall *v49)(__int64, __int64); // [rsp-58h] [rbp-A8h]
_QWORD v50[4]; // [rsp-50h] [rbp-A0h] BYREF
__int64 v51; // [rsp-30h] [rbp-80h] BYREF
__int64 v52; // [rsp-28h] [rbp-78h] BYREF
v6 = v49;
while ( 1 )
{
while ( 1 )
{
LOBYTE(a2) = *v5;
v7 = __CFADD__((_DWORD)v2, (_DWORD)v2);
LODWORD(v2) = 2 * v2;
if ( !(_DWORD)v2 )
{
v8 = *(_DWORD *)v5;
v7 = (unsigned __int64)v5 < 0xFFFFFFFFFFFFFFFCuLL;
v5 += 4;
v9 = v7 + v8;
v7 = __CFADD__(v7, v8) | __CFADD__(v8, v9);
LODWORD(v2) = v8 + v9;
LOBYTE(a2) = *v5;
}
if ( !v7 )
break;
++v5;
*v4++ = a2;
}
do
{
v10 = v6(a1, a2);
v11 = v10 + v7 + v10;
v12 = __CFADD__((_DWORD)v2, (_DWORD)v2);
v2 = (unsigned int)(2 * v2);
if ( !(_DWORD)v2 )
{
v13 = *(_DWORD *)v5;
v7 = (unsigned __int64)v5 < 0xFFFFFFFFFFFFFFFCuLL;
v5 += 4;
v14 = v7 + v13;
v12 = __CFADD__(v7, v13) | __CFADD__(v13, v14);
v2 = (unsigned int)(v13 + v14);
LOBYTE(a2) = *v5;
}
}
while ( !v12 );
v7 = v11 < 3;
v15 = v11 – 3;
if ( !v7 )
break;
LABEL_12:
v6(a1, a2);
v19 = v18(v17 + (unsigned int)v7 + v17);
LODWORD(v21) = v21 + v7 + (_DWORD)v21;
if ( !(_DWORD)v21 )
{
v21 = v19;
do
{
v19 = v20(v21);
v21 = v22 + (unsigned int)v7 + v22;
v23 = __CFADD__((_DWORD)v2, (_DWORD)v2);
LODWORD(v2) = 2 * v2;
if ( !(_DWORD)v2 )
{
v24 = *(_DWORD *)v5;
v7 = (unsigned __int64)v5 < 0xFFFFFFFFFFFFFFFCuLL;
v5 += 4;
v25 = v7 + v24;
v23 = __CFADD__(v7, v24) | __CFADD__(v24, v25);
LODWORD(v2) = v24 + v25;
}
}
while ( !v23 );
}
sub_140023DE2(v19 + (v3 < 0xFFFFFFFFFFFFF300uLL) + (_DWORD)v21);
}
a2 = (unsigned __int8)a2;
++v5;
v16 = ~((unsigned __int8)a2 | (v15 <= v26 )
goto LABEL_30;
v29 = *v27;
v30 = (unsigned int *)(v27 + 1);
while ( v29 == 0xE8 || v29 == 0xE9 )
{
do
{
if ( (unsigned __int64)v30 >= v26 )
{
LABEL_30:
v32 = v50[0];
v33 = (char *)(v50[0] + 0x20000LL);
while ( 1 )
{
v34 = *(unsigned int *)v33;
if ( !*(_DWORD *)v33 )
break;
v35 = (FARPROC *)(v32 + *((unsigned int *)v33 + 1));
v33 += 8;
LibraryA = LoadLibraryA((LPCSTR)(v34 + v32 + 147456));
while ( 1 )
{
v37 = *v33++;
if ( !v37 )
break;
if ( v37 >= 0 )
{
v39 = v33;
v38 = v33;
v40 = v37 – 1;
do
{
if ( !v39 )
break;
v41 = *v33++ == v40;
–v39;
}
while ( !v41 );
}
else
{
v38 = (const CHAR *)*(unsigned __int16 *)v33;
v33 += 2;
}
ProcAddress = GetProcAddress(LibraryA, v38);
if ( !ProcAddress )
ExitProcess(v43);
*v35++ = ProcAddress;
}
}
v44 = v33 + 4;
for ( i = (unsigned __int64 *)(v32 – 4); ; *i = v32 + _byteswap_uint64(*i) )
{
LODWORD(v46) = *(unsigned __int8 *)v44;
v44 = (_WORD *)((char *)v44 + 1);
v46 = (unsigned int)v46;
if ( !(_DWORD)v46 )
break;
if ( (unsigned __int8)v46 > 0xEFu )
{
LOBYTE(v46) = v46 & 0xF;
v46 = (unsigned int)((_DWORD)v46 <= 0x80u && v29 = v26 )
goto LABEL_30;
v48 = v30;
goto LABEL_21;
}
// 140023FFC: positive sp value A8 has been found
// 140023FFC: control flows out of bounds to 140013870
// 140023E25: variable ‘v5’ is possibly undefined
// 140023E28: variable ‘v4’ is possibly undefined
// 140023E2F: variable ‘v2’ is possibly undefined
// 140023E42: variable ‘v6’ is possibly undefined
// 140023E42: variable ‘a1’ is possibly undefined
// 140023E42: variable ‘a2’ is possibly undefined
// 140023E45: variable ‘v7’ is possibly undefined
// 140023E77: variable ‘v18’ is possibly undefined
// 140023E75: variable ‘v17’ is possibly undefined
// 140023E7A: variable ‘v21’ is possibly undefined
// 140023E83: variable ‘v20’ is possibly undefined
// 140023E86: variable ‘v22’ is possibly undefined
// 140023E96: variable ‘v3’ is possibly undefined
// 140023F5D: variable ‘v43’ is possibly undefined
// nfuncs=5 queued=4 decompiled=4 lumina nreq=0 worse=0 better=0
// ALL OK, 4 function(s) have been successfully decompiled
this does not work?