在 OpenGL ES 1.1 中绘制一个切出扇形的圆

2024-03-31

我正在尝试使用 OpenGL ES 1.1 绘制以下形状。好吧,我被困住了,我真的不知道该怎么办。

我的游戏目前使用 Android 的 Canvas API,它不是硬件加速的,所以我用 OpenGL ES 重写它。 Canvas 类有一个名为drawArc 的方法,它使得绘制这个形状变得非常非常容易;画布.drawArc http://developer.android.com/reference/android/graphics/Canvas.html#drawArc%28android.graphics.RectF,%20float,%20float,%20boolean,%20android.graphics.Paint%29

关于使用 OpenGL ES 做同样的事情有什么建议/提示吗?

感谢您的阅读。


void gltDrawArc(unsigned int const segments, float angle_start, float angle_stop)
{
    int i;
    float const angle_step = (angle_stop - angle_start)/segments;

    GLfloat *arc_vertices;
    arc_vertices = malloc(2*sizeof(GLfloat) * (segments+2));

    arc_vertices[0] = arc_vertices[1] = 0.

    for(i=0; i<segments+1; i++) {
        arc_vertices[2 + 2*i    ] = cos(angle_start + i*angle_step);
        arc_vertices[2 + 2*i + 1] = sin(angle_start + i*angle_step);
    }
    glVertexPointer(2, GL_FLOAT, 0, arc_vertices);
    glEnableClientState(GL_VERTEX_ARRAY);
    glDrawArrays(GL_TRIANGLE_FAN, 0, segments+2);
    free(arc_vertices);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 OpenGL ES 1.1 中绘制一个切出扇形的圆 的相关文章

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

    我遇到了带有 OpenGL 组件的应用程序在 iPad 上崩溃的问题 该应用程序抛出内存警告并崩溃 但它似乎没有使用那么多内存 我错过了什么吗 该应用程序基于 Vuforia 增强现实系统 大量借鉴了 ImageTargets 示例 我需要
  • 使用 Metal 进行屏幕撕裂和相机捕捉

    为了避免同时从 gpu 和 cpu 写入常量缓冲区 Apple 建议在信号量的帮助下使用三重缓冲系统 以防止 cpu 领先于 gpu 太多 这很好 并在现阶段至少有三个金属视频 然而 当常量资源是 MTLTexture 并且 AVCaptu
  • 使用硬件加速内容截取 WKWebview 的屏幕截图

    我在截屏时遇到严重问题WKWebview内容当有硬件加速内容 一些在 iframe 内运行的特定赌场游戏 到目前为止 我使用了像大家建议的标准截图方式 UIGraphicsBeginImageContextWithOptions conta
  • Android——在 OnDrawFrame 方法之外将 GLSurfaceView.Renderer 置于睡眠状态(如 Thread.sleep(20))

    我想控制 GLSurfaceView Renderer 的渲染速率 我在扩展 GLSurfaceView 的类中实现了一个线程 并在 while true 循环中定期将其置于睡眠状态 这不会减慢渲染器的速度 有一个很好的答案here htt
  • Java嵌套内部类访问外部类变量

    嵌套内部类ABar和BBar是否可以访问主类的变量 例如 public class Foo public ABar abar new ABar public BBar bbar new BBar public int someCounter
  • libgdx 中帧缓冲区的结果不明确

    我得到以下奇怪的结果帧缓冲区 http libgdx badlogicgames com nightlies docs api com badlogic gdx graphics glutils FrameBuffer htmllibgdx
  • 在 OpenGL 中移动相机时出现故障

    我正在为 iPhone 编写一个基于图块的游戏引擎 除了以下故障之外 它基本上可以正常工作 基本上 相机将始终将玩家保持在屏幕中央 并且它会移动以正确跟随玩家并在静止时正确绘制所有内容 然而 当玩家移动时 玩家行走的表面瓷砖会出现故障 如下
  • iOS glGenerateMipmap 是同步的,还是可能是异步的?

    我正在开发一个在 OpenGL ES 中使用大纹理的 iPad 应用程序 当场景首次加载时 我在天花板上看到了几帧的大型黑色伪像 如下图所示 就好像更高级别的 mipmap 尚未填充 在后续帧中 天花板正确显示 当我开始使用 mipmapp
  • 访问被拒绝查找属性 ro.vendor.hwui.texture_cache_size

    在启动活动时我收到此错误 Access denied finding property ro vendor hwui texture cache size 在 Android OREO 之前一切都工作正常 但在 Android Pie 中却
  • 在 OpenGL ES 1.1 中将多个纹理绑定到一个网格

    如果我有一个网格 例如有 6 个面的立方体 每个面分别由 4 个顶点组成 总共 24 个顶点 并且我想对每个面应用不同的纹理 我该怎么做 目前 我使用 glDrawElements 一次绘制整个网格 立方体的所有 6 个面 将所有索引提供到
  • WebGL:enablevertexattribarray索引超出范围

    这是我的顶点和片段着色器
  • Android OpenGLES 渲染到纹理

    我为 iPhone 编写图形应用程序 并且希望将我最新的应用程序 Layers 移植到 Android 平台 Layers 是一款绘画应用程序 允许用户在屏幕上绘画并使用不同的画笔 颜色等创建多层绘画 并导出到 PSD 它有桌面同步 涂抹工
  • iPhone OpenGL ES 单视图还是多视图?

    我很困惑为 iPhone 编写游戏时最好的方法是什么 游戏将使用 OpenGL 渲染 但我很好奇创建开始屏幕 菜单 高分页面等 您是否使用 OpenGL 完成所有这些操作 或者创建额外的 UIView 并使用 UIKit 我认为没有最好的方
  • Android 纹理仅显示纯色

    我正在尝试在四边形上显示单个纹理 我有一个可用的 VertexObject 它可以很好地绘制一个正方形 或任何几何对象 现在我尝试扩展它来处理纹理 但纹理不起作用 我只看到一种纯色的四边形 坐标数据位于 arrayList 中 the ve
  • Cocos2d - 将 GLImageProcessing 效果应用于 CCSprite

    苹果的oplenglGL图像处理 http developer apple com library ios samplecode GLImageProcessing Introduction Intro html加载图像并应用图像调整 亮度
  • 径向渐变绘制性能 - OpenGL-ES 可以改进吗?

    我正在开发一个图像处理应用程序 它将径向渐变叠加在从照片库加载的图像上 在屏幕上 我有一个滑块可以动态地增大 减小径向渐变的半径 我发现模拟器上的性能很好 但在 iPhone 3G 或 3GS 上就很糟糕了much移动滑块时重绘速度较慢 我
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • OpenGL (ES 2.0) 动态改变线宽

    我目前正在使用大量的工具绘制模型GL LINES全部在统一的半径内 我知道glLineWidth将改变半径all线 但它们各自应该有不同的半径 我想知道是否可以使用glLineWidth 以不同的方式 或其他功能 我还应该怎么做呢 将它们渲
  • Android 中的 OpenGL 缩小

    我正在使用 3D 对象并渲染它并通过扩展 GLSurfaceView 实现渲染器来显示它 问题是如何通过捏合和捏合进行缩小 下面是我的班级 package com example objLoader import java nio Byte
  • 不明确的 OpenGL 默认相机位置

    在我的Opengl程序中 在我应用透视投影矩阵之前 每当我绘制一些对象时 我都会在世界坐标系的原点处绘制它 但是几乎所有Opengl教程都指出相机 我的投影视图 位于原点朝向正 z 轴 这取决于您稍后如何处理投影矩阵中的 z 值 但是如果这

随机推荐

  • 上传压缩图片

    我是安卓新手 我创建了一个应用程序来将图像上传到服务器 它非常适合小尺寸图像 但对于较大图像 gt 1 MB 这不起作用 这是我上传图片的功能 class UploadFile extends AsyncTask
  • 在android studio 0.2.8中导入外部库

    我试图将外部库导入到 android studio 中的 android 项目中 这里的许多答案都说它可以从设置中的项目结构中的模块完成 但是自 0 2 8 更新以来 项目结构中没有库 模块 我现在如何导入外部库 也许这是 0 2 8 更新
  • 将数据获取到复杂性:未调用 ExtensionDelegate

    看起来前几周其他人也遇到过这个问题 但我还没有找到任何解决方案 我正在尝试做一件非常基本的事情 将数据从我的 iOS 应用程序或我的 Watch 应用程序获取到我的复杂功能控制器 事实证明 我完成这件事的能力比我想象的要差得多 watchO
  • pub get 错误:无法创建链接...(操作系统错误:函数不正确)

    我在尝试获取 Angular dart Codelab 的包时遇到错误 10 01 28 Running pub get Pub get failed 1 Resolving dependencies Cannot create link
  • Flyway 在空模式上发现非空模式

    我正在尝试实施数据库迁移Flyway 4 2 0 Oracle 11g 我有这个空架构 当我尝试迁移时 Flyway 说 造成原因 org flywaydb core api FlywayException 发现非空 模式 PASHA 没有
  • 具有 CSS 变量的 SVG 半径或位置

    是否可以在 SVG 中使用 CSS 变量来操作 中的半径或位置 等值属性样式 一个元素 例如 在下面的代码中 我添加了一个 CSS 颜色变量 dark text clr和一个半径变量 radius 当我使用填充中的颜色 CSS 变量 htt
  • JavaFX HBox 对齐

    我一直在使用 JavaFX 开发一个软件 但我遇到了一个愚蠢但令人担忧的问题 在代码的某些部分我有一个HBox 并且 其中包含三项 image a label and a VBox 问题是我想要image向左对齐 即紧挨着左边距window
  • 无法在 mac osx 10.10 上构建 python gevent

    概要 pip install gevent不起作用 深入挖掘 我下载了gevent tar gz并手动运行构建 python setup py build 得到同样的错误 running build running build py run
  • 存储没有大小的字符串文字数组 - 关于数组大小的简单模板

    我正在探索存储没有 sidecar 大小信息的文字数组 任何类型 的方法 我已经概述了一些方法 但每种方法都有一些挥之不去的问题 这是最简单的方法 模板超过数组大小 请注意 这是一个简单的测试用例 实际的类可能具有其他成员 其他模板参数以及
  • 使用 XadES-BES 算法通过 XMLDSIG 进行 XML 验证

    程序使用的某些信息使用 xml 格式的输入文件 这些文件具有以下结构
  • 从 Word VBA 编辑工作簿(无论打开还是关闭)

    我正在尝试在 Word 中编写宏 以便可以将一些信息保存到计算机其他位置的 Excel 文件中 为此我写了这个 Dim exlApp As Object Dim exlWbk As Object Set exlApp CreateObjec
  • 如何使 TextView 的内容可水平和垂直滚动

    我想滚动在 TextView 中查看的结果 这是我的 xml
  • 即使在 java 8 中,SecureRandom 的创建也很慢

    我搜索了这个问题 我的印象是 它在 java 8 中得到了解决 但是突然间 我开始在基于 ubuntu 14 04 的新虚拟机中遇到这个问题 2015 07 27 14 56 35 324 INFO 11809 localhost star
  • 限制C#程序使用的最大内存

    我需要限制 C 程序使用的最大内存 即进行安排 以便如果其内存消耗超过一定限制 它将立即崩溃 而不是继续向操作系统请求更多内存 代码已经正确且高效 但内存消耗在运行时根据输入数据的不同而变化不可预测 某些输入数据集仅使用几兆字节后就可以正确
  • 如何让 Eclipse 打印出 unicode 中的奇怪字符?

    所以我试图让我的程序输出一个包含名称列表的文本文件 有些名字有奇怪的字符 例如 str m 我已经从以 UTF 8 编码的网页中获取了这些名称列表 或者至少我很确定它确实如此 因为页面源代码说 元http equiv 内容类型 内容 tex
  • 为什么我的虚拟方法没有被覆盖?

    class Base public Base cout lt lt base class lt
  • 访问 scriptlet 数组索引中 struts 迭代器的索引值

    使用Struts2 我用逗号分隔String我的图像标题 在迭代图像以在 JSP 上呈现时 我需要将标题与特定图像一起显示 但无法获取任何特定标签来分割标题String超过分隔符并访问特定标题 我正在尝试下面的代码 但不知道使用什么来代替某
  • 如何使用 Polygon() 在概率密度曲线下方着色

    我无法获取polygon 遮荫below分布一直到 x 轴 它似乎在指数分布之上y x线 这是我到目前为止所拥有的 x lt seq 0 50 0 01 y lt dexp seq 0 50 0 01 rate 0 11 plot x y
  • Python 中通过切片列表赋值的紧凑方法

    我有以下清单 bar a b c x y z 我想要做的是分配第一个 第四个和第五个值bar into v1 v2 v3 有没有比这更紧凑的方法 v1 v2 v3 bar 0 bar 3 bar 4 因为在 Perl 中你可以这样做 my
  • 在 OpenGL ES 1.1 中绘制一个切出扇形的圆

    我正在尝试使用 OpenGL ES 1 1 绘制以下形状 好吧 我被困住了 我真的不知道该怎么办 我的游戏目前使用 Android 的 Canvas API 它不是硬件加速的 所以我用 OpenGL ES 重写它 Canvas 类有一个名为