草庐IT

java - 如何将正确的数据传递给 Android OpenGL-ES 2.0 着色器程序

我有一个渲染器,它试图将点绘制为带纹理的正方形。没有任何崩溃,我还可以很好地绘制其他项目,但是没有渲染这些方block,我相信这与在我的drawTexturedPoint()函数中传递给着色器程序的数据有关。我有一个保存顶点位置的FloatBuffergeometryBuffer。具有完全相同顶点坐标的6个顶点,一个用于两个三角形的每个角。此缓冲区内有多个点。着色器程序获取这些顶点并根据传递给着色器的点(或正方形)大小将它们操纵到正确的位置。protectedStringgetPointVertexShader(){//Defineasimpleshaderprogramforourp

android - 放大 OpenGL ES 2.0 - 对象消失

我想知道如何正确放大OpenGLES2.0。我已经成功地绘制了一个模型,但是它非常小,我无法放大这个模型。我想要的是缩放“通过”这个模型。模型是一栋不同楼层的建筑-我想放大到每一层的每个房间。但是要么对象因为视锥体消失了,要么我不能非常“靠近”这个对象。我正在使用缩放触摸手势并获得一个值“scale”——我现在应该如何处理这个值?到目前为止我尝试了什么:更改近平面和远平面距离并在Matrix.setLookAtM(....)中更改eyeZ-Value但我唯一实现的是缩小......它在放大后消失了.......所以我无法放大到某些特殊部分(“那个”很远......)我怎样才能做到这一点

OpenGLES:glReadPixels()获取相机GLSurfaceView预览数据并保存

Android现行的CameraAPI2机制可以通过onImageAvailable(ImageReaderreader)回调从底层获取到Jpeg、Yuv和Raw三种格式的Image,然后通过保存Image实现拍照功能,但是却并没有Api能直接在上层直接拿到实时预览的数据。AndroidCamera预览的实现是上层下发Surface到CameraHAL,由CameraHAL也就是android.hardware.camera.provider@2.4-service进程往Surface对应的Buffer中填充预览数据,然后再copy到SurfaceFling中由OpenGL进行渲染显示。实际相

android - eglPresentationTimeANDROID() : Can I use microedition. khronos 而不是 android.opengl?

我想在我的ExtendedGLSurfaceView(从GLSurfaceView扩展)中使用eglPresentationTimeANDROID。方法出现在:EGLExt.eglPresentationTimeANDROID(android.opengl.EGLDisplaydisplay,android.opengl.EGLSurfacesurface,longtime);我的主要问题是GLSurfaceView使用javax.microedition中的EGLDisplay、EGLContext和EGLSurface.khronos.egl。但是,eglPresentationT

android - 如何在 opengl Android 中进行对象检测?

我从2周开始就开始使用Android版OpenGles,在尝试了3D示例之后,我在对象检测方面遇到了困难。基本上是屏幕的x、y坐标与3d空间的x、y、z之间的映射,反之亦然。我遇到了:GLU.gluProject(objX,objY,objZ,model,modelOffset,project,projectOffset,view,viewOffset,win,winOffset);GLU.gluUnProject(winX,winY,winZ,model,modelOffset,project,projectOffset,view,viewOffset,obj,objOffset);

iphone - 将 iPhone (OpenGL/C++) 游戏移植到 Android

我需要将使用OpenGL和C++(objective-c代码很少)开发的iPhone游戏移植到Android。有没有我可以阅读的资源? 最佳答案 您想查看这两个GoogleIO演示文稿:为AndroidRedux编写实时游戏(2010年)http://www.google.com/events/io/2010/sessions/writing-real-time-games-android.html为Android编写实时游戏(2009年)http://www.google.com/events/io/2009/sessions/W

音视频流媒体开发难以学习?今天教你如何“丝滑”入门

Android平台最常用的渲染工具就是鼎鼎大名的OpenGL,程序员多多少少都有听过它,目前市面上众多3A游戏引擎很多就是由OpenGL编写的,而与此同时,对咱们Android开发来说,为什么要学习Opengl呢?其实就俩字:高薪!今天就带大家来了解了解OpenGL!OpenGL是什么?OpenGL到底是什么呢?很多人误以为OpenGL是一个图形渲染库,然而OpenGL本身并不是一个API库,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。下面是著名的OpenGL学习网站learnopengl给出的对OpenGL的介绍:OpenGL规范严格规定了每个函数该如何执

android - OpenGL 和 9patch 可绘制对象

我正在使用opengl在android中制作一个打砖block游戏,我决定我希望使用9patch可绘制对象,因此例如一block砖可以轻松地放大到更宽或更高。这可能吗?此外,我制作了图像,然后使用android工具文件夹中的draw9patch.exe制作图像。这是相当多的工作,现在结果证明它在每一侧都添加了几个像素,所以图像不再是二的幂,它们必须是。那么如何在openGL中使用9-patch可绘制对象呢? 最佳答案 SohowdoIuseninepatchdrawableswithopenGL?你不知道。9-patches和dra

java - OpenGLES - 在运行时创建对象

我是OpenGL的新手,从dev.android.com的小教程开始。示例代码包括这个用于方形几何体的Square类。该对象将在onSurfaceCreated()方法中创建,并使用onDrawFrame()绘制每一帧。以下是Square的示例代码(构造函数和绘制方法):publicSquare(){//initializevertexbytebufferforshapecoordinatesByteBufferbb=ByteBuffer.allocateDirect(squareCoords.length*4);bb.order(ByteOrder.nativeOrder());ve

android - OpenGL ES 3 实例渲染失败,但在桌面上工作

我能够在具有GLSL330核心的桌面上使用实例渲染,但我无法在Android上运行相同的C++代码(使用SDL2和NDK构建系统以及AndroidStudio)。logcat报错如下:-1815:49:57.26420996-21026/packageI/SDL/APP:shaders/mobile/sceneShader.frag.glslcompiledsuccessfully10-1815:49:57.27420996-21026/packageI/SDL/APP:Programlinkfailed:--FromVertexShader:10-1815:49:57.2742099