diff options
| author | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
|---|---|---|
| committer | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
| commit | bd0027e737c6512397f841c22786274ed74b927f (patch) | |
| tree | f7ffbdb8f3741bb7f24635616cc189cba5cb865c /vrayPlug/plugin/shaveVrayInstanceI.h | |
| download | shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.tar.xz shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.zip | |
Adding Shave-and-a-Haircut 9.6
Diffstat (limited to 'vrayPlug/plugin/shaveVrayInstanceI.h')
| -rw-r--r-- | vrayPlug/plugin/shaveVrayInstanceI.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/vrayPlug/plugin/shaveVrayInstanceI.h b/vrayPlug/plugin/shaveVrayInstanceI.h new file mode 100644 index 0000000..2d3d614 --- /dev/null +++ b/vrayPlug/plugin/shaveVrayInstanceI.h @@ -0,0 +1,93 @@ +#ifndef _HAIR_VRAY_INSTANCE_instanced_H_ +#define _HAIR_VRAY_INSTANCE_instanced_H_ + +// Shave and a Haircut +// (c) 2019 Epic Games +// US Patent 6720962 + +/********************************************************************** + *< + FILE: shaveVrayInstanceI.h + + DESCRIPTION: VRay instance for instnaced hair + + CREATED BY: Vladimir Dubovoy <[email protected]> + + HISTORY: created 11-05-2010 + + *> + **********************************************************************/ + +// V-Ray headers +#include "vraybase.h" +#include "vraymayageom.h" +#include "vrayplugins.h" +#include "geometryclasses.h" +//own headers +#include "hairAPIvrayutil.h" +#include "shaveVrayPlugin.h" +#include "shaveVrayVoxelPrim.h" +#include "shaveVrayInstanceBase.h" + + +class shaveVrayInstanceI : +#if defined VRAY30 + public VR::BaseMeshInstance, +#elif defined(VRAY40) + public VR::BaseInstance, +#endif + public shaveVrayInstanceBase{ +public: + //shaveVrayPlugin *plugin; //goes to base + + + shaveVrayInstanceI(shaveVrayPlugin *plugin, + VR::MaterialInterface *mtl, VR::BSDFInterface *bsdf, int renderID, + VR::VolumetricInterface *volume, VR::LightList *lightList, +#if defined(VRAY30) + const VR::TraceTransform &baseTM, +#elif defined(VRAY40) + const VR::Transform &baseTM, +#endif + int objectID, + const tchar *userAttributes, int primaryVisibility); + + void compileGeometry(VR::VRayRenderer *vray, +#if defined(VRAY30) + VR::TraceTransform *tm, +#elif defined(VRAY40) + const VR::Transform *tm, +#endif + double *times, int tmCount) VRAY_OVERRIDE; + void clearGeometry(VR::VRayRenderer *vray) VRAY_OVERRIDE; + + //void freeMem(); + + //VR::Transform GetItm0() const {return itm[0];} + + bool GetSquirrel() const {return false;} + +protected: + ////const member access + //inline const std::vector<shaveVrayVoxelPrim*>& voxprims() const {return m_voxprims;} + //inline shaveVrayVoxelPrim* voxprim(unsigned int i) const {return m_voxprims[i];} + //inline int stackid() const {return m_stackid;} + //inline IHairNode* hair() const {return m_hair;} + + ////member access + //inline std::vector<shaveVrayVoxelPrim*>& _voxprims() {return m_voxprims;} + //inline shaveVrayVoxelPrim*& _voxprim(unsigned int i){return m_voxprims[i];} + //inline int& _stackid() {return m_stackid;} + //inline IHairNode*& _hair() {return m_hair;} + +private: + ////moving or static primiteves + //std::vector<shaveVrayVoxelPrim*> m_voxprims; + + //int m_stackid; + //IHairNode* m_hair; +}; + + + +#endif //end of_HAIR_VRAY_INSTANCE_instanced_H_ |