openspades/Sources/Draw/IGLShadowMapRenderer.h
2013-08-18 16:18:06 +09:00

41 lines
739 B
C++

//
// IGLShadowMapRenderer.h
// OpenSpades
//
// Created by yvt on 7/26/13.
// Copyright (c) 2013 yvt.jp. All rights reserved.
//
#pragma once
#include "../Core/Math.h"
namespace spades {
namespace draw {
class GLRenderer;
struct GLShadowMapRenderParam {
Matrix4 matrix;
virtual ~GLShadowMapRenderParam(){}
};
class IGLShadowMapRenderer{
GLRenderer *renderer;
protected:
void RenderShadowMapPass();
public:
IGLShadowMapRenderer(GLRenderer *);
virtual ~IGLShadowMapRenderer(){}
GLRenderer *GetRenderer() { return renderer; }
virtual void Render() = 0;
virtual bool Cull(const AABB3&) = 0;
virtual bool SphereCull(const Vector3& center, float rad) = 0;
};
}
}