00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Visual Effects Engine - VEE 00006 * 00007 * Read the "VEE-LICENSE" file for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00012 * Janne Kontkanen 2001-2004 00013 * 00014 * Additional copyrights: Tekes 2003-2004 00015 * 00016 * firstname.lastname@hut.fi 00017 * 00018 */ 00019 00020 #ifndef VEE_RENDER_CLASS_H 00021 #define VEE_RENDER_CLASS_H 00022 00023 enum VEE_MotionAlign { 00024 VEE_ALIGN_BILLBOARD, 00025 VEE_ALIGN_MOTION_TOTAL, 00026 VEE_ALIGN_MOTION_TEXTURE, 00027 VEE_ALIGN_MOTION_SHEAR, 00028 VEE_ALIGN_FIXED, 00029 VEE_ALIGN_SIZEOF 00030 }; 00031 00033 class VEE_RenderClass 00034 { 00035 public: 00036 VEE_RenderClass(); 00037 ~VEE_RenderClass(); 00038 00039 void defaults(); 00040 00041 float lengthScale() const { return m_lengthScale; } 00042 void setLengthScale(float scale) { m_lengthScale = scale; } 00043 float maxLengthScale() const { return m_maxLengthScale; } 00044 void setMaxLengthScale(float scale) { m_maxLengthScale = scale; } 00045 00046 VEE_MotionAlign align() const { return m_align; } 00047 void setAlign(VEE_MotionAlign a) { m_align = a; } 00048 00049 void nextAlignMent() 00050 { m_align = (VEE_MotionAlign) ((int) (m_align + 1) % VEE_ALIGN_SIZEOF); } 00051 00052 int shader() const { return m_shader; } 00053 void setShader(int shader) { m_shader = shader; } 00054 protected: 00055 int m_shader; 00056 float m_lengthScale; 00057 float m_maxLengthScale; 00058 00059 VEE_MotionAlign m_align; 00060 00061 }; 00062 00063 #endif