//
// Asura_GX_DOF.h
//
// Created by KOR - 12 November 2008
//
// Copyright (C) 2008 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_GX_DOF_H__
#define __ASURA_GX_DOF_H__

#include <revolution/gx/gxstruct.h>

const u_int uASURA_GX_DOF_GRADIENT_SIZE = 256;

class Asura_GX_DOF
{
public:
	static void Initialise();
	static void Shutdown();
	static void Render( const float fNearZ, const float fFarZ, const float fBlurSize, const float fBlurStrength );

private:

	static u_short*		s_pusZBuffer;
	static u_int*		s_puBlurBuffer;
	static u_char*		s_pucGradientBuffer;
	static GXTexObj		s_xZTexObj;
	static GXTexObj		s_xBlurTexObj;
	static GXTexObj		s_xGradientTexObj;
};

#endif//__ASURA_GX_DOF_H__