草庐IT

android - 从 OBJ 文件导入时如何在 glTexCoordPointer 中设置/计算纹理缓冲区

我正在Android中解析一个OBJ文件,我的目标是渲染和显示该对象。一切正常,除了正确的纹理映射(将资源/图像导入opengl等工作正常)。我不知道如何将obj文件中的纹理相关数据填充到纹理缓冲区对象中。在OBJ文件中我有vt行:vt0.4950110.389417vt0.5006860.561346和面部线条:f127/73/6298/72/62125/75/62我的绘图程序看起来像(只有相关部分):gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);gl

android - Eclipse 缓冲区溢出谷歌眼镜

我已经看过所有其他缓冲区溢出帖子,并且我已经尝试了他们所说的一切。问题是我不像大多数收到错误的人那样使用API19。我正在为GoogleGlass构建玻璃器皿,所以我使用的是API15(4.0.3)。为什么我会收到此错误?[(timestamp)DexLoader]Unabletoexecutedex:java.nio.BufferOverflowException.ChecktheEclipselogforstacktrace.[(timestamp)-(AppName)]ConversiontoDalvikformatfailed:Unabletoexecutedex:java.n

android - 如果缓冲区已满,startMethodTracing() 是否会返回错误?

Debug.startMethodTracing()默认使用8MB的“缓冲区大小”。我对这个缓冲区有很多疑问。如果缓冲区已满,是否会抛出错误,还是只是停止记录?无论写入多少数据,缓冲区是否都保持固定的8MB?如果我手动指定bufferSize参数,单位是什么?字节?MB?我尝试将缓冲区大小增加到20MB左右,然后应用程序退出了。我需要记录大约20秒的实时计算。有没有办法记录超过20MB左右的数据?我假设它首先存储在内存中,否则将它存储到SD卡中是没有问题的。 最佳答案 我进行了一些测试并发现:如果缓冲区已满,将显示以下“信息”级Lo

android - Libstreaming 错误(解码器缓冲区不够大,解码器没有解码任何东西)

我正在尝试使用此处的libstreaming库:https://github.com/fyhertz/libstreaming我正在遵循示例2:https://github.com/fyhertz/libstreaming-examples尝试在GalaxyNexus上使用这个流媒体库。如果我使用小分辨率(newVideoQuality(128,96,20,500000)),我会收到解码器未解码任何内容的错误:06-0919:59:31.531:D/libEGL(8198):loaded/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so06-091

java - 使用缓冲区复制时更改了新位图

当我使用copyPixelsFromBuffer和copyPixelsToBuffer时,位图显示的并不相同,我尝试了以下代码:Bitmapbm=BitmapFactory.decodeByteArray(a,0,a.length);int[]pixels=newint[bm.getWidth()*bm.getHeight()];bm.getPixels(pixels,0,bm.getWidth(),0,0,bm.getWidth(),bm.getHeight());ByteBufferbuffer=ByteBuffer.allocate(bm.getRowBytes()*bm.get

读取数据时Android bulkTransfer返回-1但缓冲区中确实有一些数据

我在galaxytabp7300中编写了一个应用程序,通过otg电缆与key(scsi设备)通信。我可以第一次使用bulkTransfer()读取数据,但下次不能。然后我使用EllisysVisualUSB嗅探数据,我发现key确实返回了13个字节的数据。但在android客户端(GT-P7300)中,我收到bulkTransfer返回的-1。我的想法已经用完了。感谢任何能给我一些线索的人。 最佳答案 使用USBBulk传输时,这里列出了交易失败时需要检查的事项a)验证端点的方向你已经通过bulkTransfer函数b)确保缓冲区有

android - 如何更改相机预览回调缓冲区的方向?

这是一个经常被问到的问题的变体,但我没有看到这种确切的情况,所以我会把它扔在那里。我设置了一个onPreviewFrame回调。这会得到一个包含NV21数据的byte[]。我们对其进行h.264编码并将其作为视频流发送出去。另一方面,我们看到视频倾斜了90度或270度,具体取决于手机。所以问题是,如何旋转数据,而不仅仅是预览图像?Camera.Parameters.setRotation只影响拍照,不影响视频。Camera.setDisplayOrientation特别说明它只影响显示预览,不影响帧字节:Thisdoesnotaffecttheorderofbytearraypasse

android - Android上的OpenGL绘图结合Unity通过帧缓冲区传输纹理无法工作

我目前正在为Unity制作一个Android播放器插件。基本思路是我将播放MediaPlayer的视频。在Android上,它提供了setSurfaceAPI接收SurfaceTexture作为构造函数参数并最终与OpenGL-ES纹理绑定(bind)。在大多数其他情况下,例如显示图像,我们可以将这个纹理以指针/id的形式发送给Unity,调用Texture2D.CreateExternalTexture在那里生成一个Texture2D对象并将其设置为UIGameObject渲染图片。但是,在显示视频帧时,它与略有不同。在Android上播放视频需要GL_TEXTURE_EXTERNA

android - 视频录制到 Android 上的循环缓冲区

我正在寻找将连续视频捕获到SD卡上的循环缓冲区的最佳方法(如果有的话......),允许用户在事件发生后捕获事件。标准视频录制API允许您直接写入文件,当达到限制(由用户设置,或SD卡的容量)时,您必须停止并重新开始录制。这会创建一个长达2秒的窗口,其中记录未运行。这就是DailyRoadsVoyager等一些现有应用程序已经在做的事情。为了最大限度地减少丢失重要内容的机会,您可以将拆分时间设置为较长的​​时间,例如10分钟,但如果在此时间跨度快结束时发生事件,那么您在开始时存储9分钟的空白是在浪费空间。所以,我现在的想法如下:我将有一个大文件作为缓冲区。我将使用我发现的一些代码来捕获

android - 如何在 GLSL 中写入/防止写入 OpenGL 深度缓冲区

只有当当前像素的alpha>0.5时,我才想写入OpenGL深度缓冲区怎么做?如果像素的alphadiscard不是我要找的,因为它同时丢弃了颜色和深度信息;我只想丢弃深度信息。可以设置gl_FragDepth变量,但要设置哪个值呢?对于alphagl_FragDepth不变?我必须为此使用FBO,还是不使用它也能正常工作?我正在处理的项目是一个GLES2.0Android项目 最佳答案 我已经通过使用为我解决了这个问题glDepthMask(false)此命令禁用写入深度缓冲区但仍执行深度测试。我只是在所有其他对象之后渲染我的透明