草庐IT

纹理表

全部标签

android - 如何将 OpenGL 上下文中的纹理复制到另一个上下文

我正在尝试使用OpenGLES2上下文在Android上使用MediaCodec录制视频。为此,我想使用可记录表面:privatestaticfinalintEGL_RECORDABLE_ANDROID=0x3142;创建一个新的上下文。实际上,我在First上下文中渲染纹理中的场景。我想在新上下文中呈现它以将数据发送到MediaCodec。我正在尝试做与this相同的事情Recordingpatch的突破教程我在我的游戏中实现了InputSurface和GameRecorder,但我只记录了一个空场景。我的主要问题是,上下文不共享相同的OpenGL对象,而且我不知道最好的解决方案。我

java - 绘制所有纹理翻转?

首先,由于我的XNA背景,我无法适应倒置的Y轴。所以在LibGDX中,我用cam.setToOrtho(true,width,height)翻转了OrthographicCamera但这显然最终导致我所有的纹理都颠倒了。我可以从我所有的纹理中创建Sprites和TextureRegions来翻转它们中的每一个,但这需要很多额外的代码。那么有没有一种有效的方法可以让我的所有纹理围绕中心翻转?我尝试将翻转矩阵添加到spritebatchtransformMatrix中,但这取消了翻转正交凸轮。我还尝试创建一个Sprite来绘制我所有的纹理并翻转它们,但没有成功。

android - OpenGL-渲染到纹理-屏幕的特定区域

我在我的OpenGL游戏中实现了FBO。并且我将渲染到屏幕的内容渲染到纹理,问题是渲染到纹理从左下角开始。看:渲染到默认帧缓冲区的内容:渲染到附加到FBO的纹理的内容:但是我想渲染到纹理的地方是:我该怎么做?这是渲染器Calass(FBO操作在onDrawFrame函数中完成):publicclassCurlRendererimplementsGLSurfaceView.Renderer{//Constantforrequestingrightpagerect.publicstaticfinalintPAGE=1;//Settotrueforcheckingquicklyhowpers

android - 使用表面纹理的相机预览

我正在尝试使用SurfaceTexture从我的设备的后置摄像头显示摄像头预览,但我一直收到错误bindTextureImage:errorbindingexternaltextureimage0x2:0x502看那一行SurfaceTexture.UpdateTexImage()查看android文档,似乎这可能是由于在SurfaceTexture.OnFrameAvailableListener的OnFrameAvailable方法上调用UpdateTexImage引起的。根据文档“回调(SurfaceTexture.OnFrameAvailableListener)可能在任意线程

Android OpenGL es 2.0 无法重新加载对象上的纹理。

多亏了这里提出的几个教程、问题和答案,我已经设法加载纹理并自由旋转球体,但我偶然发现需要在运行时重新加载纹理(获取位图图像,对其进行处理,然后将其作为对象的新纹理)。我没有为我的特定问题找到任何有效的解决方案(我已经阅读了所有相关的问题和答案)。我对OpenGL很陌生。这是我的第二个项目,我的第一个3D项目,也是我在这里提出的第一个问题。所以这里是:基本上纹理加载是在以下函数中完成的:publicvoidloadGLTexture(finalContextcontext,finalinttexture){GLES20.glGenTextures(1,mTextures,0);if(mT

java - 为什么我在 libGDX 中的纹理上出现黑色轮廓/边缘?

每当我绘制边缘周围有alpha的纹理(它被photoshop抗锯齿)时,这些边缘就会变暗。我无休止地使用纹理过滤器和混合模式,但没有成功。我的意思是:minFilter:线性magFilter:线性minFilter:MipMapLinearNearestmagFilter:线性minFilter:MipMapLinearLinearmagFilter:线性如您所见,更改libGDXTexturePacker上的过滤器会使外观发生很大变化,但alpha仍然很暗。我尝试在libgdx中手动设置纹理过滤器:texture.setFilter(minFilter,magFilter);但这不

Android OpenGL ES 纹理大小 2 的幂

我已经知道许多硬件需要具有两倍大小的纹理。但是平方图像大小是强制性的吗?我的意思是32x3264x64512x512。我可以在每个硬件中使用512x256大小的纹理吗? 最佳答案 是的,纹理可以是非方形的,这没问题。只要您保持宽度和高度的二次方。 关于AndroidOpenGLES纹理大小2的幂,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11510194/

android - OpenglES 2.0 PNG alpha 纹理重叠

我试图在屏幕上绘制多个具有alphachannel的六边形。图片是这样的:所以,我将纹理加载到程序中,没关系。当它运行时,alphachannel会与背景颜色混合,这没问题,但是当两个六边形自身重叠时,重叠部分会变成背景颜色!图片下方:当然,这不是我期望的效果。我希望它们重叠,而不是将此背景绘制在其他纹理上。这是我的绘图代码:GLES20.glUseProgram(Program);hVertex=GLES20.glGetAttribLocation(Program,"vPosition");hColor=GLES20.glGetUniformLocation(Program,"vCo

android - 在 Android 中绘制对象的纹理?

我正在使用http://mindtherobot.com/blog/272/android-custom-ui-making-a-vintage-thermometer/comment-page-1/#comment-14326处的代码用于构建自定义View。我想通过代码显示图像而不是画手。我已经尝试设置手的纹理,但没有取得任何成功。谁能告诉我如何设置图像代替手? 最佳答案 您可以使用BitmapShader来实现:Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.

java - 如何在 OpenGL ES 中加载和绑定(bind)纹理?

所以,我的res/drawable-hdpi(例如text.png)文件夹中有一个纹理,我如何加载这个纹理并将其与glBindTexture绑定(bind)? 最佳答案 Bitmapimg=BitmapFactory.decodeResource(context.getResources(),R.drawable.text);int[]texId=newint[1];GLES20.glGenTextures(1,texId,0);GLES20.glBindTexture(GLES20.GL_TEXTURE_2D,texId[0]);