- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试图通过添加混合渲染到 FBO 来计算每个像素被写入的总次数来近似“轨迹密度”。
问题是 (1) 位移大的元素会因为线较长而被计数更多次,以及 (2) 由于用于绘制线的像素数也取决于线的角度。
我想根据用于绘制线条的像素数来加权为每个元素绘制的像素数。那么有什么方法可以做到这一点吗?在最坏的情况下,我可以将长度和角度作为属性发送并估计像素数。有一个更好的方法吗?或者是否有更好的替代方法来完成我想做的事情?
最佳答案
您可以使用GL_SAMPLES_PASSED
查询。
GLuint q;
glGenQueries(1, &q);
glBeginQuery(GL_SAMPLES_PASSED, q);
glDrawArrays(GL_LINES, 0, 2);
glEndQuery(GL_SAMPLES_PASSED);
GLint num_pixels;
glGetQueryiv(GL_SAMPLES_PASSED, GL_QUERY_COUNTER_BITS, &numPixels);
printf("num_pixels = %d", num_pixels);
glDeleteQueries(1, &q);
关于c++ - 有没有办法确定每个 GL_LINE 元素将写入多少像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36194089/
我在使用 GL_LINES block 时遇到问题……下面示例中的线条没有连接到末端(尽管有时它会随机决定连接一个或两个角)。相反,端点彼此相距 1 像素(留下一个未完全平方的角;如果这有意义的话)。
一段时间以来,我一直对 GL_LINES(以及 GL_LINE_LOOP 和 STRIP)感到好奇,我想知道 GL 实现通常如何处理它们。他们是否从线的端点和宽度推断出四边形?它会做一些更原始和更专业
我正在尝试使用 OpenGL 和 Pygame 创建一个 3d Rubiks Cube。但是,当我尝试在我创建的 GL_QUADS 表面上绘制线条时,它们没有显示出来。 我已经尝试将 GL_LINES
我想绘制一个删除隐藏边缘的对象的边缘。我想应用的想法是首先将对象的面渲染到深度缓冲区,然后在第二遍中绘制边缘并启用深度测试。 由于并非所有三角形边都应该可见,因此这些边是单独存储的(简单示例:在立方体
考虑以下代码: glColor4ub(255, 255, 255,255); glBegin(GL_QUADS); glVertex2i(100, 100); glVertex2i(300, 100)
我试图通过添加混合渲染到 FBO 来计算每个像素被写入的总次数来近似“轨迹密度”。 问题是 (1) 位移大的元素会因为线较长而被计数更多次,以及 (2) 由于用于绘制线的像素数也取决于线的角度。 我想
我试图用下面的代码画一条线,它的工作原理: // Include standard headers #include #include // Include GLEW #include // I
我所说的“类似钢笔”的笔画是这样的:当你用圆珠笔在纸上画画时。您将获得一 strip 有圆形开头和结尾的线条。如果我的解释不够好,请参阅 http://java.sun.com/docs/books/
glEnable(GL_CULL_FACE); glCullFace(GL_FRONT); glPolygonMode(GL_BACK,GL_LINE); 在上面的代码示例中,glPolygonMod
一段时间以来,我一直在使用 OpenGL 来制作 3D 应用程序,但我从来没有真正理解在生产阶段使用 GL_POINT 和 GL_LINES 原始绘图类型用于 3D 游戏。 (哪里)OpenGL 中的
我正在尝试以正常填充模式渲染图元,然后将其渲染为线框。 渲染代码: glClear(GL_COLOR_BUFFER_BIT); glClearColor(0.9f, 0.9f, 0.9f, 1); /
我被要求制作一个简单的旋转木马,通过鼠标左右点击来旋转。对于我使用的棍子 GL_LINES我遇到的问题是无法定义法线 vector 或类似我在 GL_POLYGON 中所做的事情使照明正确。我在网上搜
我无法让我的着色器在纹理的周边运行。我正在关注 https://learnopengl.com/作为指南并使用索引顶点绘制线基元。问题是只绘制了右侧和底部的线,缺少顶部和左侧。 我编写了一个小程序来尝
我正在努力开发一款仅使用程序生成的线条绘制的新 iOS 游戏。除了绘制一些图元时出现一些奇怪的问题外,一切都运行良好。 我正处于需要实现文本的位置,字符被设置为数组中的一系列点。当我去绘制点(CGPo
我正在尝试使用着色器在 OpenGL 中绘制 3D 线条...到目前为止还没有办法做到这一点。 我的工作正常: void draw_bonds (int nbonds) { glDisable (
我正在编写一个 OpenGL 库,它可以使用屏幕坐标绘制点、线和矩形。但是,我不知道如何将屏幕坐标转换为剪辑或相机坐标。我正在使用现代 OpenGL(顶点数组和顶点缓冲区,以及着色器)。 这基本上就是
如果我使用 GL_LINES 或 GL_LINE_STRIP 渲染多段线,我是否可以假设具有低顶点索引的线段首先绘制到帧缓冲区?比如,当我使用顶点 v0、v1、v2 指定线带时,我是否可以假定先渲染线
首先,这段代码的目的是什么? glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); 我可以放在那里 GL_DONT_CARE 但它不会让我画线,除非我使用 glDisable
我有以下程序,但我无法弄清楚为什么 glColor4f() 调用不会导致 glDrawArrays() 的输出出现红线,任何人都可以吗告诉我我做错了什么?由于某种原因正在输出一条白线。现代版本的 GL
我刚刚完成了我的 iOS 应用程序的第一个版本,Corebox ,现在正在开发一些新功能。 其中一项新功能是对 OpenGL 渲染进行“小”调整,以强制某些对象永远不会被绘制为小于最小尺寸。所有需要这
我是一名优秀的程序员,十分优秀!