Adreno SDK 详细介绍(一)

来源:互联网 发布:三星专用下载软件 编辑:程序博客网 时间:2024/06/03 18:30



3、获取Input事件

可以通过FrmGetInput函数来获取输入事件。

[cpp] view plain copy
  1. VOID CSample::Update()  
  2. {  
  3.     UINT32 nButtons;  
  4.     UINT32 nPressedButtons;  
  5.   
  6.     FrmGetInput( &m_Input, &nButtons, &nPressedButtons );  
  7.     if( nButtons & INPUT_KEY_0 )  
  8.     {  
  9.         // Do something if the '0' key is pressed  
  10.     }  
  11. }  
  12.   
  13.     1  
  14.     2  
  15.     3  
  16.     4  
  17.     5  
  18.     6  
  19.     7  
  20.     8  
  21.     9  
  22.     10  
  23.     11  


4、资源包

可以通过打包工具ResourcePacker将纹理的资源文件打包成.pak文件,自动将TGA、BMP、JPG等格式的文件转换为OpenGLES使用的纹理格式(比如ATC等)。在运行时可以通过CFrmPackedResource 类动态加载访问。

[cpp] view plain copy
  1. CFrmPackedResource resource;  
  2. if( FALSE == resource.LoadFromFile( "Media\\Textures.pak" ) )  
  3.     return FALSE;  
  4. ....  
  5. CFrmTexture* pLogoTexture = resource.GetTexture( "Logo" );  
  6. }  
  7.   
  8.     1  
  9.     2  
  10.     3  
  11.     4  
  12.     5  
  13.     6  


5、文字渲染

可以通过工具FontMaker 将文字光栅化成bitmap图像文件,会输出三个文件:TGA图像文件、字体数据文件、xml描述文件。然后可以通过ResourcePacker将这三个文件打包成.pak格式文件,用来动态加载显示文字信息。

[cpp] view plain copy
  1. CFrmFont Font;   
  2. BOOL bResult = Font.Create( "Media\\Fonts\\SomeFont16.pak" );  
  3. ...  
  4. Font.DrawText( 10, 10, FRMCOLOR_WHITE, "Draw this text." );  
  5.   
  6.     1  
  7.     2  
  8.     3  
  9.     4  


6、几何网格

Framework提供了一种保存几何网格的数据结构,这个比较复杂,后面我们会专门讨论。

[cpp] view plain copy
  1. CFrmMesh Mesh;  
  2. if( FALSE == Mesh.Load( "Media\\Meshes\\Test.mesh" ) )  
  3.     return FALSE;  
  4.   
  5. if( FALSE == Mesh.MakeDrawable( &resource ) )  
  6.      return FALSE;  
  7.   
  8.     1  
  9.     2  
  10.     3  
  11.     4  
  12.     5  
  13.     6  


7、UI界面

Framework提供一套UI界面实现方案,用户可以通过FrmUserInterface类在渲染场景上显示一个UI界面。

[cpp] view plain copy
  1. CFrmFont Font;  
  2. if( FALSE == Font.Create( "Media\\Fonts\\Font.pak" ) )  
  3.        return FALSE;  
  4.   
  5. CFrmPackedResource resource;  
  6. if( FALSE == resource.LoadFromFile( "Media\\Textures.pak" ) )  
  7.         return FALSE;  
  8.   
  9. CFrmTexture* pTexture;  
  10. pTexture = resource.GetTexture( "Overlay" );  
  11.   
  12. CFrmUserInterface UI;  
  13. if( FALSE == UI.Initialize( &Font, "Title" ) )  
  14.         return FALSE;  
  15.   
  16. FLOAT32 fVariable   = 10.0f;  
  17. const CHAR* strVariable = "Some value"  
  18. UI.AddHelpFloatVariable( &fVariable, "Var1""%3.1f" );  
  19. UI.AddHelpStringVariable( &strVariable, "Var2" );  
  20. UI.AddHelpKeyInfo( FRM_FONT_KEY_0, "Toggle Info Pane" );  
  21. UI.AddHelpKeyInfo( FRM_FONT_KEY_1, "Do something" );  
  22. UI.AddHelpKeyInfo( FRM_FONT_KEY_2, "Do something else" );  
  23. UI.AddOverlay( pTexture->m_hTextureHandle, -5, -5, 128, 64 );  
  24.   
  25.  ...  
  26.   
  27. UI.Render();  

原文地址:http://blog.csdn.NET/cuichuankai/article/details/49660577

0 0