问题标签 [glpointsize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iPhone/iPad 设备上的 OpenGL 渲染 GL_POINTS 看起来很糟糕(但在模拟器中看起来完全没问题)
我创建了一个在 iOS 上使用 GLKView 渲染的 OpenGL ES 游戏。我还添加了一些位于 GLKView 顶部的自定义 UIButton。在渲染中,我使用GL_POINTS
渲染模式绘制了一些星星。在模拟器中一切都很好,但在设备上看起来很糟糕。
我想知道是否有人对我应该在设备上配置/注意的事情有任何建议,这些事情可能需要设置才能获得正确的渲染图像。
以下是结果的几张图片:
模拟器
设备
(请忽略自定义按钮的缩放差异 - 设备屏幕截图是在 iPad 上拍摄的)。
qt - 如何在 Qt OpenGL 中应用 glPointSize(float)?
我刚开始研究 Qt OpenGL。我可以用它在屏幕上画一些简单的形状。我需要在 QWidget 的屏幕上绘制各种大小的点。我为此使用了标准glPointSize(float)
。这似乎不起作用。我为此编写了一个命令行程序,并且运行良好。任何人都可以帮忙吗?
opengl - ATI glsl 点精灵问题
我刚刚将我的渲染代码移动到我的笔记本电脑上,并且遇到了 opengl 和 glsl 的问题。
我有一个这样的顶点着色器(简化):
和一个片段着色器,它使用 gl_Pointcoord 读取纹理并设置片段颜色。在我的 c++ 程序中,我尝试按如下方式绑定 tile_size:
(只是为了澄清我已经设置了一个使用 glUseProgram 的程序,显示的只是关于这个特殊制服的片段)
现在像这样设置我得到一个像素点并且发现opengl无法绑定unif_tilesize(它被设置为-1)。
如果我在我的顶点着色器中交换评论,我会得到 12px 点的精灵。
特别是在我的另一台计算机上完全相同的代码工作得很好。我笔记本电脑上的 opengl 版本是 2.1.8304,它运行的是 ATI radeon x1200(参见我桌面上的 nvidia 8800gt)(如果这是相关的......)。
编辑我更改了问题标题以更好地反映问题。
opengl - 在 Vbo 中显示具有不同点大小的网格?
我正在尝试在 openFrameworks 中将网格显示为带有 Vbo 的点。
我希望所有的点都有不同的大小,有没有办法做到这一点?
java - LWJGL 顶点着色器 gl_PointSize 不起作用
我正在尝试更改 LWJGL 中顶点着色器中点的大小,但无法使其正常工作。如果我尝试从着色器更改点大小,点大小始终为 1px。
顶点着色器:
片段着色器:
绘制代码:
我的目标是动态更改点大小,但我无法从着色器更改点大小。如果我调用此代码:
从java开始,大小会改变,但我希望能够为每个点做到这一点。我已启用我的着色器来更改点大小:
澄清一下:我可以渲染所有的点,一切都很好,但点的大小始终是 1px。我也没有使用平滑点。
编辑:glGetFloat(GL_POINT_SIZE_RANGE) 返回 1.0,这应该表明我的硬件不支持 1.0 以外的其他点大小。但是,如果我从以下位置修改我的绘制代码:
至:
当 massBuff 包含值为 1f - 10f 的随机浮点数时,我得到了完全想要的结果,但性能较差。所以,我的硬件显然支持它,我仍然希望能够从着色器中做到这一点。
编辑:我也试过:
这也不起作用。该程序的行为就像我从未启用 GL_PROGRAM_POINT_SIZE,因为它使用 glPointSize() 如果它存在于 java 代码中。据我了解,如果启用了 GL_PROGRAM_POINT_SIZE,所有对 glPointSize() 的调用都将被忽略,并且程序希望着色器设置该值,但即便如此,如果代码中存在 glPointSize() ,则会使用它。
ios - iOS - 缩放/调整 GLKView
我在GLKView
with中渲染 GL_POINTS 图像width & height = .25
,这意味着它的尺寸等于屏幕尺寸的四分之一。我想让它的尺寸与屏幕的尺寸相匹配,即比现在大 4 倍。我设法将点设置gl_PointSize
为 4。(是 1。)并x & y
适当地修改,但这会使渲染速度慢 16%:有没有更快的方法来实现相同的结果?
opengl - gl_PointSize 是如何工作的
来自 DX 背景,我试图准确理解 gl_PointSize 和 gl_PointCoord 的工作原理/方式。我在网上和手册页上搜索过,但对它们没有很好的解释。假设我有一个 300x300 的输出缓冲区,我定义了一个具有 90,000 个点的顶点着色器,对应于 300x300 缓冲区中的每个位置(每个维度的增量为 1)。现在在顶点着色器中,如果我将 gl_PointSize 定义为 2,它会调用片段着色器 90,000 次还是 360,000 次?如果是 360,000 次,我可以理解 gl_PointCoord 代表什么。但是如果只有 90,000 次,那是否意味着每个片段输出就代表 4 个像素?在这种情况下, gl_PointCoord 代表什么?它不会总是 0.5,0.5 而不是真的有用吗?
谢谢
opengl - 从 GL_POINT 到相机的距离确定 gl_PointSize
我正在使用 GL_POINTS 绘制
glDrawArrays(GL_POINTS, 0, numberOfPoints)
每个点的大小在我的顶点着色器中使用gl_PointSize
. 我从顶点着色器glm::lookAt(origin, eye, up)
中设置点的 xyz 位置获取视图矩阵。gl_Position = view * proj * vec4(position, 1.0)
我希望点的大小随着与相机原点的距离的减小而增加,并且随着与相机原点的距离的增加而减小。就像正常的视角一样。从它到相机的距离,我如何确定一个点的大小?
c++ - Qt OpenGL点大小
我正在将 QOpenGLFunctions 与现代 OpenGL 一起使用。我想在我的窗口上画一些 GL_POINTS 但点的大小似乎真的很小。通常,您可以更改点的大小
但是,QOpenGLFunctions 包装器中不存在此代码段,因此我不确定如何更改它们。
绘制 GL_TRIANGLES 对我来说效果很好。
我想绘制点以显示真实世界对象的点云。
opengl - 如何在感知投影中渲染大小恒定的圆?
无论项目深度如何(在透视投影中),我都想渲染一个以像素为单位大小恒定的圆圈。
当我使用 glPointSize 时,与深度相关的大小有一个小的差异(近处的物体比远处的大)。
功能描述指出:
指定的点大小乘以距离衰减因子并钳制到指定的点大小范围,并进一步钳制到依赖于实现的点大小范围以生成使用的派生点大小。
有没有办法完全光栅化一个点?