/****************************************************************************** Defines ******************************************************************************/ // Index to bind the attributes to vertex shaders #define VERTEX_ARRAY 0 #define NORMAL_ARRAY 1 #define TEXCOORD_ARRAY 2 /****************************************************************************** Consts ******************************************************************************/ // Const for the shadow map texture size const unsigned int m_ui32ShadowMapSize = 512; const CPVRTStringHash c_RenderShadowMapEffectName = CPVRTStringHash("RenderShadowMap"); const CPVRTStringHash c_RenderSceneEffectName = CPVRTStringHash("RenderSceneUsingShadowMap"); const CPVRTStringHash c_sTextureNames[] = { CPVRTStringHash("Mask"), CPVRTStringHash("TableCover"), CPVRTStringHash("Torus") }; const unsigned int c_uiNumTextureNames = sizeof(c_sTextureNames) / sizeof(c_sTextureNames[0]); /****************************************************************************** Structures and enums ******************************************************************************/ enum eCustomSemantics
from an illuminated sphere. The demo also shows how to handle a PFX file with PVRShaman semantics. Please refer to MagicLanternShaders.pfx for a detailed explanation of how the shaders work. ******************************************************************************/ #include <string.h> #include "PVRShell.h" #include "OGLES3Tools.h" /****************************************************************************** Content filenames ******************************************************************************/ const char c_szPFXSrcFile[] = "MagicLanternShaders.pfx"; const char c_szSceneFile[] = "MagicLantern.pod"; const CPVRTStringHash c_SphereEffectName = CPVRTStringHash("Sphere"); /****************************************************************************** Structures ******************************************************************************/ struct STextureData { GLuint uiHandle; // The GL handle unsigned int uiFlags; // Data such as cube map, etc. }; /*!**************************************************************************** Class implementing the PVRShell functions. ******************************************************************************/ class OGLES3MagicLantern : public PVRShell, public PVRTPFXEffectDelegate {