首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我用GL.POINTS绘制的这些体素不是直线呢?我怎么才能修复它?

GL.POINTS是OpenGL中的一个绘制模式,用于绘制点。根据你的描述,你使用GL.POINTS绘制的体素不是直线,可能是因为你没有正确设置绘制的顶点坐标。

要修复这个问题,你可以尝试以下几个步骤:

  1. 确保你的顶点坐标是正确的:检查你的顶点坐标数组,确保每个顶点的坐标都是正确的。如果顶点坐标不正确,那么绘制出来的体素就会出现问题。
  2. 使用正确的绘制模式:如果你想要绘制直线,而不是点,你应该使用其他的绘制模式,例如GL.LINES或GL.LINE_STRIP。GL.LINES用于绘制一系列的线段,而GL.LINE_STRIP用于绘制一条连续的线段。
  3. 检查绘制顺序:如果你使用GL.LINES或GL.LINE_STRIP绘制直线,确保你的顶点坐标的顺序是正确的。例如,如果你想要绘制一条从点A到点B的直线,那么你的顶点坐标数组应该是[A, B]。
  4. 检查OpenGL状态:确保你正确设置了OpenGL的状态,例如设置绘制颜色、线宽等。如果状态设置不正确,可能会导致绘制出来的体素不是直线。

总结起来,修复这个问题的关键是确保顶点坐标的正确性和使用正确的绘制模式。如果问题仍然存在,你可以进一步检查OpenGL的状态设置和其他相关参数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

三人团队,七天“不眠不休”,我们赶在 Vision Pro 发布的那一刻做出了一款头显应用

作者 | Bruno Oliveira 译者 | 王强 策划 | Tina 我一直都是 3D、VR 和 AR 技术的爱好者,而且我很幸运,到目前为止,我的工程职业生涯中很大一块儿做的都是这些领域的项目。...小组件,它的模型可以从窗口中拿出来: 从侧面看的细节视图 现在,你可以点击“添加到游乐场”,然后你的柯基犬会进入一个气泡里供你操作(否则这些对象该怎么用呢?)...我们在 Rooms 应用中已经做了一个体素编辑器,如下所示: Rooms 应用中的体素编辑器 所以我们很自然地想到“为什么不在 visionOS 上尝试这个想法呢?”...用眼睛来做精密工作并不是很舒服。我们的眼睛很快就会因为重复地从一个表面移动到另一个表面来放置体素而感到疲劳。...如果我们可以简单地用食指指向我们想要修改的体素,并做一个手势来编辑它会怎么样?

13110

3D绘图小帮手WebGL入门与进阶(中)——着色器的基本编程

程序创建完之后,我们需要需要对着色器进行动态控制才能达到我们所需要的功能。(如不知道怎么创建WebGL,可参考上篇文章)。...首先让我来介绍2个变量,我们需要借助这2个变量搭建的桥梁才能使JavaScript与GLSL ES之间进行沟通。 attribute: 用于顶点点着色器(Vertex Shader)传值时使用。...,但是不是我们接下来要讲的,因为在3D绘制的时候是会经常出现大批量点、线、面的绘制的,所以WebGL提供了一种承载机制来达到传递多点的能力,说了这么多,也让我们来看看它到底是什么吧。...缓存区中已经存储了多个顶点坐标,接下来我们需要将此数据运用到对应的着色器上,才能真正的绘制出来可视化图像,如何传递呢?...gl.drawArrays(gl.POINTS, 0 , 200); 看看屏幕吧,是不是出来了好多点?

1.3K40
  • 像素时代的黄昏和“淘宝叛军”

    比如:《仙剑奇侠传》里李逍遥就是用“像素”拼成的,而在《我的世界》里,主角史蒂夫就是由体素组成的。 2、再解释一下什么是“体素时代”。...(这两把钥匙我用绿色字体表示,后面说到钥匙的时候,我还会用绿色标注。) 灰烬之下,开始有了新芽。 (三)体素时代的“商品详情页” 不妨把进度条拉到2021年,也就是我们今天故事的前夜。...比如一个吸尘器,有很多组件、吸头,它们怎么装配才能吸地毯,怎么装配才能吸瓷砖呢?...于是,这些3D商品怎么才能“低成本”、“大量地”建模制作出来,就成了迫切需要解决的问题。 巧了,在淘宝技术团队,恰好有一群大牛在研究这个问题。...所以,我只想小心翼翼地客观呈现这些大牛们的努力: 他们只是从自己熟悉的家园出发,用各自的方式开始了远征,为体素时代悄悄准备“砖石”——一旦未来降临,我们手中不至于赤手空拳。

    49940

    分享一波学习方向

    什么是“好”的技术,为什么“火” 前言:这个是个人观点,技术要用在合适的业务场景中才能体现出它的优势,而不是盲目的去学,去看 解决现今开发的技术痛点 协程 回调地狱,切换线程等功能 a()//耗时任务...插件化 这项技术虽然已经不怎么“新”了,大家也都知道了它的优势和解决的痛点: 1.动态更新app (是整个APP都更新,不是热修复那种补丁包单独修改某个问题。...怎么样?看着这些知识,是不是已经蠢蠢欲动了哈哈,而且系统源码可是Google工程师写的,选用的数据结构和算法也必然是优秀的,从中又可以学到不少知识。...:0 //代表之后的操作 val a=0 这个时候他不会返回0,也就是阻塞住了,a=0一直不会走到。这是为什么呢?这里涉及到协程的异常取消机制了。 协程中创建了子协程后,会默认建立父子关系。...刚刚创建的子协程是不支持取消的,所以一直堵塞住了。 怎么解决的呢?

    27620

    “新”for me,2022一起来看看这些技术

    什么是“好”的技术,为什么“火” 前言:这个是个人观点,技术要用在合适的业务场景中才能体现出它的优势,而不是盲目的去学,去看 解决现今开发的技术痛点 协程 回调地狱,切换线程等功能 a()//耗时任务...插件化 这项技术虽然已经不怎么“新”了,大家也都知道了它的优势和解决的痛点: 1.动态更新app (是整个APP都更新,不是热修复那种补丁包单独修改某个问题。...怎么样?看着这些知识,是不是已经蠢蠢欲动了哈哈,而且系统源码可是Google工程师写的,选用的数据结构和算法也必然是优秀的,从中又可以学到不少知识。...:0 //代表之后的操作 val a=0 这个时候他不会返回0,也就是阻塞住了,a=0一直不会走到。这是为什么呢?这里涉及到协程的异常取消机制了。 协程中创建了子协程后,会默认建立父子关系。...刚刚创建的子协程是不支持取消的,所以一直堵塞住了。 怎么解决的呢?

    21320

    android绘制虚线

    有的时候我们需要一种虚线效果,比如图片的边框,愤怒的小鸟的飞翔路径,那么怎么绘制这些虚线呢?方法很多,目前我觉得好的有两种: 一、自己创建模式,一个点一个点的绘制。...二、用Android提供的 DashPathEffect 类来创建模式绘制。 下面我要演示的就是第二种方法,用Android提供给我的API来绘制。...如本代码中,绘制长度1的实线,再绘制长度2的空白,再绘制长度4的实线,再绘制长度8的空白,依次重复.1是偏移量,可以不用理会....DashPathEffect 可以使用DashPathEffect来创建一个虚线的轮廓(短横线/小圆点),而不是使用实线。你还可以指定任意的虚/实线段的重复模式。...当绘制它的时候,需要指定每一段的长度和与原始路径的偏离度。 PathDashPathEffect 这种效果可以定义一个新的形状(路径)并将其用作原始路径的轮廓标记。

    2.3K60

    从零开始一起学习SLAM | 给点云加个滤网

    这样才能够更好的进行配准,特征提取,曲面重建,可视化等后续应用处理。 小白:那太好啦,PCL都帮我们想到啦,我迫不及待的想要实践一下啦。具体怎么操作呢?...方便我需要的时候去查查用哪个的那种?...该函数对输入的点云数据创建一个三维体素栅格,每个体素内用体素中所有点的重心来近似显示体素中其他点,这样该体素内所有点都用一个重心点最终表示。它的优点是可以在下采样的时候保存点云的形状特征。...小白:嗯,了解啦,不过我有个问题,我想要用这个下采样类时怎么知道它有哪些函数可以用呢?...小白:哈哈,离群点就是脱离群众的坏点,明白啦!不过这些点不是很少吗?有必要赶尽杀绝吗? 师兄:“赶尽杀绝”,很形象的比喻!

    1.1K10

    第二回:内存揭奥秘,总线解玄机

    刚说完,阿飞的眼前又划出了一道光亮,光线指向的远处,他看到了另一个庞然大物。 “这是硬,硬盘?” ? “没错,我这里不是久留之地,一旦断电了数据就都消失了。...“那我怎么才能从这里到硬盘里去呢?”...,阿飞失望的说到。 “你嫌慢?CPU大哥估计还不愿意干这活呢” “啊?为什么?”...“看来我学的课本真过时了,你赶紧帮我联系一下,我很着急啊”,阿飞催促到。 “这可不行,我只是一个总线从设备,只能被动接收命令时使用总线,只有总线主设备才能主动使用总线,等着吧” 等?...内存又忍不住笑了出来,“总线可不是一根线,那可是几十上百根线呢,数据、地址、时钟还有各种控制信号,一根线哪里够” “原来如此,我一直以为总线就是一根线呢,看来又被课本上的图给误导了···”,阿飞若有所思的说到

    63750

    为什么 sin(x²)+sin(y²)=1 的图像这么复杂?

    有规律的正弦波叠加 该函数由8个正弦波叠加组成,每个波有它的振幅和频率。然而世事无常,每个波的振幅和频率决不会那么地有规律,如果用随机数设置这8个波的振幅和频率,可以得到如下图像: ?...至于为什么设置12.9898和43758.5453123这两个常数值,我也不知道呀!大神的思维不是我等凡人所能理解的,我只知道如果设置了其他数,生成的数值可能就不够随机了。 2 二维三维.........每一个函数都是让人头晕目炫,凭我怎么去想,也想不清晰这些函数应该是什么样。...这是个三维函数,属于体素数据,是个实心的。要看体素的内部数值,可以使用体绘制,但我只有显示其切片的办法。当然切片不一定是平面,可以用个曲面来切,将切到的数值以颜色的形式显示出来。...sin(x²)+sin(y²)=1 不过我更愿意将z转化成一个像素值而不是高度值,下图为将z转化成灰度值生成的一幅黑白图像: ? 灰度图 可以将z = 1的区域用红色标识一下: ?

    75530

    记忆中的像素块褪色了吗?用开源的体素编辑器重新做个 3D 的吧!

    像素(Pixel)的概念对应到 3D 空间中就是体素(Voxel),使用离散的基本单位来表示 3D 空间中的物体,最直白的理解就是一个个小方块,“我的世界”就是一款非常著名的体素游戏。...有了它人人都可以尝试自己制作出 3D 像素作品,回味童年的味道。...我在测试时发现 Linux 平台上存在严重 bug 会导致无法绘制方块或者无法使用 UI,建议使用 Mac 进行尝试。 二、界面介绍 ?...类似传统的编辑器软件,界面中间区域是进行体素绘制的部分,点击鼠标左键并拖动进行笔刷操作。 2.1 工具栏按钮介绍 ? 工具栏按钮使用红框划出,分为两类:撤销重做与笔刷控制。...五、最后 曾在各种视频内容中看到过作者在 MC 中创造各种美丽的景观,实现各种有趣的想法,现在使用这款编辑器亦可做到相同的事情,加上编辑器内提供的各种操作工具,能够使创作者们更加方便快捷地去绘制添加体素

    78720

    WebGL简易教程(一):第一个简单示例

    NeHe的学习教程还有之前用的《OpenGL编程指南》第七版(也就是红宝书)都非常好,可惜它们都是从固定管线开始讲起的;而现在可编程管线的技术已经是非常常见的基础技术了。...正好最近我在研究GIS中地形的绘制,那么我就通过一步一步绘制地形的示例,来总结WebGL的相关知识。...如果你不懂GIS这些术语也不要紧,只需要知道我这里的最终目的是想绘制的是一个大地高程模型,是一个包含XYZ坐标的点集,表达了地形的情况。 2....如果你只学习过固定管线或者其他的二维绘图组件(如GDI),就会非常困惑着色器是什么,为什么要用着色器。比如说在固定管线中,绘制点就是drawPoint,绘制线就drawLine。...(6) 绘制操作 gl.drawArrays(gl.POINTS, 0, 1):绘制一个点。

    1.8K10

    带你实现漂亮的滑动卷尺

    前言 HenCoder最近在搞一个仿写活动,活动地址 http://hencoder.com/activity-mock-1/,之前关注过他写的关于绘制系列的文章,今天就拿这个来练练手,我选择模仿的是薄荷健康的滑动卷尺效果...知道了当前值就在水平的中间位置,那么是不是就可以发推出来最左边的第一条刻度线呢?找到第一条刻度线后再顺序往右画出当前可显示的所有刻度即可。怎么找,请看下面这张很丑的图: ?...是不是特别像小学数学计算距离的应用题?如果你看不懂,那证明我不做老师是对的,所以不是你的问题。 3、画三角形 三角形怎么画?折腾折腾发现canvas有画矩形、画圆等api,但是没有画三角形的api。...这就得借助canvas.drawPath来实现(灵感出自你的知识储备),控制好三个点的坐标就行。根据视觉图三角形位置是:顶部,中间。 ? 为什么先画刻度线而不是先画三角形?...onTouchEvent,提到关于事件传递的概念) 这些知识看起来都比较零碎,那如何才能让自己在自定义View、ViewGroup是没那么吃力呢,换句话说自定义View应该掌握哪些知识?

    1.1K100

    Gmail测试工程经理Ankit Mehta的访谈

    在最初的几年,Ankit Mehta一直在和测试自动化代码打交道。他作为技术经理的第一个大项目正是Gmail。 Gmail是个巨大挑战。它非常庞大,涉及很多快速发展的部分。...Ankit:加入一个新项目的头几个星期,我主要用来倾听而不是发表意见。深入理解团队非常重要,要学习产品的架构,了解团队的最新动态。我不能接受一位医生在观察我不到五分钟的时间就给我开具抗生素类的药品。...为什么你会想到这个用例?为什么你选择把这个任务自动化而不是那个任务?为什么我们要投入做这个工具?   ...每次执行测试结果都会由绿(成功)变红(失败),然后再花大力气修复这些测试,让他们能够再变绿。开发团队没有过多质疑这种做法,由于这些测试通常还是能发现一些重要问题的,因此这种做法就一直延续下来了。...这样团队才能获得真正的成就感,而不是好多事情在他们手里没有完成。如果这些工作最后都能积极地影响到产品质量,那么我也会感到特别高兴。

    81460

    OpenGLES进阶教程7-天空盒效果

    2、纹理坐标到纹素推导(核心) 纹理坐标(s, t, r)被当作方向向量看待,每个纹理单元都表示从原点所看到的纹理立方体上的图像。...如果是texture2D的情况,纹理坐标(s, t)会直接返回相应位置的纹素; textureCube的情况,首先读取cube纹理,然后以正方体中心为原点,(s,t,r)为方向,求出正方体和方向向量的交点位置...考虑到立方体的面为[-1, 1],那么可以把 (t/s + 1) / 2,这样就得到真正的纹素坐标( (t/s + 1) / 2, (r/s + 1) / 2) 3、顶点数据对象切换(核心) glBindVertexArrayOES...) 新的顶点数据对象(VAO) 扩展会几率当前上下文中的与顶点属性相关的状态,并存储这些信息到一个小的缓存中。...最后偶然在苹果的文档中看到一个关键词OES,我似乎明白了什么。 OES是OpenGL ES的一个非标准扩展,天空盒里面有用到,而我并没有处理。 尝试用OES来管理飞机的顶点模型。

    1.4K60

    受用一生的高效 PyCharm 使用技巧(二)

    指定参数执行脚本 你在 Pycharm 运行你的项目,通常是怎么执行的?我的做法是,右键,然后点击Run,或者使用快捷键 Shift + F10 。...这些测试文件的搜索结果,对于我们看源代码不仅没有任何帮助的,更重要的是还干扰视线。于是我就研究了一下,从文件名入手,只要在 File mask 里填写 !test* 可以将这些test文件过滤掉。...关闭碍眼的波浪线 下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 wangbm 会有波浪线呢? ?...Pycharm 本身会实时地对变量名进行检查,如果变量名不是一个已存在的英文单词,就会出现一条波浪线,当一个变量里有多个单词时,Python 推荐的写法是用下划线来分隔(其他语言可能会习惯使用驼峰式命名法...那么如何关闭这个非语法级别的波浪线呢?很简单,它的开关就在你的右下角那个像 人头像 一样的按钮 ? 然后选择 Syntax 级别的即可。同样一段代码,效果如下,干净了很多。 ?

    58820

    受用一生的高效 PyCharm 使用技巧(二)

    指定参数执行脚本 你在 Pycharm 运行你的项目,通常是怎么执行的?我的做法是,右键,然后点击 Run,或者使用快捷键 Shift + F10 。...这些测试文件的搜索结果,对于我们看源代码不仅没有任何帮助的,更重要的是还干扰视线。于是我就研究了一下,从文件名入手,只要在 File mask 里填写 !test* 可以将这些test文件过滤掉。...关闭碍眼的波浪线 下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 wangbm 会有波浪线呢? ?...Pycharm 本身会实时地对变量名进行检查,如果变量名不是一个已存在的英文单词,就会出现一条波浪线,当一个变量里有多个单词时,Python 推荐的写法是用下划线来分隔(其他语言可能会习惯使用驼峰式命名法...那么如何关闭这个非语法级别的波浪线呢?很简单,它的开关就在你的右下角那个像 人头像 一样的按钮 ? 然后选择 Syntax 级别的即可。同样一段代码,效果如下,干净了很多。 ?

    85120

    干掉雷达!特斯拉前AI总监Karpathy解密离职和纯视觉方案

    「这些传感器不是免费的,不可能凭空出现在车上。不仅需要有一个完整的供应链,还需要有人负责采购,」而这些都是要花真金白银的。 同时,传感器可能会故障,需要更换。...他高度赞扬前老板马斯克化繁为简的能力,「我认为埃隆很擅长简化,他曾说:『最好的部件是没有部件。』他总会尝试抛弃那些不重要的东西,一直在做减法,因为他了解组织的熵增现象。」...虽然纯视觉方案获得Karpathy的大力支持,但当Lex问及如何看待激光雷达和纯视觉方案,以及点云和体素之间的区别时,Karpathy坦言:两者不是自动化驾驶的重点。 他说:「我一直看不懂这个争论。...因为这不是问题的核心。我觉得大家在讨论自动化时应该关注是否有路测车队作为支撑。这个才是人工智能系统能否更好服务的关键。」 因此,在考虑传感器的探测能力时必须要全面。...驾驶者可以像看谷歌地图一样,通过这些关键信息理解自己所处环境。」 「特斯拉在驾驶系统中使用和谷歌地图类似分辨率的信息。但不会预先绘制厘米级精度的地图。

    27950

    《大话脑成像》系列之五——fMRI中的FDR校正

    Vaa表示该体素本来就应该激活(Truly active),我们进行统计推断发现它确实激活了(Declared active)(确实是激活,真的不是脉动,也不是红牛啊)。...Via表示该体素本来不应该激活(Truly inactive),我们进行统计推断发现它居然激活了(Declared active)(这不应该啊,这不科学啊,幻觉!这一定是幻觉)。...FDR公式如下: 或者,我们可以用中文表达该公式: (为什么是岳不群,而不是东方不败加日月神教=武林至尊,一统江湖?...(鄙人表示,你不懂我) 最后举个例子:假设大脑总共有50000个体素(V=50000),通过假设检验发现有20000个体素的P不是感觉很晕,感觉智商不够用,感觉不会再爱了,这个时候你就会用非常期待,渴求的眼神对我说,大神,救救我们这些小白吧,我走上人生巅峰,迎娶白富美,怒嫁高帅富的机会就只有你能给我了,而此时我作为一名广告从业者

    2.4K61

    linux 驱动移植_免驱动led灯好吗

    大家好,又见面了,我是你们的朋友全栈君。...这篇文章主要的内容如下: 1.对平台总线的简介; 2.led驱动的移植。 一.平台总线 首先介绍一下,我们为什么要简单介绍一下平台总线呢?...不用猜,大家肯定知道,每个电路板的电路都有不同,那怎么才能把一个led灯的驱动程序做成与具体的平台无关呢?这就用到了platform总线模型。...地方嘛,在static struct platform_device *smdkv210_devices[] __initdata这个结构体里,看看它里面的内容应该知道怎么注册了吧,对,就是简单地加入一句...哈哈,现在应该编译一下内核了,要不然内核怎么知道你移植led驱动了,当然了,这得首先配置内核。再次进入linux-3.3.5源文件当中,用make menuconfig命令开始咱们的配置界面。

    2.1K20

    Flutter 绘制探索 4 | 深入分析 setState 重建和更新 | 七日打卡

    系列引言 可能说起 Flutter 绘制,大家第一反应就是用 CustomPaint 组件,自定义 CustomPainter 对象来画。...这就是 State#setState ,一个触发刷新的工具,它的好与坏,不是取决于它的本身,而是使用它的人。 注:文章结尾有总结,注意查收,毕竟正文不是每个人都能看完的。...的内存地址一直都是 #1dbcd。...在第一篇也说过,对于有 滑动 或 动画 需求的绘制,重建触发的频率非常大,此时即使对象是 轻量的,也会在短时间内创建大量对象,这样不是很好。...就像一边让人家在底层干活,一边说着别人的坏话一样。对应 setState 我们要注意的是它刷新元素的层级,而不是否定它。

    2K20
    领券