\hypertarget{class_ogre_1_1_r_t_shader_1_1_dual_quaternion_skinning}{}\doxysection{Ogre\+::R\+T\+Shader\+::Dual\+Quaternion\+Skinning Class Reference}
\label{class_ogre_1_1_r_t_shader_1_1_dual_quaternion_skinning}\index{Ogre::RTShader::DualQuaternionSkinning@{Ogre::RTShader::DualQuaternionSkinning}}


Implement a sub render state which performs dual quaternion hardware skinning.  




{\ttfamily \#include $<$Ogre\+Shader\+Ex\+Dual\+Quaternion\+Skinning.\+h$>$}



Inheritance diagram for Ogre\+::R\+T\+Shader\+::Dual\+Quaternion\+Skinning\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=254pt]{class_ogre_1_1_r_t_shader_1_1_dual_quaternion_skinning__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group___r_t_shader_ga922bd08a7f704ed7002320b57a2d007f}{Dual\+Quaternion\+Skinning}} ()
\begin{DoxyCompactList}\small\item\em Class default constructor. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{group___r_t_shader_ga96acaf8eb55fa1cd0e0dfd98222b0640}{add\+Function\+Invocations}} (\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_program_set}{Program\+Set}} $\ast$program\+Set)
\item 
virtual void \mbox{\hyperlink{group___r_t_shader_ga85e711c9def8444e407820c07e23d126}{copy\+From}} (const \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_hardware_skinning_technique}{Hardware\+Skinning\+Technique}} $\ast$hard\+Skin)
\item 
\mbox{\hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort}} \mbox{\hyperlink{group___r_t_shader_ga3a272a71bc57581c22597533d085c10c}{get\+Bone\+Count}} ()
\begin{DoxyCompactList}\small\item\em Returns the number of bones in the model assigned to the material. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort}} \mbox{\hyperlink{group___r_t_shader_ga1bb9cbae97b99f6ed962b2f87a89e04d}{get\+Weight\+Count}} ()
\begin{DoxyCompactList}\small\item\em Returns the number of weights/bones affecting a vertex. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{group___r_t_shader_ga6bec48df043c761525c10fa1c3805208}{has\+Correct\+Antipodality\+Handling}} ()
\begin{DoxyCompactList}\small\item\em Only applicable for dual quaternion skinning. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{group___r_t_shader_gaed668a1eb73bffe240faec2e174701c7}{has\+Scaling\+Shearing\+Support}} ()
\begin{DoxyCompactList}\small\item\em Only applicable for dual quaternion skinning. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{group___r_t_shader_ga2d9c2c117871a07a446b468b0127895a}{resolve\+Dependencies}} (\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_program_set}{Program\+Set}} $\ast$program\+Set)
\item 
virtual bool \mbox{\hyperlink{group___r_t_shader_gaa007b47a606d45373658a277c6c89f4a}{resolve\+Parameters}} (\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_program_set}{Program\+Set}} $\ast$program\+Set)
\item 
void \mbox{\hyperlink{group___r_t_shader_ga9f6040d44ac57c6bdb187bc111716aa7}{set\+Do\+Bone\+Calculations}} (bool do\+Bone\+Calculations)
\item 
void \mbox{\hyperlink{group___r_t_shader_gafa9516c0d0a2b16f3dae733a989b844e}{set\+Hardware\+Skinning\+Param}} (\mbox{\hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort}} bone\+Count, \mbox{\hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort}} weight\+Count, bool correct\+Antipodality\+Handling=false, bool scaling\+Shearing\+Support=false)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Implement a sub render state which performs dual quaternion hardware skinning. 

This sub render state uses bone matrices converted to dual quaternions and adds calculations to transform the points and normals using their associated dual quaternions. 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_shader_ex_dual_quaternion_skinning_8h}{Ogre\+Shader\+Ex\+Dual\+Quaternion\+Skinning.\+h}}\end{DoxyCompactItemize}
