草庐IT

GL_TEXTURE

全部标签

android - 在 Android 上使用 GL_FIXED 还是 GL_FLOAT 更好

我本以为GL_FIXED更快,但iPhone文档实际上说要使用GL_FLOAT因为GL_FIXED必须转换为GL_FLOAT。安卓上也一样吗?我想它因手机而异,但最近流行的手机(NexusOne、Droid/Milestone等)呢?奖励积分:这似乎完全没有记录(例如,在谷歌中搜索GL_FIXED!)但是GL_FIXED中的“点”在哪里?IE。(GL_FIXED)1值多少钱? 最佳答案 正如Andreas所说,哪个更快取决于硬件而不是gl标准。通常,当使用真正的硬件加速时,您可以期望GL_FLOAT可能是更好的选择。如果在对floa

android - 在Android中使用Opengl es绘制位图

我有一个在屏幕上绘制800*480图像的Android应用程序。我的手机也是800*480px。手机能够在大约25毫秒内完成绘图。每隔几秒,我想通过淡化第一张图像的alpha并增加第二张图像的alpha来转换到另一张同样为800*480的图像。执行此操作时,drawable.draw(canvas)调用大约需要75毫秒。我可以做些什么来减少过渡阶段的绘图时间?我考虑过使用OPENGL,但我想不通。 最佳答案 下面是一个使用OpenGLES1.0/1.1和纹理将位图绘制到GLSurfaceView的简单示例。privatestatic

android - 三星 S4 上的 Open GL Bad Config 错误

我在三星S4上遇到以下错误10-2116:25:44.100:E/AndroidRuntime(29778):FATALEXCEPTION:GLThread1132010-2116:25:44.100:E/AndroidRuntime(29778):Process:,PID:2977810-2116:25:44.100:E/AndroidRuntime(29778):java.lang.RuntimeException:createContextfailed:EGL_BAD_CONFIG10-2116:25:44.100:E/AndroidRuntime(29778):atandroi

【unity shader】水体渲染基础-基于texture distortion的流体流动材质

1.基于uv的texturedistortion当液体静止时,它在视觉上与固体没有太大区别。但大多数时候,我们的性能不一定支持去实现特别复杂的水物理模拟,需要的只是在常规的静态材料的表面上让其运动起来。我们可以对网格的UV坐标实现动态变化,从而让表面的纹理效果实现变形的动态变化。1.1.uv实时变化我们直接生成一个默认unlitshader,然后赋予其对应的纹理图片,并且写入随时间变化的uv更新函数。//infragshaderi.uv+=_Time.y;为了实现随机方向的uv变化,我们这里引入一张指示流动方向的贴图。float2flowDir=tex2D(_FlowMap,i.uv);i.u

java - 强制 OpenGL 缓冲区使用 GL 1.0 或 1.1?

我一直致力于一个项目,在该项目中,用户可以与GLSurfaceView交互以在屏幕上绘制形状。这一切都很好而且花花公子,但现在我正在尝试做两件事:1)创建他们绘图的缩略图,以及2)保存他们的绘图。请务必注意,用户可以绘制比屏幕大的图像。据我的研究表明,最好使用Bitmap(可以是1)渲染到Canvas的缩略图,以及2)保存到文件系统,这实现了我的两个目标)。最初,我尝试通过glReadPixels从GLSurfaceView中读取Renderer,但事实证明我无法关闭-从这个屏幕数据。相反,我选择做一个屏幕外缓冲区来生成图像渲染,可以将其转换为Bitmap。我找到了一个lovelypo

android - OpenGL ES 3.0。浮点纹理

我有OpenGLES3.0,我正在尝试创建纹理:case1:glTexImage2D(GL_TEXTURE_2D,0,GL_R16F,width,height,0,GL_RED,GL_HALF_FLOAT,0);break;case2:glTexImage2D(GL_TEXTURE_2D,0,GL_RG16F,width,height,0,GL_RG,GL_HALF_FLOAT,0);break;case3:glTexImage2D(GL_TEXTURE_2D,0,GL_RGB16F,width,height,0,GL_RGB,GL_HALF_FLOAT,0);break;(对于这段代

三星 Galaxy 变体上的 Android opengl 白色纹理

我在samsunggalaxy变体上得到白色纹理,但在我测试的其他手机上,纹理工作得很好。所以我的问题是通常怀疑是什么导致了这种行为?星系变体是否有任何特殊硬件并且缺少某些东西?我的纹理加载代码是这样的GLuinttexture;glGenTextures(1,&texture);glBindTexture(GL_TEXTURE_2D,texture);glPixelStorei(GL_UNPACK_ALIGNMENT,2);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexParameterf(GL

java - Opengl ES 2.0 : Get texture size and other info

问题的上下文是Android环境下的OpenGLES2.0。我有一个纹理。显示或使用都没有问题。是否有一种方法可以简单地从绑定(bind)ID开始了解其宽度和高度以及其他信息(如内部格式)?我需要在不知道纹理大小的情况下将纹理保存到位图。 最佳答案 不在ES2.0中。功能不存在实际上有点令人惊讶。您可以获取渲染缓冲区的大小,但不能获取纹理的大小,这看起来不一致。唯一可用的是您可以使用glGetTexParameteriv()获得的值,它们是纹理的FILTER和WRAP参数。它仍然不在ES3.0中。仅在ES3.1中,添加了glGetT

android - GLES 3.0 包括 gl2ext.h

根据KhronosOpenGLESRegistry,GLES3.0的扩展头实际上是.gl3ext.h应该为空,并且仅为了遗留兼容性而提供。因此,如果你想包含GLES3.0header,你应该这样做:#include#include但是,使用AndroidNDK进行编译时,似乎是gl2ext.h的版本内部确实#include,出现以下错误*(我正在使用API-19进行编译):C:\android-ndk-r10e\platforms\android-19\arch-arm\usr\include\GLES2\gl2ext.h(6):includesthisheader:C:\androi

android - 如何在 Open GL ES Android 上设置背景颜色

我现在正在玩第8课http://insanitydesign.com/wp/projects/nehe-android-ports/我想将背景颜色从黑色更改为白色。为了在onDrawFrame()开始时执行此操作,我调用了gl.glClearColor(1.0f,0.0f,0.0f,0.0f);这确实设置了一个白色背景屏幕,但也导致屏幕上没有显示任何其他内容!因此,显然这是一种不正确的方法,但是为什么,我该如何解决呢?!非常感谢。编辑(5天后):根本没有人知道吗?!! 最佳答案 白屏是因为您将alpha值设置为0.0f。参数签名是: