opengl-es相关内容

是否可以实现 MAX(As,Ad) openGL 混合?

我正在开发一款游戏,我想在网格上的一系列精灵下创建阴影.阴影比精灵本身大,并且精灵是动画的(即移动和旋转). 我不能简单地将它们渲染到精灵 png 中,否则阴影会与相邻的精灵重叠. 我也不能简单地将阴影单独放在较低的层上,因为当它们重叠时,它们会在它们的交叉处产生暗带. 这些精灵是动画的,因此无法整体渲染. 基本上,我希望精灵的阴影混合在一起,以使它们在设定的不透明度下最大 ..
发布时间:2022-01-21 17:24:04 移动开发

填充抗锯齿聚 cocos2d

如何在 Cocos2D 框架中绘制填充多边形? 下面的代码绘制多边形但没有抗锯齿.我应该改变什么? void ccFillPoly(CGPoint *poli, int points, BOOL closePolygon){//默认 GL 状态:GL_TEXTURE_2D、GL_VERTEX_ARRAY、GL_COLOR_ARRAY、GL_TEXTURE_COORD_ARRAY//需要的状 ..
发布时间:2022-01-21 17:21:26 移动开发

OpenGL ES 2.0 GLSL texture2D 未绑定时返回值

在以下代码中: gl_FragColor = vColor * texture2D(u_Texture, v_TexCoordinate); 我注意到如果 u_Texture 未绑定,则 texture2D 返回的默认值是白色 (1,1,1,1). 我的着色器基于这个事实是否安全? 解决方案 我没想到. 我见过默认值为黑色的其他实例.如果采样器使用的内存是一段未初始化的视频 ..
发布时间:2022-01-19 15:23:34 其他开发

为什么说 WebGL 是 2D API,而不是 3D API?

根据 HTML5 Rocks,WebGL 实际上是 2D API,而不是 3D API.他们为什么这么说,这是什么意思? 我们可以在 WebGL 顶点着色器和片段着色器中指定 X、Y、Z 坐标.我无法理解 2D 和 3D 图形 API 之间的区别.你能解释一下为什么他们说这是一个 2D API 吗? 解决方案 WebGL 是光栅化 API 而不是 3D api.您必须为其提供投影坐标 ..
发布时间:2022-01-17 12:14:30 前端开发

有什么方法可以忽略 libgdx 图像限制?(图片必须是二的幂)

在 libgdx 框架中,我们只能使用图像的二次幂(64x256、128x32 等),因为 OpenGL 需要它. 有什么好的方法可以“通过"这个限制吗? 例如:使用图片800x480. 解决方案 设置 Texture.setEnforcePotImages(false); 就没有限制了.因此,您不能只使用大小为 2 的图片.这只是“可以拥有"而不是“必须拥有". 问候 ..
发布时间:2022-01-12 17:35:56 移动开发

使用 SpriteBatch 时的 LibGDX 模板缓冲区

这是我之前的问题和帖子的延续,参见这里.感谢我在那里收到的答案,我觉得我能够更接近我的目标,以及进一步学习 OpenGL,但在弄清楚使用模板缓冲区的基础知识后不久,我遇到了一个问题. 似乎当我将精灵绘制到模板缓冲区时,它会绘制整个正方形区域,而不是像我无知地希望的那样仅绘制不完全透明的像素.我隐约明白为什么会这样,但我不确定解决方案在哪里.我已经对模板本身进行了很多试验,并且我修改了 spr ..
发布时间:2022-01-12 17:35:41 Java开发

安卓.如何沿它所面对的方向移动对象(使用 Vector3 和四元数)

我正在使用 libGDX(实际上对它来说很新)和 Android.我想将 3d 对象朝它所面对的方向移动(使用一些速度).我认为这是一个基本问题,但找不到直接的答案.我有一个表示对象旋转(方向)的四元数,我有一个表示对象位置的 Vector3.问题是如何使用来自四元数的信息更新位置 Vector3,以便在四元数表示的方向上移动对象.(另一种方法是从四元数中提取滚动俯仰和偏航,并通过应用三角计算获得 ..
发布时间:2022-01-12 17:33:18 Java开发

LibGDX FreeType 字体模糊

我正在使用屏幕高度百分比动态生成我的字体并设置百分比(显然将来会乘以密度. 一些笔记.我正在读取 OTF 文件.使用最新版本的 LibGDX(版本 1.2.0) 我有以下问题:(大字体中断并且看起来非常模糊,但仅在 medium 上.Large 和 small 看起来非常清晰) 我的预设字体大小: //字体大小,小,中,大,占屏幕的百分比.公共静态浮动FONT_SIZE_LAR ..
发布时间:2022-01-12 17:30:58 Java开发

在当前线程中找不到 OpenGL 上下文

我正在使用 LibGDX 制作游戏.我想根据需要同时加载/卸载资产.但是,等待资产在主线程中加载会导致延迟.为了解决这个问题,我创建了一个后台线程,用于监控需要加载哪些资产(纹理、声音等)并适当地加载/卸载它们. 不幸的是,从该线程调用 AssetManager.update() 时出现以下错误. com.badlogic.gdx.utils.GdxRuntimeException: ja ..
发布时间:2022-01-12 17:29:31 其他开发

在 libgdx 中将纹理拆分为拼图

由于性能问题,我正在尝试将基于 android Canvas 的游戏转换为 Libgdx.目前,当我必须(动态)生成拼图碎片精灵时,我遇到了问题. 我做了什么:我使用了 android 位图操作(Path 和 PorterDuff)并生成了拼图,然后将其提供给 AndroidLauncher 中的 Libgdx Game 对象. 问题 1:有没有更好的方法将位图转换为 libgdx 核 ..
发布时间:2022-01-12 17:26:52 Java开发

如何使用 Android 指南针方向来瞄准 opengl 相机?

我正在使用 libgdx 为 android 开发一个基本的 3d 游戏,并且在给定从指南针提供的三个旋转角度(方位角 - 围绕 Z 的旋转,滚动 - 围绕 Y 的旋转,俯仰 - 旋转)的情况下,我很难正确定位相机关于 X).我在下面的代码中取得了一些小小的成功,因为我可以按照我的预期正确地将虚拟相机对准 Z 轴和 X 轴.(角度以度为单位 [-180,180]) camera.directio ..
发布时间:2022-01-12 17:25:17 移动开发

如何在 Libgdx 中支持 OpenGL ES GL10、GL11 和 GL20?

我正在编写使用 GL10 的 3d 游戏,但我希望应用程序支持 GL11 或 GL20(如果可用).支持所有 3 的最佳设计是什么?或者这是一个愚蠢的差事,我应该只专注于支持一个版本? 我目前的想法是将我的 render() 函数拆分为 renderGL10、renderGL11、renderGL20 并根据可用的 GL 实例调用适当的渲染函数.每个渲染函数内部都有 GL 版本的正确渲染方法 ..
发布时间:2022-01-12 17:23:32 Java开发

在 Libgdx 中实现简单运动模糊的意外结果

在所附的两张图片中,libgdx 的桌面截图按预期运行.不幸的是,我的 Galaxy Nexus 的屏幕截图不如预期.我正在尝试创建一个简单的运动模糊或轨迹效果. 在我的桌面上按预期进行渲染. 在我的 Galaxy Nexus 上未按预期呈现. 在渲染过程中,圆形纹理在for循环中绘制,效果是通过使用在圆形之前绘制的0、0、0、0.1f的RGBA的像素图来实现的. scre ..
发布时间:2022-01-12 17:20:11 Java开发

LibGDX 3D 提高性能

我正在开发一款 3D 游戏. 游戏需要大约 100 个立方体才能工作,所有立方体都是动态的. 我真的不知道这样的游戏需要多少性能,但我正在使用 平板电脑 与 Mali-400 MP2 GPU,1 GB 内存,1.5 GHz 双核.我知道在一个网格中渲染所有立方体,但是我不能单独移动它们. 这个设置给了我一个非常摇摆不定的 fps.在 20 到 50 之间跳跃,大多在 30 岁以下 ..
发布时间:2022-01-12 17:19:18 Java开发

使用 OpenGL ES 2.0 进行模板制作

我正在尝试找出一种方法来切出背景纹理的某个区域,以便某个自定义图案不会在该背景的屏幕上呈现.例如: 这个正方形可以是任何图案.我正在使用 Frame Buffer Object 和 Stencil Buffer 来实现这种效果.代码如下: fbo.begin();//禁用 ColorMask 和 DepthMask 以便所有渲染都在 Stencil Buffer 上完成Gdx.gl20.g ..

如何使用 libgdx 中的简单纹理绘制自定义形状?

我想在我的游戏中绘制自定义静态形状,就像愤怒的小鸟所做的那样: 但问题是纹理是方形的. 我们如何告诉“SpriteBatch"绘制带有一些顶点的形状?有人有什么想法吗? 解决方案 根据文档: SpriteBatch 用于绘制引用纹理(区域)的 2D 矩形 因此,从本质上讲,此方法不允许您指定除矩形之外的任何其他几何图形.但是,有一个 draw 方法 允许您指定“矩形 ..
发布时间:2022-01-12 17:14:42 Java开发

信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR)

我正在使用 OpenGL 在 Android 上创建 2D 游戏.目前我正在多台设备上测试和调试游戏.我面临的问题是可怕的“信号 11"错误. 当我在我的三星 Galaxy Nexus 上玩游戏时,一切都很顺利,我可以玩几个小时而不会出现任何错误.我的 Nexus 正在运行 Android 4.0 Ice Cream Sandwich. 现在,当我在其他设备上运行它时,我收到了这个信号 ..
发布时间:2022-01-12 16:14:56 移动开发

内存警告后在 iOS 上运行 OpenGL 崩溃

我遇到了一个带有 OpenGL 组件的应用程序在 iPad 上崩溃的问题.该应用程序会引发内存警告并崩溃,但它似乎并没有使用那么多内存.我错过了什么吗? 该应用基于 Vuforia 增强现实系统(大量借鉴 ImageTargets 示例).我需要在我的应用程序中包含大约 40 个不同的模型,因此为了节省内存,我会根据需要在应用程序中动态加载对象(和渲染纹理等).我试图复制 UIScrollV ..
发布时间:2022-01-12 11:48:45 移动开发

从“1D"映射纹理到“2D"使用 OpenGL 矩阵变换

(带着这个问题,我试图调查我解决问题的想法 这个另一个) 如果我在内存中有一个尺寸为 width 和 height 的标准二维数组,我可以将其转换为长度为 width 的一维数组* height 然后通过 index = x + y * width 对其进行索引.这种映射在为数组分配和释放内存时非常有用,因为内存管理器无需担心将结构打包为 2D,而只需担心每个已分配数组的总长度(如果以 1D ..
发布时间:2022-01-09 09:49:47 移动开发