/*
Copyright (C) 2010, Heikki Salo
All rights reserved.
Distributed under the BSD license:
http://www.opensource.org/licenses/bsd-license.php
*/
#ifndef DP_EFFECT_HPP
#define DP_EFFECT_HPP
#include "stdafx.h"
#include "DPBase.hpp"
class DPView;
class DPMatrix;
class DPVector;
class DPBuffer;
class DPEffect : DPBase {
public:
~DPEffect();
DPEffect(const char*, python::object&, UINT);
void release();
void apply(UINT, UINT);
void applyStr(const char*, UINT);
python::list getTechniques();
python::list getPasses(UINT);
python::object get(const char*);
void set(const char*, python::object&);
void setView(const char*, DPView&);
void setMatrix(const char*, DPMatrix&);
void setBuffer(const char*, DPBuffer&);
void setRaw(const char*, python::object&);
ID3DX11Effect* getEffect() { return effect; }
private:
ID3DX11Effect* effect;
ID3DX11EffectVariable* getVariable(const char*);
};
#endif