草庐IT

c# - Xamarin 中的跨平台 OpenGL 渲染

我们正在使用Xamarin平台和C#为Windows和Android开发非常相似的应用程序。两者都将结合一些屏幕上和屏幕外的3D渲染,例如3D网格可视化。我们希望尽可能实现跨平台。这在Xamarin中通常是如何完成的?是用C++代码进行渲染更好,还是有一个C#包装器对特定于平台的上下文创建等进行抽象? 最佳答案 一段时间后我可以回答我自己的问题。至少在我的例子中,事实证明从C++使用OpenGL更方便。我们刚刚从C++代码构建了一个共享库,并使用DllImport将其链接到.NETdll。我们用于构建C++库的工具是CMake,但是

android - 如何在 OpenGL ES 中绘制去除隐藏线的线框网格?

我要绘制的立方体:上面的立方体很容易在OpenGL中使用函数glPolygonMode(GL_FRONT_AND_BACK,GL_LINE)创建,但众所周知OpenGLES不包含我想使用的函数。总之,我不想这样画立方体:我要感谢能提供任何帮助的人。========================最少更新图片==========================后缘比前缘薄一点。有什么办法可以解决这个问题吗?当前代码:GLES20.glEnable(GLES20.GL_DEPTH_TEST);GLES20.glDisable(GLES20.GL_POLYGON_OFFSET_FILL);/

iphone - quartz 2D 或 OpenGL ES?长期利弊,迁移到其他平台的可能性

我很难决定是使用Quartz2D还是OpenGL来玩iPad游戏。它将主要是2D,但效果强烈(10-30个对象的同时照明效果,屏幕上同时出现10-20个动画)。到目前为止,假设我在这两种技术上同样愚蠢并且必须从头开始学习它们,我来到了这个列表。(我在这里阅读了几个关于SO的主题,名称如“Quartz或OpenGL”,但我仍然有一些问题)quartz:缩短上市时间,因为准备好使用像UIView这样的抽象,UIImageView,核心动画抽象打开GLES更接近于硬件,因此,性能更好。使用OpenGLES实现的应用可以更容易地迁移到Android、MeeGo、WindowsPhone等。我的

android - Android 中带有 NDK 的 OpenGL ES 2 的一些教程?

特别是我需要使用着色语言GLSL。我已经安装了NDK、SDK和其他所有东西并且运行正常,我使用NDK运行了一个openGLES2示例并且它工作正常,问题是有很多我不理解的说明。所以我需要一本教程或一本书来一步一步地教我这一点 最佳答案 我建议您先阅读Khronos网站上的一些教程和OpenGL程序员指南。我建议您先从“HelloTriangle”演示开始。有两个链接。TutorialonHelloTriangleSourceCodeforHelloTriangle--看第2章对于好的旧立方体演示,checkthisout.代码是用W

android - 如何有效地在OpenGL ES中加载纹理

我具有使用OpenGL的非常基础的知识,尤其是在Android上。我正在开发一个使用OpenGL的应用程序,以便快速地在全屏图像之间切换(因为使用普通的Android框架太慢了)。我发现,为了加载纹理,我需要执行以下操作:ByteBufferbyteBuffer=ByteBuffer.allocateDirect(vertices.length*4);byteBuffer.order(ByteOrder.nativeOrder());vertexBuffer=byteBuffer.asFloatBuffer();vertexBuffer.put(vertices);vertexBuff

OpenGL ES 帧缓冲对象介绍和使用示例

一、介绍1.帧缓冲对象默认情况下,OpenGL渲染的目标是屏幕,但如果你不想直接渲染到屏幕上,还需要对渲染结果做某些后期处理、渲染到纹理、阴影映射等操作,便可以使用帧缓冲对象,实现离屏渲染。帧缓冲对象(FrameBufferObject,FBO)是一个概念容器,它可以包含颜色缓冲区、深度缓冲区、模板缓冲区等,形成一个完整的渲染目标。通过使用帧缓冲对象,可以实现离屏渲染、多重渲染目标(MRT)等高级渲染技术,而不必直接渲染到屏幕。2.相关概念以下是帧缓冲对象的一些基本概念:颜色缓冲区(ColorBuffer):存储渲染的颜色信息。一个帧缓冲对象可以包含多个颜色缓冲区,用于实现多重渲染目标。深度缓

三星 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

android - 在 C++ 中学习使用 ndk+opengl 开发游戏的资源?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我想学习使用NDK+OpenGL开发游戏。是否可以只用C++编写android游戏。我能够在NDK示例文件夹中运行nativeActivity示例。(用C语言编写)。我能够在Android.mk和Application.mk中设置C++支持(STL、异常、...)借助在线NDK文档。nativeActivity示例没有任何Java代码。我可以假设没有Java也可以编写

Debian Jessie 上带有 GPU 仿真的 Android 模拟器

从Wheezy升级到JessieDebian后我遇到了麻烦......ADV与Wheezy配合得很好$~/android-sdks/tools/emulator-avdMiAVDfailedtocreatedrawablegetGLES1ExtensionString:CouldnotcreateGLES1.xPbuffer!FailedtoobtainGLES1.xextensionsstring!Couldnotinitializeemulatedframebufferemulator:ERROR:CouldnotinitializeOpenglESemulation,use'-g

java - 在 Android 的 OpenGL View 之上播放视频

我正在使用cocos2d-x开发游戏,我想在其中播放视频。该Activity有一个OpenGLView,我还在其上放置了额外的VideoView并将可见性设置为INVISIBLE。当我需要播放视频时,我只需隐藏OpenGLView并启用我的VideoView。之后,我创建了MediaPlayer,使用该VideoView的持有者调用setDisplay等,最终视频播放良好。视频结束后,我再次将可见性切换回来-opengl切换为VISIBLE,videoview切换为INVISIBLE。但是,问题是当我第二次尝试播放视频时,它并没有出现,但是正在播放视频中的声音。可见性有什么问题吗?