HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/resolve/Developer/DaVinciCTL/DissolveTransition.dctl
DEFINE_UI_PARAMS(useAlpha, Dissolve Alpha Channel, DCTLUI_CHECK_BOX, 1)

__DEVICE__ float4 transition(int p_Width, int p_Height, int p_X, int p_Y, __TEXTURE__ p_FromTexR, __TEXTURE__ p_FromTexG, __TEXTURE__ p_FromTexB, __TEXTURE__ p_FromTexA, __TEXTURE__ p_ToTexR, __TEXTURE__ p_ToTexG, __TEXTURE__ p_ToTexB, __TEXTURE__ p_ToTexA)
{
    const float alphaWeightFrom = _tex2D(p_FromTexA, p_X, p_Y) * (1.0f - TRANSITION_PROGRESS);
    const float alphaWeightTo   = _tex2D(p_ToTexA, p_X, p_Y) * TRANSITION_PROGRESS;

    // Dissolve RGB channels
    const float r = alphaWeightFrom * _tex2D(p_FromTexR, p_X, p_Y) + alphaWeightTo * _tex2D(p_ToTexR, p_X, p_Y);
    const float g = alphaWeightFrom * _tex2D(p_FromTexG, p_X, p_Y) + alphaWeightTo * _tex2D(p_ToTexG, p_X, p_Y);
    const float b = alphaWeightFrom * _tex2D(p_FromTexB, p_X, p_Y) + alphaWeightTo * _tex2D(p_ToTexB, p_X, p_Y);

    // Dissolve alpha channel
    const float a = useAlpha ? (alphaWeightFrom + alphaWeightTo) : 1.0f;
    return make_float4(r, g, b, a);
}