草庐IT

android - 是否可以使用 OpenGL ES 2.0 扭曲底层图像?

我有一个Android4.0应用程序,它使用GL_OES_EGL_image_external方法将视频渲染为OpenGL表面。效果很好。此外,我想在此基础上拉伸(stretch)/扭曲一些补丁。我目前正在对那些我想在这些区域顶部的一些四边形上使用一些额外的着色器进行变形的区域进行着色。我被困在如何获得底层颜色上。视频四边形顶部的四边形上的着色器如何扭曲底层图像?可能吗? 最佳答案 我在iOS上,但我的应用做的事情非常相似。我是如何实现它的是基于一些samplecodefromApple(特别是看RippleModel.m)。它是如

android - Android 上的 OpenSL ES 替代方案

我正在为android构建一个应用程序,它是nessessary,在队列播放器中播放pcm数据作为float。据我所知,这是不可能的。description说:SL_DATAFORMAT_PCMdoesnotpermittheapplicationtospecifytherepresentationofthedataassignedinteger,unsignedinteger,orfloating-point.TheAndroidimplementationassumesthat8-bitdataisunsignedintegerand16-bitissignedinteger.In

java - 安卓 OpenGL ES : How do you select a 2D object?

我一直在StackOverflow中搜索OpenGLES中的2D选择的介绍。我主要看到有关3D的问题。我正在使用OpenGLES在Android4.0.3上设计一个基于2D图block的关卡编辑器。在关卡编辑器中,屏幕中央放置了一个2D黄色方形对象。我只想检测该对象是否已被用户触摸。在关卡编辑器中,没有任何重叠的图block。相反,它们并排放置,就像MSPaint中位图图像中的两个相邻像素一样。我的目的是为关卡编辑器中的每个方形对象单独检测触摸事件。该对象是用一个简单的顶点数组创建的,并使用GL_TRIANGLES绘制2个平面直角三角形。没有操作,也没有从文件或任何东西加载。我唯一知道

android - 可以为着色器统一设置初始值吗? (安卓,OpenGL ES 2.0)

编辑:正如建议的那样,我试图在我的构造函数中为我的着色器统一设置一个“初始”值,我已经包含了一些代码,如果有人能解释我为什么得到,我将不胜感激如果我通过我的构造函数传递值,则会出现空白屏幕-谢谢加载纹理的方法publicvoidsetTexture(GLSurfaceViewview,BitmapimgTexture){this.imgTexture=imgTexture;iProgId=Utils.LoadProgram(strVShader,strFShader);iBaseMap=GLES20.glGetUniformLocation(iProgId,"u_baseMap");i

android.grapics.matrix 到 OpenGL 2.0 ES 纹理转换

目前,该应用程序显示一个ImageView,它可以在屏幕上成功地缩放和平移。在该图像之上,我想提供一个纹理,我想在其下方的图像缩放或平移时更新自身以缩放或平移。据我所知,这应该可以通过在ImageView上使用我当前设置的getImageMatrix(),然后将其应用于原始图像顶部的纹理位图来实现。编辑和解决方案:(在下面所选答案的大力帮助下)目前,纹理中的平移速度与ImageView的速度不同,但当该问题得到解决后,我将通过其他编辑更新此帖子,并为整个应用程序提供解决方案。然后将只保留解决方案和快速问题描述段落。也许我什至会发布使用可缩放表面View的表面View和渲染器源代码。为了

android - OpenGL ES - 纹理映射一个 8 顶点立方体的所有面?

使用Android模拟器完成一些OpenGL-ES教程。我已经开始进行纹理映射,但在映射到立方体时遇到了一些问题。是否可以将纹理映射到具有8个顶点和6个面的12个三角形的立方体的所有面,如下所述?//Usehalfaswearegoingfora0,0,0centre.width/=2;height/=2;depth/=2;floatvertices[]={-width,-height,depth,//0width,-height,depth,//1width,height,depth,//2-width,height,depth,//3-width,-height,-depth,//

Android OpenGL ES --- 是否支持所有扩展?

我真的很困惑OpenGLES扩展在Android上的工作方式,无论是在JavaAPI中还是在NDK的API中。首先,我来自桌面上的普通OpenGL世界。在那个世界里,扩展加载和使用起来非常直观。首先检查GL_EXTENSIONS以查看系统是否公布了您需要的扩展,然后通过wglGetProcAddress、glXGetProcAddress或dlsym动态加载扩展的入口点(分别取决于您使用的是WinAPI、X11还是OSX).但是现在,今天我第一次看到了Android上的GL11Ext界面,位于此处:http://developer.android.com/reference/javax

java - 具有 OpenGL ES 3.1 上下文的 GLSurfaceView

我正在使用OpenGL开发Android。我知道如何使用GLSurfaceView及其自定义派生类通过GLSurfaceView的方法创建OpenGLES2.0上下文:setEGLContextClientVersion(2);和OpenGLES3.0上下文:setEGLContextClientVersion(3);如何为OpenGLES3.1创建上下文? 最佳答案 您不能在创建上下文时显式请求3.1。根据我的理解,3.1不作为与3.0分开的上下文类型处理。本质上,支持3.1的上下文只是一个还支持额外的3.1功能的3.0上下文。这

android - 如何在 opengl es 2.0 中禁用颜色插值?

由于在opengles中没有平面着色选项,当不同的颜色被传递到每个顶点时,是否有一种解决方法来禁用颜色插值? 最佳答案 基本上,唯一的方法是使用三角形绘制,而不是三角形带或扇形。并且对于每组三个顶点来构成单个三角形使用相同的颜色。这将消除阴影效果,因为相同颜色之间的插值是相同的颜色。更复杂的解释:http://ruh.li/GraphicsShading.html 关于android-如何在opengles2.0中禁用颜色插值?,我们在StackOverflow上找到一个类似的问题:

OpenGL ES 版本介绍

目录一.OpenGLES版本二.嵌入式设备的OpenGLES版本三.不同OpenGLESGLSL脚本区别1.OpenGLES1.0不支持脚本2.OpenGLES2.0GLSL脚本3.OpenGLES3.0GLSL脚本四.OpenGLES和OpenGL五.猜你喜欢零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES基础零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES特效零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES转场零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES函数零