64 lines
1.8 KiB
C++
64 lines
1.8 KiB
C++
#pragma once
|
|
|
|
/***********************************************************************************/
|
|
/** \file PSSM.h
|
|
** \brief Header File zur Klasse PSSM
|
|
*************************************************************************************
|
|
** Autor: Christian Roesch
|
|
*************************************************************************************
|
|
** _tut nichts_
|
|
**
|
|
*//*********************************************************************************/
|
|
|
|
#ifndef _PSSM_H
|
|
#define _PSSM_H
|
|
|
|
// includes
|
|
#include <d3dx9.h>
|
|
|
|
#include <cassert>
|
|
|
|
// Klassen-Deklaration
|
|
extern IDirect3DDevice9* g_d3d_device;
|
|
|
|
/***********************************************************************************/
|
|
/** \brief PSSM _tut nichts_
|
|
*************************************************************************************
|
|
** Genau genommen _tut dies nichts_
|
|
**
|
|
*//*********************************************************************************/
|
|
|
|
class PSSM
|
|
{
|
|
public:
|
|
static const int MaxSplitCount = 16;
|
|
|
|
void Init();
|
|
|
|
void UpdateSplits(const D3DXVECTOR3 &vLightDir, const D3DXMATRIX &mView, const D3DXMATRIX &mProj);
|
|
|
|
int m_iSplitCount;
|
|
float m_fRange;
|
|
|
|
D3DXMATRIX m_ViewMatrices[MaxSplitCount];
|
|
D3DXMATRIX m_ProjMatrices[MaxSplitCount];
|
|
D3DXVECTOR3 m_ViewPos[MaxSplitCount];
|
|
D3DXVECTOR3 m_ViewDir[MaxSplitCount];
|
|
|
|
private:
|
|
void ComputeCornerPoints(D3DXVECTOR3 *pCorners,
|
|
float fNear, float fFar, float fFTanHalfFOVX, float fTanHalfFOVY,
|
|
const D3DXVECTOR3 &vCamPos, const D3DXVECTOR3 &vCamRight,
|
|
const D3DXVECTOR3 &vCamUp, const D3DXVECTOR3 &vCamLook,
|
|
float fOverlap);
|
|
};
|
|
|
|
#endif//_PSSM_H
|
|
|
|
class PSSM;
|
|
|
|
|
|
/************************************************************************************
|
|
** Ende der Datei: PSSM.h
|
|
************************************************************************************/
|