#include "fluid_common.hlsli"

struct PSDrawBoxOut
{
    float4 obstacle : SV_TARGET0;
    float4 velocity : SV_TARGET1;
};

bool PointIsInsideBox(float3 p, float3 LBUcorner, float3 RTDcorner)
{
    return ((p.x > LBUcorner.x) && (p.x < RTDcorner.x) &&
        (p.y > LBUcorner.y) && (p.y < RTDcorner.y) &&
        (p.z > LBUcorner.z) && (p.z < RTDcorner.z));
}

//	Pixel
PSDrawBoxOut main(p_fluidsim_clip input)
{
    PSDrawBoxOut voxel;

    // cells completely inside box = 0.5
    if ((input.clip0.x > BOX_EXPANSION) && (input.clip1.x > BOX_EXPANSION) &&
        (input.clip0.y > BOX_EXPANSION) && (input.clip1.y > BOX_EXPANSION) &&
        (input.clip0.z > BOX_EXPANSION) && (input.clip1.z > BOX_EXPANSION))
    {
        voxel.obstacle = 0.5;
        voxel.velocity = 0;
        return voxel;
    }
    else // cells in box boundary = 1.0
    {
        voxel.obstacle = 1.0;
        // voxel.velocity = float4(obstVelocity.xyz,1);
        voxel.velocity = 0;
        return voxel;
    }
}
