aboutsummaryrefslogtreecommitdiff
path: root/vrayPlug/plugin/shaveVrayBaseBSDFPool.h
blob: d8968cb55dfb653e619f9303d7875b41f3e2055f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef _HAIR_BASE_BSDF_POOL_H_
#define _HAIR_BASE_BSDF_POOL_H_

// Shave and a Haircut
// (c) 2019 Epic Games
// US Patent 6720962

#include "hairAPIvray.h"
#include "shaveVrayBaseBSDF.h"

class shaveVrayBaseBSDFPool : public IShaveBSDFPool {
public: 
	shaveVrayBaseBSDFPool(){}
	virtual ~shaveVrayBaseBSDFPool(){}

	void init(VR::VRayCore *vray);
	void freeMem();

	IShaveVrayBSDF* newBRDF(const VR::VRayContext &rc);
	void deleteBRDF(const VR::VRayContext &rc, IShaveVrayBSDF* bsdf);

protected:
	inline const VR::BRDFPool<shaveVrayBaseBSDF>& bsdfPool() const {return m_bsdfPool;}
	inline VR::BRDFPool<shaveVrayBaseBSDF>& _bsdfPool() {return m_bsdfPool;}
private:
	VR::BRDFPool<shaveVrayBaseBSDF> m_bsdfPool;
};


#endif