-
关于NDK通过纯C实现的asset_manager取bmp绘制opengl纹理问题10
第一次在这里求教大神,用ndk开发需要拿asset里的图片,用native activity里的asset_manager 通过AAsset_getBuffer拿到的图片,用opengl画就是画不正个图片,纹理坐标顶点坐标没问题,用glDrawElements绘制,绘出的结果左下角会有一排奇怪的像素,是一排颜色的点,然后图片整个向右边推移了半个身位,而且图片被滤成蓝色调。。。好吧我觉得很无语很无解。。随便了。。有人做ndk开发opengles的么。。glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); glClearColor(grey, blue, grey, 1.0f); glClear( GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); //启用纹理功能 glEnable(GL_TEXTURE_2D); //加载纹理贴图 GLuint rectTexture; glGenTextures(1, &rectTexture); glBindTexture(GL_TEXTURE_2D, rectTexture); // Create Nearest Filtered Texture glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 56, 81, 0, GL_RGB, GL_UNSIGNED_BYTE, _buf); //Point to our buffers glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); //Set the face rotation glFrontFace(GL_CCW); // scale glScalef(1.5f, 1.5f, 0.0f); // set light color glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glVertexPointer(3, GL_FLOAT, 0, vertices); glTexCoordPointer(2, GL_FLOAT, 0, texture); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices); glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_TEXTURE_COORD_ARRAY);
因为我通过代码生成的位图去画就毫无问题,所以定位到是asset取数据的问题。。。。2012年7月20日 11:02
目前还没有答案
相关推荐
总之,通过NDK和OpenGL ES,开发者可以在Android上实现高效且灵活的图形渲染,包括绘制正方形纹理。这需要对OpenGL ES API、C++编程以及Android应用结构有深入理解。通过不断学习和实践,你将能创造出更丰富、更生动...
在“Opengl ES 1.x NDK实例开发之七:旋转的纹理立方体”这个实例中,我们将深入探讨如何通过OpenGL ES和NDK在Android上创建一个旋转的纹理立方体。 首先,理解基本概念是关键。纹理立方体是一种将六个不同图像分别...
一个用于展示在AndroidNDK环境下实现OpenGL_ES_2.0渲染YUV的Demo_AndroidOpenGLESYUV
08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08_22_NDK_增量更新08...
在本文中,我们将深入探讨如何在创龙C6678开发板上进行NDK(Native Development Kit)编程,特别是关于TCP网络通信的配置。NDK是Android平台提供的一种工具集,允许开发者用C和C++原生代码来编写部分应用,以提高...
首先必须说,国内在OpenGL这方面特别是ndk上的分享太太太少 这中间遇到很多问题,而这些问题需要在书上,在网上,在各种资料上找,而且书上是java层调用,网上的缺少各种文件案例,只有在java层研究,在各种案例中找...
08_19_NDK_文件拆分_文件合并_大型应用跨平台解决方案08_19_NDK_文件拆分_文件合并_大型应用跨平台解决方案08_19_NDK_文件拆分_文件合并_大型应用跨平台解决方案08_19_NDK_文件拆分_文件合并_大型应用跨平台解决方案...
- **JNI接口**:通过Java Native Interface (JNI),NDK使Java代码能够与本地代码无缝交互,实现Java与C/C++的混合编程。 2. **使用场景** - **性能提升**:对于需要高效运算的任务,如物理模拟、图像处理和音频...
Android NDK(Native Development Kit)是Google为Android平台提供的一款用于开发原生代码的应用工具,它允许开发者使用C和C++编写部分应用代码,以利用设备的硬件性能或实现更底层的操作。在“android-ndk-r8dab....
本文主要介绍了如何使用Android NDK技术通过JNI实现Android Java层与C层的数据交互,并结合OpenGL ES 在C层实现一个3D效果代码,在Java层用于显示的软件。 一、 Android NDK简介 Android NDK是一套工具,帮助...
NDK是Android系统的一个组件,允许开发者使用C和C++编写原生代码,从而实现更高的性能和更低级别的硬件访问。在DM6437平台上,NDK提供了特定于平台的开发环境和工具,帮助开发者充分利用芯片的硬件特性。 标签中的...
在Android开发中,NDK(Native Development Kit)允许开发者用原生C++代码编写高性能的应用程序,特别是对于图形处理和游戏开发,NDK配合OpenGLES可以实现更高效的图形渲染。OpenGLES(OpenGL for Embedded Systems...
基于NDK的数字电视传输流_TS_网络采集系统
基于 Android NDK 进行 OpenGL ES 开发的完整案例 Android NDK 和 OpenGL ES 简介 ...通过分析 Demo 程序,可以了解如何使用 JNI 将 Java 代码和 C 代码连接起来,并如何使用 OpenGL ES 实现图形渲染。
本篇将详细讲解如何在Android NDK环境中利用C语言调用OpenGL ES来实现一个旋转的正方体。 首先,你需要对OpenGL ES有基本的了解。它是一个轻量级的图形库,适用于嵌入式设备如手机和平板。在Android中,OpenGL ES...
本教程将深入探讨如何在Android环境下结合OpenGL ES和JNI实现纹理贴图以及绘制三角形。 1. **OpenGL ES基础** OpenGL ES是OpenGL的一个精简版,专为嵌入式设备如智能手机和平板电脑设计。它提供了一个标准接口,...
2. 实现本地方法:使用C/C++编写图形处理的函数,实现OpenGL ES的图形绘制逻辑。 3. 生成动态链接库(.so文件):使用NDK提供的交叉编译工具链编译C/C++代码,生成适用于Android平台的库文件。 4. 集成到Android项目...
Android ndk opengl 绘制带控件可调参数平面波
Android平台,OpenGL ES3.0 点、线、三角形绘制方式源码实现举例。 相关绘制方式文章讲解请参考: https://xiaxl.blog.csdn.net/article/details/8873002
《Android Studio NDK开发详解——基于NDK_2_3_1.zip的实践教程》 在移动应用开发中,Android Studio作为主流的集成开发环境,提供了丰富的工具和技术支持。其中,NDK(Native Development Kit)是Android平台的一...