#include "macros.hlsl"
#include "ray_trace.hlsl"

struct MeshPayload
{
}
struct RayPayload
{
	float3 m_vOrigin;
	float3 m_vDirection;
	float3 m_vColor;
};

RAY
{
	funnyAccelerationStructure g_asGlobal;
	Texture2D<float> g_tWorldSpaceCoords;
	RWTexture2D<float> g_tDirectImage;
	RWTexture2D<float> g_tIndirectImage;

	
	
	void rayMain()
	{
		RayPayload p = {};
		CallShader<RayPayload>(0, p);
		printf("%f\n", p.m_vColor.x);
		
	/*
		uint2 pixel = DispatchRaysIndex().xy;
		MeshPayload p;
		RayDesc ray;
		ray.Origin = g_tWorldSpaceCoords[pixel];
		ray.Direction = float3(1,0,0);
		ray.TMin = 0.001;
		ray.TMax = 10000;
		funnyHitObject hit = funnyHitObject::TraceRay(g_asGlobal, RAY_FLAG_NONE, 0xFF, 0, 1, 0, ray, p);
	*/
	}
}
