add game&rawdata

This commit is contained in:
Vasily Petrov 2026-06-17 23:06:51 +03:00
parent 0133cd976c
commit 49b34b5546
45731 changed files with 709831 additions and 0 deletions

View file

@ -0,0 +1,52 @@
#include "fluid_common.h"
cbuffer BoxBounds
{
// float3 boxLBDcorner;
// float3 boxRTUcorner;
float4 boxLBDcorner;
float4 boxRTUcorner;
}
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 input )
{
PSDrawBoxOut voxel;
float3 innerboxLBDcorner = boxLBDcorner + 1;
float3 innerboxRTUcorner = boxRTUcorner - 1;
// cells completely inside box = 1.0
if(PointIsInsideBox(input.cell0, innerboxLBDcorner, innerboxRTUcorner))
{
voxel.obstacle = 0.5;
voxel.velocity = 0;
return voxel;
}
// cells in box boundary = 0.5
if(PointIsInsideBox(input.cell0, boxLBDcorner, boxRTUcorner))
{
voxel.obstacle = 1.0;
//voxel.velocity = float4(obstVelocity.xyz,1);
voxel.velocity = 0;
return voxel;
}
// Kill texel to preserve other obstacles
clip(-1);
return (PSDrawBoxOut)0;
}